General Exchange Rules
Operation Identifiers
Every operation on the Agent's side must have a unique identifier agentTransactionId. This identifier is used for reconciliation and dispute resolution.
On the processing side, each operation has its own identifier transactionId. It is returned in responses and used to locate the payment in the processing system.
Amounts
amountTo and amountFrom are transmitted as decimal numbers with precision up to two decimal places. A dot is used as the separator:
180.00
Operation Date
In the pay request, the agentTransactionDate field is transmitted in YYYY-MM-DDThh:mm:ss format and reflects the date the Agent received the request from the client. This date is used for reconciliation and accounting.
Payer Identifier
The payer identifier is transmitted in the account field. The field may contain a phone number, account number, login, email, or other values - depending on the service.
The validity of the account value must be verified on the Agent's side using the regular expression obtained from the service directory.
Additional Data
If a service requires additional data, it is passed in the extras object. This may include an order number, email, terminal ID, payment type, and other values.
{
"extras": {
"orderId": "ORD-123456",
"email": "client@example.com",
"terminalId": "T001",
"paymentType": "card"
}
}
Payment Stages
A payment is processed in two stages:
| Stage | Method | Description |
|---|---|---|
| 1 | check | Preliminary verification |
| 2 | pay | Payment execution |
Result Codes
The processing result is returned in the result parameter.
| Code | Meaning |
|---|---|
0 | Success |
| Other final code | Operation completed with an error |
| Temporary code | Retry required |
If the code is temporary, the Agent must retry the request with increasing intervals until a final status is received.