Integration GuideAPI Reference
Integration Guide

Disbursement: Verify Payout Possibility

Related API Reference

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:

RequirementDescription
Access TokenBearer token for authentication. See Auth: Get Access and Refresh Tokens.
Settlement Account IDThe 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 CodeIdentifier of the payout method/platform. See Supported Payment Methods for a list of available codes.
Platform AccountThe receiver’s platform-specific account ID (e.g., IBAN, wallet number).
Disbursement AmountThe 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.

👍

Verification Passed

✔ Recepient's account is valid

✔ Recepient is eligable to receive payouts (not blacklisted)

✔ Recepient name is correct

✔ There is sufficient funds on your Disbursement Account

❗️

Verification Failed.

✘ Invalid account format

✘ Unsupported country or method

✘ Insufficient funds

✘ Blocked recipient

✘ Regulatory restriction

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:

CalculationAmount
Conversion result before payout rounding49.02425058124757550 KZT
Standard rounding to the nearest value49.02 KZT
Payout amount, rounded up to two decimal places49.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.



Did this page help you?