Skip to content

Cashier API

Cashier API handles customer-visible deposit and payment transaction flows.

The module creates a local cashier transaction first, then routes the payment request to a loaded payment provider module. Provider modules are responsible for provider-specific payment creation, redirects, and status normalization. Balance crediting is owned by the server-side Cashier flow.

Before creating a deposit, the client should call GetCashierMethods for the selected trading account. The response is already filtered by brand, account currency, customer country, enabled provider configs, loaded payment modules, and customer-level CRM overrides.

CustomerRecord.deposit_allowed is checked as a hard customer-level deposit gate before Cashier method eligibility. CustomerRecord.withdrawal_allowed is reserved for the withdrawal flow.

Methods

Method Endpoint Description
GetCashierMethods GET /cashier/methods Returns payment methods available for a customer account
CreateCashierDeposit POST /cashier/deposit Creates a customer deposit transaction and starts provider payment flow
CreateCashierWithdrawal POST /cashier/withdrawal Creates a customer withdrawal request for manual processing
GetCashierTransactions GET /cashier/transactions Returns customer cashier transaction history
ProcessCashierWebhook POST /cashier/webhook/{provider} Receives provider webhook and applies transaction lifecycle updates

Authorization

Customer-facing Cashier REST methods require SESSION_CUSTOMER. ProcessCashierWebhook is public and must be protected by provider signature validation in the payment module.

Statuses

Value Name Description
0 created Transaction record was created
1 pending_payment Waiting for customer/provider payment action
2 provider_confirmed Provider confirmed successful payment
3 credited Funds were credited to the trading account
4 credit_failed Provider confirmed payment, but server crediting failed
5 failed Payment flow failed
6 cancelled Payment was cancelled
7 refunded Payment was refunded
8 chargeback Payment was charged back
9 manual_review Manual BackOffice review is required