Skip to content

MngCreateManualCashierWithdrawal

Creates a manual Cashier withdrawal transaction with provider = "manual" and source = 1.

When process_now = 1, Cashier immediately posts OP_BALANCE_OUT through Core::SetBalance with TR_REASON_CASHIER_WITHDRAWAL. The amount in the API is positive; Cashier sends a negative balance amount internally.

Access

SESSION_MANAGER, SESSION_ADMIN, SESSION_DEALER, SESSION_CRM_MANAGER, SESSION_CRM_ADMIN.

Requires set_finance and customer/account scope access. If process_now = 1, approve_finance is also required.

Request Parameters

Name Type Required Description
login int Yes Trading account login
amount double Yes Positive withdrawal amount
currency string Yes Transaction currency. Must match account group currency
customer_id int No Customer id. Defaults to account-linked customer
method string No Manual method marker
provider_payment_id string No External/manual reference
idempotency_key string No Customer-scoped idempotency key
comment string No Manager comment
metadata_json string No Additional JSON metadata
process_now int No 1 to debit account immediately

Response

Returns transaction.

Errors

Code Error Description
400 CURRENCY_CONVERSION_REQUIRED Currency does not match account group currency

Request Example

{
  "command": "MngCreateManualCashierWithdrawal",
  "extID": "1",
  "data": {
    "login": 2000009,
    "amount": 50.0,
    "currency": "EUR",
    "comment": "Manual withdrawal",
    "process_now": 0
  }
}