Execute payment to beneficiary with specified bank details.
ISO 3166-1 alpha-3 Country Code
Source currency. Must be the currency of the quote in quote; the amount is converted to the local currency at that quote's rate.
Valid currency quote id (UUID4) as returned by POST /v2/quote. Quote currency must match base currency.
The payout amount, in the DESTINATION (local) currency - INR for country=IND, PKR for PAK, and so on. Send the amount_destination value returned by POST /v2/quote verbatim; do not recompute it. Note the naming trap: amount is the SOURCE amount on POST /v2/quote and the DESTINATION amount here. The value is rounded to 2 decimal places and must fall inside the quote's min_amount_destination / max_amount_destination band, which is the only amount check performed - a value outside the band is a 400.
Full name of the beneficiary (name and surname).
Beneficiary address (street and number)
Bank account id of the beneficiary. The same value POST /v2/validate_account takes as account_number.
Beneficiary mobile number in ITU E.164 format: the destination country's calling-code prefix followed by the national number, with no spaces, hyphens or parentheses.
If specified, must be a valid email address
Supplementary info and notes for tracking the transaction.
Expiry date for the sender identity document
Sender country (nationality) (ISO 3166-1 alpha-3 Country Code)
Sender residency/address (street and number)
Sender residency/country (ISO 3166-1 alpha-3 Country Code)
What the beneficiary is to the sender: father means the beneficiary is the sender's father. Use own for a transfer to the sender's own account.
| Enum Value | Description |
|---|---|
| inlaws | The beneficiary is a relative by marriage. |
| other | None of the listed relations. |
| own | The beneficiary is the sender: a transfer to the sender's own account. Use this value. |
| self | Same as |
Unique ID provided by API user. Alphanumerics and -, _, ., # only.
Timestamp of the order (will be filled in automatically server side)
Bank account type
Sender identity document type
| Enum Value | Description |
|---|---|
| idcard | A national identity card, issued by the sender's country of citizenship. |
| other | Any other government-issued identity document. |
| passport | A passport. |
| resident_card | A residence identity card, issued by the sender's country of residence. |
- Mock serverhttps://docs.leanx.me/_mock/openapi/v2/payment
- Leanx Test serverhttps://api.leanxtest.me/v2/payment
- Leanx Production serverhttps://api.leanx.me/v2/payment
curl -i -X POST \
https://docs.leanx.me/_mock/openapi/v2/payment \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"amount": 100,
"bank_branch_code": "ABBLBDDH201",
"bank_name": "Bangladesh Bank",
"beneficiary_account_number": "9934572443993487",
"beneficiary_account_type": "savings",
"beneficiary_address": "Main Road",
"beneficiary_city": "Dhaka",
"beneficiary_email": "bashir.ahmed@domain.com",
"beneficiary_mobile": "+8801700000000",
"beneficiary_name": "Bashir Ahmed",
"country": "BGD",
"currency": "AED",
"quote": "00000000-0000-4000-A000-000000000000",
"remarks": "test",
"sender_address": "Jumeirah Beach Road",
"sender_birthdate": "1970-01-01",
"sender_city": "Dubai",
"sender_country": "ARE",
"sender_identity_doc": "A987654",
"sender_identity_doc_country": "ARE",
"sender_identity_doc_exp": "2038-01-19",
"sender_identity_doc_type": "idcard",
"sender_mobile": "+9715850185684",
"sender_name": "Ahmed Ahmed",
"sender_relation": "other"
}'Successful Response
Payment state. Release funds to your customer only on succeeded.
Free-text processing message. Not a failure reason; do not parse it.
Payout (destination) currency.
Source currency from the quote.
The payout converted to wallet_currency at the quote's wallet_rate. Premium and transaction cost are reported separately.
A coin a balance can be denominated in.
Despite the name, not every member is dollar-pegged. Payouts settle in USDT or USDC today; ETH is accepted by the type but no provider settles in it.
Transaction cost charged, in wallet_currency.
{ "id": "00000000-0000-4000-A000-000000000000", "msg": "OK", "status": "queued", "timestamp": "2024-12-01T01:02:03.000000Z" }