Order Status Retrieval
The status of a payment order can be obtained in two ways. Both approaches return the same data structure and can be used independently or together, depending on the merchant’s integration strategy.
Available Methods
1. Order Status API Request
The merchant can actively request the current status of an order using its unique identifier (uuid).
- HTTP Method:
GET - Endpoint:
/api/public/v1/acquiring/order/{uuid} - Authentication: API Key + Signature
This method is typically used for:
- Manual status checks
- Periodic polling
- Debugging or reconciliation processes
2. Webhook Notifications
If a webhook_url was provided during order creation, the system will automatically send HTTP callbacks to this URL whenever the order status changes.
Webhook notifications are recommended as the primary mechanism for tracking order lifecycle events, as they provide real-time updates without the need for polling.
Order Status Response Example
Both the API request and webhook notifications return the same response structure.
{
"success": true,
"data": {
"uuid": "09710bb5-7a49-4321-8824-1a39ef99cd30",
"terminal_uuid": "fa03e78f-4b2e-4da0-a3ca-6a8cd05ad468",
"amount": 300,
"currency": {
"token_address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"name": "Tether USD",
"symbol": "USDT",
"decimals": 6
},
"wallet": {
"wallet_address": "0x26dCF2eA9a10F5EAA6500d88920CC45f64e7e52a",
"wallet_qr": "<base64-encoded-qr>",
"network": "ethereum"
},
"external_order_id": "1",
"external_client_id": "1",
"external_data": {
"key": "value"
},
"status_id": 1,
"status": "Created",
"webhook_url": "https://example.com/webhook",
"is_test": true,
"created_at": "2026-01-01T12:00:00.000000Z",
"transaction_end_at": null,
"expired_at": "2026-01-01T12:30:00.000000Z"
}
}Response Fields Description
| Field | Description |
|---|---|
uuid | Unique identifier of the payment order |
terminal_uuid | Terminal under which the order was created |
amount | Payment amount in smallest token units |
currency | Token details used for the payment |
wallet | Wallet address and QR code for customer payment |
external_order_id | Merchant-side order identifier |
external_client_id | Merchant-side client identifier |
external_data | Arbitrary metadata attached to the order |
status_id | Internal numeric status identifier |
status | Human-readable order status |
webhook_url | Webhook URL associated with the order |
is_test | Indicates whether the order was created in test mode |
created_at | Order creation timestamp |
transaction_end_at | Timestamp when payment was completed (if applicable) |
expired_at | Order expiration timestamp |
Order Status Lifecycle
An order progresses through multiple statuses during its lifetime. Each status change triggers a webhook notification (if configured).
Typical lifecycle example:
-
Created – Order created, awaiting payment
-
Pending – Payment detected, awaiting confirmations
-
Paid – Payment successfully confirmed
-
Expired – Payment window expired without receiving funds
-
Failed – Payment failed or invalid
The exact list of statuses and their meanings is described in the Order Statuses section of this documentation.
Recommended Integration Approach
-
Use webhooks as the primary source of truth for order status updates
-
Use the order status API as a fallback or for manual verification
-
Always process webhooks idempotently, as the same event may be delivered more than once
This approach ensures reliable and scalable tracking of payment orders within your system.