Notifications
Notifications about changes in transaction statuses are sent via callback from our Back-end to the address specified in the notify_url parameter (prepare_payment) and are received only for those payments that were created through the Octo system API.
Callback notifications
Callback structure
json
{
"shop_transaction_id": "7339d5be-871b-45d8-ab07-dbbd51364c2f",
"octo_payment_UUID": "4556a13e-f763-4b91-9387-92395fd51ccf",
"status": "succeeded",
"signature": "64F35398F22FE63FE780583F8BEEDE170094CE5D",
"hash_key": "e27d3f79-3189-44e9-8a66-566a141025df",
"total_sum": 1,
"transfer_sum": 0.97,
"refunded_sum": 0,
"card_country": "UZ",
"maskedPan": "427831** **** 3011",
"rrn": "436456776123",
"riskLevel": 0,
"payed_time": "2024-12-25 15:25:14",
"card_type": "internationalVisa"
}Callback parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| shop_transaction_id | String | Yes | Unique transaction identifier in the partner's system |
| octo_payment_UUID | String | Yes | Unique payment identifier in the Octo system |
| status | String | Yes | Payment status |
| signature | string | Yes | Cryptographic signature for data authenticity verification |
| hash_key | String | Yes | Hashing key for data validation |
| total_sum | Decimal | No | Total payment amount |
| transfer_sum | Decimal | No | Amount credited to the partner’s account after commission deduction |
| refunded_sum | Decimal | No | Amount refunded to the client (if there was a refund) |
| card_country | String | No | The country where the card was issued |
| maskedPan | String | No | Masked client card number |
| rrn | String | No | Retrieval Reference Number — unique transaction identifier in the processing system |
| riskLevel | Integer | No | Transaction risk level (e.g., from 0 to 5) |
| payed_time | String | No | Date and time of successful payment in YYYY-MM-DD HH:MM:SS format |
| card_type | String | No | Card type |
| is_physical_card | Boolean | No | Flag indicating whether the card is physical (true) or virtual (false) |
Note
Verification of signature and hash_key is performed by calculating the hash using the formula:
sha1(unique_key, uuid, status) where:
- unique_key - provided by the "OCTO" technical team;
- uuid – the payment identifier (e.g.,
octo_payment_UUID); - status – the payment status (
succeeded,canceledetc.).
Notification Setup
- The URL for receiving notifications must be specified in the shop's Personal Account.
- The specified URL will be displayed in the
notify_urlparameter in all requests related to these payments.
Note
Ensure that the specified URL is valid and accessible for processing notifications from Octo.