Endpoints: Status и Payout
POST /status
Заголовок раздела «POST /status»Эндпоинт проверки статуса транзакции. Вызывается Business Service периодически (polling), пока транзакция не достигнет финального статуса. Интервалы опроса задаются в gateway_settings.status_checker_time_rates.
Запрос Business → Gateway
Заголовок раздела «Запрос Business → Gateway»{ "method_name": "status", "payment": { "token": "tok_xxxx", "gateway_token": "bank_trx_12345" }, "settings": { "api_key": "provider_api_token" }}| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
method_name |
string | да | Всегда "status" |
payment.token |
string | да | Токен платежа из исходного запроса /pay |
payment.gateway_token |
string | да | Идентификатор транзакции у провайдера |
settings |
object | да | Настройки (см. Настройки и Статусы) |
Ответ Gateway → Business
Заголовок раздела «Ответ Gateway → Business»{ "result": true, "status": "approved", "details": "Charge successful", "amount": 10000, "currency": "USD", "logs": [...]}| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
result |
boolean | да | true — успешный запрос статуса |
status |
string | да | approved, declined или pending |
details |
string | нет | Детали |
amount |
integer | да | Сумма в копейках |
currency |
string | да | Валюта (ISO 4217) |
logs |
array | да | Лог запроса к провайдеру (формат — Базовые контракты) |
Логика поллинга
Заголовок раздела «Логика поллинга»- Пока статус
pending— Business Service повторяет запросы с интервалами изstatus_checker_time_rates - Статус
approvedилиdeclined— финальный, поллинг прекращается - Если платеж не в финальном статусе — статус-чекер продолжает работу до достижения финального статуса
POST /payout
Заголовок раздела «POST /payout»Эндпоинт выплаты. В отличие от POST /pay, Gateway получает данные получателя в params.card или params.bank_account.
Запрос Business → Gateway
Заголовок раздела «Запрос Business → Gateway»Выплата на банковский счёт:
{ "method_name": "payout", "params": { "amount": 50000, "currency": "EUR", "customer": { "email": "receiver@test.com", "ip": "127.0.0.1" }, "bank_account": { "account_number": "IE1234567890123456", "bank_code": "BOFI" } }, "payment": { "token": "payout_tok_xxxx" }, "settings": { "api_key": "provider_api_token" }}Выплата на карту:
{ "method_name": "payout", "params": { "amount": 50000, "currency": "EUR", "customer": { "email": "receiver@test.com" }, "card": { "pan": "4111111111111111" } }, "payment": { "token": "payout_tok_xxxx" }, "settings": { ... }}| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
method_name |
string | да | Всегда "payout" |
params.amount |
integer | да | Сумма в копейках |
params.currency |
string | да | Валюта (ISO 4217) |
params.customer |
object | да | Данные получателя |
params.card |
object | нет | Данные карты получателя |
params.card.pan |
string | нет | Номер карты |
params.card.card_token_from |
string | нет | Токен сохранённой карты (для восстановления PAN) |
params.bank_account |
object | нет | Реквизиты счёта |
params.bank_account.account_number |
string | нет | Номер счёта |
params.bank_account.bank_code |
string | нет | Код банка |
payment.token |
string | да | Токен выплаты |
settings |
object | да | Настройки (см. Настройки и Статусы) |
Ответ Gateway → Business
Заголовок раздела «Ответ Gateway → Business»Формат ответа совпадает с POST /pay (см. Базовые контракты).
Успешная выплата:
{ "result": true, "status": "approved", "gateway_token": "payout_12345", "amount": 50000, "currency": "EUR", "details": "Payout successful", "logs": [...]}Выплата в обработке:
{ "result": true, "status": "pending", "gateway_token": "payout_12345", "amount": 50000, "currency": "EUR", "logs": [...]}Отказ выплаты
Заголовок раздела «Отказ выплаты»Проверка отказа выплаты учитывает настройку settings.decline_payout_on_request_error:
- Если флаг установлен — любая сетевая ошибка (таймаут, 5xx) приводит к отклонению выплаты
- Если флаг не установлен — сетевая ошибка не приводит к отклонению (статус остаётся «в обработке»)
status: "declined"илиresult: false— всегда приводят к отклонению
