API callback - это API POST метод, который должен быть реализован в системе клиента, его адрес должен передаваться при любом депозите и выплате в систему биллинга, по этому адресу будут приходить обновления для ордера в системе биллинга, которая в свою очередь обрабатывает изменения ордера платежной системы.
Метод запроса: POST
Заголовки запроса:
Signature: (обязательно). Подпись запроса, которая генерируется секретным ключом приложения. Подпись формируется по алгоритму, описанному на странице “Подпись”.Content-Type: (обязательно) Тип содержимого запроса, должно быть application/json.Структура тела запроса от системы биллинга:
Тело запроса в формате JSON и имеет следующую структуру:
{
"id": 753,
"confirmationType": "3DS_PAYMENT_PAGE",
"status": "IN_PROGRESS",
"amount": 1000,
"currency": "RUB",
"error": "Transaction was declined because of some reason",
"merchantOrderId": "347995",
"redirectUrl": "https://payment.page/deposit/session-id",
"sessionId": "some-id"
}
| Наименование | Тип | Обязательность | Описание |
|---|---|---|---|
id |
integer | Да | ID ордера, созданного для платежа на стороне системы биллинга. |
conformationType |
string | Нет | Тип подтверждения платежа. Может иметь пустое значене или "3DS_PAYMENT_PAGE" для 3DS смс подтверждения карточного депозита BankCard H2H. |
status |
string | Да | Текущий статус ордера системы биллинга. Возможные значения:
|
amount |
float | Да | Сумма платежа. |
currency |
string | Да | Валюта плаежа. 3-х значный буквенный код валюты платежа по ISO 4217. |
error |
string | Нет | Ошибка от ПС. |
merchantOrderId |
string | Да | ID ордера клиента. |
redirectUrl |
string | Нет | URL ссылка, для перехода пользователя выполняющего оплату на сторонний терминал ПС, либо на 3DS подтверждение. |
sessionId |
string | Нет | Идентификатор сессии в терминале |
1. Успешный ответ (статус 200)
Тело ответа отсутствует.
2. Ошибка доступа (статус 403)
Тело ответа отсутствует.
Если подпись в заголовке запроса Signature некорректна или отсутствует, то API вернет ответ со статусом 403 Forbidden
3. Ошибка данных запроса (статус 422)
Если одно из полей не пройдет проверку:
, то необходимо вернуть ответ на запрос со статусом 422 и следующей структурой:
{
"field": "Field_name",
"error": "Description error"
}