Payout creation
Interaction
Your server sends a request to create a transaction (deal) and receives a transaction ID.
The system processes the transfer to a user to the specified requisites and sends a webhook notification to your server about the successful or unsuccessful payment.
Backend integration
The API is designed to integrate your backend with the system for processing payments to user's requisites. You can create a payout request by specifying the amount, payment requisites, cashier ID and your webhook link to receive notifications about the transaction status.
The API supports various types of payment requisites, including bank cards and phone numbers for transfers via the 'SBP' payment method.
Request
POST
https://repay.cx/payout_api/v1/external/payout_deals/
Headers
api-key
string
Сashier's API key
Body
amount
string (number)
Transfer amount
bank_id
string
Bank ID matching the requisites
option_id
string
Bank ID if the transfer is made via 'SBP' payment method
requisites
string
Card number, phone or requisites of the recipient
requisites_type
string
Requisites types:
card_number
for cards
phone_number
for 'SBP' payment method
account_number
for transfers by account number
webhook_url
string
Address for receiving a webhook with the result of processing the transaction
order_id
string
Your internal transaction ID
payload
object
Additional information for user identification including user_id
payload.user_id
string
Unique client ID on your side
cURL Example
curl -X POST https://repay.cx/payout_api/v1/external/payout_deals/ \
-H "api-key: cashier_api_key" \
-H "Content-Type: application/json" \
-d '{
"amount": 1000,
"bank_id": "bd02ced3-36a5-4aad-b0af-bf1f86065a79",
"requisites": "2202098765432109",
"requisites_type": "card_number",
"webhook_url": "https://domain.com/webhook",
"order_id": "0001",
"payload": {
"user_id": "bd01ced4-36a4-4aad-b0af-bf1f86095a79"
}
}'
Response
Example of a successful response
{
"status_code": 200,
"error": {},
"payload": {
"id": "3fac9f77-776a-4567-b5b5-fc75f5349889",
"state": "created",
"bank_id": "bd02ced3-36a5-4aad-b0af-bf1f86065a79",
"bank_name": null,
"bank_title": null,
"merchant_title": null,
"option_id": null,
"option_name": null,
"option_title": null,
"requisites_num": "2202201374695646",
"requisites_type": "card_number",
"amount": "1000.000",
"commission": "1.0196",
"commission_sign": "₮",
"amount_usdt": "11.2161",
"webhook_url": "https://google.com/webhook",
"currency_sign": null,
"currency_name": null,
"payload": {},
"order_id": "ee772cd7-64e6-42e1-bd6f-b213d5e06872",
"created_at": "2024-10-04T12:42:03.310889+00:00",
"external_order_id": null,
"merchant_id": null,
"user_id": null,
"cheques": []
}
}
payload
object
Basic payload of the response with transaction data
payload.id
string
Unique identifier of created transaction
payload.state
string
Status of transaction, for example created
payload.bank_id
string
Bank ID linked to the requisites
payload.requisites
string
Card or requisites number
payload.requisites_type
string
Requisites types:
card_number
phone_number
payload.amount
string (number)
Amount of transfer in fiat currency
payload.comission
string
Amount of сomission
payload.comission_sign
string
Merchant’s transaction tether
payload.amount_usdt
string (number)
Amount of transaction in USDT
payload.webhook_url
string
URL to send a webhook notifying about the status of transaction
payload.order_id
string
ID you provided when creating a transaction
payload.created_at
string
Creation time of transaction
Example of an unsuccessful response
If the card number does not match the bank of the method:
{ "detail": "Invalid card number" }
If the cashier balance is insufficient to make a payment:
{ "detail": "Not enough money" }
If the card number is not valid:
{ "detail": "Invalid requisites" }
Possible errors
400
Bad request
Incorrect request
Last updated