Общие правила обмена
Идентификаторы операций
Каждая операция на стороне Агента должна иметь уникальный идентификатор agentTransactionId. Этот идентификатор используется для сверки взаиморасчётов и урегулирования спорных ситуаций.
На стороне процессинга каждой операции соответствует собственный идентификатор transactionId. Он возвращается в ответах и используется для поиска платежа в системе процессинга.
Суммы
Суммы amountTo и amountFrom передаются как десятичные числа с точностью до сотых. В качестве разделителя используется точка:
180.00
Дата операции
В запросе pay поле agentTransactionDate передаётся в формате YYYY-MM-DDThh:mm:ss и отражает дату получения запроса от клиента на стороне Агента. Именно эта дата используется при взаиморасчётах и бухгалтерской сверке.
Идентификатор плательщика
Идентификатор плательщика передаётся в поле account. Поле может содержать номер телефона, лицевой счёт, логин, email и иные значения - в зависимости от услуги.
Корректность значения account должна проверяться на стороне Агента по регулярному выражению, полученному из справочника услуг.
Дополнительные данные
Если услуга требует дополнительные данные, они передаются в объекте extras. Это могут быть номер заказа, email, номер терминала, тип платежа и другие значения.
{
"extras": {
"orderId": "ORD-123456",
"email": "client@example.com",
"terminalId": "T001",
"paymentType": "card"
}
}
Этапы платежа
Платёж выполняется в два этапа:
| Этап | Метод | Описание |
|---|---|---|
| 1 | check | Предварительная проверка |
| 2 | pay | Непосредственное проведение |
Коды результата
Результат обработки возвращается в параметре result.
| Код | Значение |
|---|---|
0 | Успех |
| Другой финальный код | Операция завершена с ошибкой |
| Временный код | Требуется повтор запроса |
Если код временный, Агент должен повторять запрос с увеличением интервала между попытками, пока не будет получен финальный статус.