Skip to content

MngUpdateCashierCustomerProviderOverride

Creates or updates a customer-level Cashier provider override.

CRM can use this method from a customer card to manually allow or deny a payment provider/method for that customer. This is the manual override layer above default provider eligibility rules.

Access

SESSION_MANAGER, SESSION_ADMIN, SESSION_DEALER, SESSION_CRM_MANAGER, SESSION_CRM_ADMIN.

Request Parameters

Name Type Required Description
id int No Existing override id. If omitted or 0, a new override is created
customer_id int Yes Target customer id
brand string Yes Brand scope
provider string Yes Provider code
provider_config_id int No Exact provider config id. If omitted, Cashier resolves by provider/method/brand
method string No Provider method marker
mode int No 0 allow, 1 deny. Default is allow
min_amount double No Override minimum amount, 0 keeps provider config value
max_amount double No Override maximum amount, 0 keeps provider config value
enabled int No 1 enabled, 0 disabled
reason string No Internal reason code
comment string No Manager comment
expires_time int No Optional expiration timestamp, 0 means no expiration

Request Example

{
  "command": "MngUpdateCashierCustomerProviderOverride",
  "extID": "1",
  "data": {
    "customer_id": 5,
    "brand": "ion4",
    "provider_config_id": 1,
    "provider": "stripe",
    "method": "card",
    "mode": 0,
    "min_amount": 25.0,
    "max_amount": 10000.0,
    "enabled": 1,
    "reason": "VIP_ALLOW",
    "comment": "Manual allow from customer card",
    "expires_time": 0
  }
}

Response

Returns the saved override.

{
  "override": {
    "id": 3,
    "customer_id": 5,
    "brand": "ion4",
    "provider_config_id": 1,
    "provider": "stripe",
    "method": "card",
    "mode": 0,
    "min_amount": 25.0,
    "max_amount": 10000.0,
    "enabled": 1,
    "reason": "VIP_ALLOW",
    "comment": "Manual allow from customer card",
    "expires_time": 0,
    "created_time": 1779270000,
    "updated_time": 1779270000
  }
}

Notes

  • mode = 0 can make a provider visible to a customer even if normal country/currency rules do not match.
  • mode = 1 hides the provider/method for that customer.
  • Overrides are applied from Cashier cache immediately and synchronized to bases/cashier.db through the Cashier DB queue.
  • Overrides do not bypass hard runtime checks: provider module loaded, provider config enabled, brand match, account ownership, and account enabled.