Callback
The merchant can track status changes via asynchronous callbacks.
The callback URL is sent in the request body in the result_url field
A callback is a POST request with an HMAC-authenticated JSON body. Signature is formed exactly like an API request signature. The callback body always matches the response body of the corresponding status response.
Payment callback body example:
{
"success": true,
"payment_id": "321",
"order_id": "123",
"currency": "USD",
"create_date": "2021-01-20 16:51:58",
"result_date": "2021-01-20 16:57:49",
"card_pan": "444444******1234",
"transaction_status": "completed",
"status_code": null,
"status_description": null,
"amount": "3.77",
"amount_gross": "4.00",
"transactions": [],
"signature": "d08f44dea934b8d72ce21207f3698006dc7f9ef85655adb3d2a28be72dbc340c"
}
Key deposit callback fields
| Field | Meaning |
|---|---|
transaction_status | Final transaction status (see Transaction statuses) |
order_id | Order / payment ID on your side |
payment_id | Transaction ID on our side |
amount | Amount added to the merchant balance |
amount_gross | Amount charged from the customer |
currency | Alpha currency code (e.g. USD) |
status_code | can be null or number (see the Error Codes) |
status_description | can be null or string (see the Error Codes) |
Invoice callback body example
Invoice callback body example:
{
"invoice_id": "321",
"transaction_status": "completed",
"order_id": "123",
"amount": "98.00",
"amount_gross": "100.00",
"currency": "USD",
"created_at": null,
"updated_at": null,
"status_code": null,
"status_description": null,
"signature": "b19e0d164a23b8fcc547795a237075478d23e6963deacec5404cc50caf0ddfc4"
}
Payout callback body example
Payout callback body example:
{
"order_id": "123",
"payout_id": "321",
"payout_status": "payout_completed",
"amount": "100.00",
"full_amount": "105.00",
"amount_gate": "100.00",
"status_code": null,
"status_description": null,
"currency_gate": "USD",
"success": true,
"signature": "7f0950cdf9aca9344a4b0506e9e20cc13561546ec63a4373f31d2251d9575f42"
}
Key payout callback fields
| Field | Meaning |
|---|---|
payout_status | Final payout status (see Transaction statuses) |
order_id | Order / payout ID on your side |
payout_id | Transaction ID on our side |
amount | Actual amount received by user |
full_amount | Amount debited from the merchant balance |
amount_gate | For a case when processed currency different from request currency. By default same as amount |
currency_gate | Alpha currency code (e.g. USD) |
status_code | can be null or number (see the Error Codes) |
status_description | can be null or string (see the Error Codes) |
Verifying the callback signature
The signature above was created with the key c8a4e2cc008ae5cc32de78c498b1ac53b921360d611373900aead96c410b5de0.
When building the string to sign:
exclude fields whose value is an object (null, [], ); convert a boolean true to the string "true".
The resulting string for the example is:
123|2021-01-20T16:51:582Z|2021-01-20T16:57:492Z|3.77|321|4.00|444444******1234|USD|completed|true