Перейти к содержимому

Endpoints: Status и Payout

Эндпоинт проверки статуса транзакции. Вызывается Business Service периодически (polling), пока транзакция не достигнет финального статуса. Интервалы опроса задаются в gateway_settings.status_checker_time_rates.

{
"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 да Настройки (см. Настройки и Статусы)
{
"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 /pay, Gateway получает данные получателя в params.card или params.bank_account.

Выплата на банковский счёт:

{
"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 да Настройки (см. Настройки и Статусы)

Формат ответа совпадает с 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 — всегда приводят к отклонению