Withdrawal callbacks
Sent to your callback URL whenever the status of a withdrawal changes.
Body
Withdrawal ID.
The foreign_id you provided when creating the withdrawal via the API.
For withdrawals initiated in the portal, where no foreign_id is provided, the field contains the time the withdrawal was created:
- for single withdrawals, the Unix time in milliseconds — for example,
"1790694052541" - for individual withdrawals from a mass payout, the fraction of the second and the Unix time in seconds, separated by a space — for example,
"0.42905800 1790595801"
Withdrawal type:
withdrawal: standard withdrawalwithdrawal_exchange: standard withdrawal with conversionwithdrawal_instant: instant withdrawalwithdrawal_instant_exchange: instant withdrawal with conversion
withdrawal, withdrawal_exchange, withdrawal_instant, withdrawal_instant_exchange Details of the address the funds are withdrawn to.
Transactions related to the withdrawal. Every withdrawal has one blockchain or internal entry, and withdrawals with conversion have an additional exchange entry. The transaction_type field shows what each entry is:
blockchain: the outgoing transaction on the blockchaininternal: the outgoing transaction for an off-chain withdrawal, which is never sent to the blockchainexchange: the conversion before the withdrawal, present only for withdrawals with conversion
- blockchain
- internal
- exchange
Fees charged for the withdrawal.
The reason the withdrawal was declined or cancelled. Empty string otherwise. For declined withdrawals, the value is Declined by user ID:<id>: the withdrawal wasn't approved and was declined by the user with this ID.
Use this field to determine whether the withdrawal was successful. For cancelled and declined withdrawals, use the error field to determine the reason.
confirmed: the withdrawal has been completed and can be treated as final on your sidepending: the withdrawal exceeds the configured withdrawal limits and is awaiting approvaldeclined: the withdrawal exceeds the configured withdrawal limits, wasn't approved, and was declinedcancelled: the withdrawal was cancelled and will not be completed. Common reasons, as returned in theerrorfield:Address is invalid: there is a mistake in the specified address, and it does not match the format required for the specific currencyNot enough money on balance: at the time of initiating the withdrawal, you did not have enough funds in the balance of the currency being withdrawn. Top up the balance and reinitiate the withdrawal. Automatic conversion is not possible for security reasons, so the balance must be in the exact currency being withdrawn and you must convert the funds manuallyTotal of negative balances exceeds the allowed value: the total negative balances across all currencies exceed<amount>. Top up your balance and reinitiate the withdrawalDestination account tag is required: the destination address requires a tag (also called a memo or destination tag) to send the funds to the correct recipient, but none was provided in the withdrawal request. Specify the required tag and reinitiate the withdrawal
No callbacks are sent while a withdrawal is processing. A confirmed callback is sent once the transaction is confirmed in the blockchain, and a cancelled callback if the withdrawal fails.
confirmed, pending, declined, cancelled The end_user_reference you provided when creating the withdrawal via the API. Use it to identify the customer who received the withdrawn funds. Absent for withdrawals initiated in the portal.
The currency and amount taken from your balance. Present only in confirmed callbacks, both for withdrawals with and without conversion.
The currency and amount sent to the address. Present only in confirmed callbacks, both for withdrawals with and without conversion.
Present only for withdrawals initiated in the portal, including individual withdrawals from a mass payout. These callbacks are sent only if business wallet transactions callbacks are enabled in Configure callbacks.
business_wallet