Skip to main content

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:

StageMethodDescription
1checkPreliminary verification
2payPayment execution

Result Codes

The processing result is returned in the result parameter.

CodeMeaning
0Success
Other final codeOperation completed with an error
Temporary codeRetry required
Note

If the code is temporary, the Agent must retry the request with increasing intervals until a final status is received.