Skip to content

MngAddCashierProviderConfig

Creates a brand-level payment provider configuration.

Cashier uses normalized fields for routing and eligibility (provider, brand, method, currency, country, limits, enabled). Provider-specific credentials and behavior are stored in config_json and passed to the loaded payment module when the provider instance is created.

Access

SESSION_MANAGER, SESSION_ADMIN, SESSION_DEALER, SESSION_CRM_MANAGER, SESSION_CRM_ADMIN.

Request Parameters

Name Type Required Description
provider string Yes Provider code returned by the payment module
brand string Yes Brand code
method string No Payment method marker, for example card
country string No Country filter. Empty means all countries
currency string No Currency filter. Empty means all currencies
settings_json string No Optional non-secret provider settings JSON string
config_json string No Provider-specific configuration JSON string
min_amount double No Minimum payment amount
max_amount double No Maximum payment amount. 0 means no limit
sandbox int No 1 sandbox, 0 production
enabled int No 1 enabled, 0 disabled
sort_index int No Sorting priority

Provider-specific values such as merchant ids, API keys, webhook secrets, terminal ids, and URLs must be stored inside config_json.

Request Example

{
  "command": "MngAddCashierProviderConfig",
  "extID": "1",
  "data": {
    "provider": "praxis",
    "brand": "ion4",
    "method": "card",
    "country": "",
    "currency": "USD",
    "settings_json": "{}",
    "config_json": "{\"merchant_id\":\"merchant-id\",\"application_key\":\"application-key\",\"secret_key\":\"merchant-secret\",\"webhook_secret\":\"webhook-secret\",\"api_base_url\":\"https://api.praxis.example\",\"cashier_base_url\":\"https://cashier.praxis.example\",\"api_version\":\"1.3\",\"locale\":\"en\"}",
    "min_amount": 10.0,
    "max_amount": 5000.0,
    "sandbox": 0,
    "enabled": 1,
    "sort_index": 100
  }
}

Response

Returns the created provider config. Sensitive fields, including config_json, are hidden in the response.

{
  "provider": {
    "id": 1,
    "provider": "praxis",
    "brand": "ion4",
    "method": "card",
    "country": "",
    "currency": "USD",
    "settings_json": "{}",
    "config_json": "",
    "min_amount": 10.0,
    "max_amount": 5000.0,
    "sandbox": 0,
    "enabled": 1,
    "sort_index": 100,
    "created_time": 1779270000,
    "updated_time": 1779270000
  }
}

Notes

  • The provider code should match a loaded runtime payment module.
  • Config is applied to Cashier cache immediately.
  • SQLite synchronization is queued through the Cashier DB strand.
  • If enabled is 1, Cashier copies the matching provider .so to var/sttrader/payments under a unique runtime name and creates a dedicated provider instance with this config.
  • One payment module can have multiple configs for different brands, methods, currencies, countries, or sandbox/prod routes.