Disbursement: Verify Payout Possibility
Related API Reference
API Reference: Check if disbursement possible
Introduction
Before initiating a disbursement using the Carusell Payments API, verify that the payout is eligible for processing. This check ensures that recipient details are valid, sufficient funds are available, and compliance conditions are met — reducing the risk of failed or rejected payouts.
This step is optional and not required for every disbursement.However, performing a verification check before initiating the disbursement is strongly recommended, especially for new recipients or large payouts.
What You Need to Verify a Disbursement
Single-transaction check:Each verification request can be used to check only one disbursement. If you need to validate multiple disbursements, send separate requests for each.
To submit a verification request, you must prepare the following information:
| Requirement | Description |
|---|---|
| Access Token | Bearer token for authentication. See Auth: Get Access and Refresh Tokens. |
| Settlement Account ID | The account from which the payout will be made. |
| Sender (Payer) | The profile or account ID of the sender in your system. |
| Receiver (Payee) | The beneficiary’s account information, such as bank details or wallet ID. |
| Receiver Platform Code | Identifier of the payout method/platform. See Supported Payment Methods for a list of available codes. |
| Platform Account | The receiver’s platform-specific account ID (e.g., IBAN, wallet number). |
| Disbursement Amount | The amount and currency to be disbursed. |
How It Works

Possible Outcomes
Verification does not guarantee success.The check reflects conditions at the time of the request. If another transaction consumes available funds before your disbursement is submitted, it may still fail.
Cross-Currency Amounts and Rounding
For cross-currency disbursements, the converted payout amount is rounded up to two decimal places for payout processing and in the created-disbursement response. Standard rounding to the nearest value is not used. An amount that already has no more than two decimal places remains unchanged.
The POST /disbursements/check response may contain a converted amount with more than two decimal places, without applying the payout rounding rule. This value may therefore differ from the created payout amount even when the exchange rate remains the same.
For example, converting 10 RUB at an exchange rate of 4.902425058124757550 KZT per RUB gives:
| Calculation | Amount |
|---|---|
| Conversion result before payout rounding | 49.02425058124757550 KZT |
| Standard rounding to the nearest value | 49.02 KZT |
| Payout amount, rounded up to two decimal places | 49.03 KZT |
A check response containing 49.024250… KZT and a created payout amount of 49.03 KZT are consistent with this rounding rule.
The amount returned by the check depends on the payment route. When comparing it with the created disbursement, verify that both values represent the same amount in the same currency. Use paymentAmount.currency to identify the currency of paymentAmount.value.
Updated 8 days ago
