Endpoints: Status and Payout
POST /status
Section titled “POST /status”Transaction status check endpoint. Called by Business Service periodically (polling) until transaction reaches final status. Polling intervals are defined in gateway_settings.status_checker_time_rates.
Request Business → Gateway
Section titled “Request Business → Gateway”{ "method_name": "status", "payment": { "token": "tok_xxxx", "gateway_token": "bank_trx_12345" }, "settings": { "api_key": "provider_api_token" }}| Field | Type | Required | Description |
|---|---|---|---|
method_name |
string | yes | Always "status" |
payment.token |
string | yes | Payment token from original /pay request |
payment.gateway_token |
string | yes | Provider transaction identifier |
settings |
object | yes | Settings (see Settings and Statuses) |
Response Gateway → Business
Section titled “Response Gateway → Business”{ "result": true, "status": "approved", "details": "Charge successful", "amount": 10000, "currency": "USD", "logs": [...]}| Field | Type | Required | Description |
|---|---|---|---|
result |
boolean | yes | true — successful status request |
status |
string | yes | approved, declined or pending |
details |
string | no | Details |
amount |
integer | yes | Amount in kopecks |
currency |
string | yes | Currency (ISO 4217) |
logs |
array | yes | Provider request log (format — Basic Contracts) |
Polling Logic
Section titled “Polling Logic”- While status is
pending— Business Service repeats requests with intervals fromstatus_checker_time_rates - Status
approvedordeclined— final, polling stops - If payment is not in final status — status checker continues until final status is reached
POST /payout
Section titled “POST /payout”Payout endpoint. Unlike POST /pay, Gateway receives recipient data in params.card or params.bank_account.
Request Business → Gateway
Section titled “Request Business → Gateway”Payout to 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" }}Payout to card:
{ "method_name": "payout", "params": { "amount": 50000, "currency": "EUR", "customer": { "email": "receiver@test.com" }, "card": { "pan": "4111111111111111" } }, "payment": { "token": "payout_tok_xxxx" }, "settings": { ... }}| Field | Type | Required | Description |
|---|---|---|---|
method_name |
string | yes | Always "payout" |
params.amount |
integer | yes | Amount in kopecks |
params.currency |
string | yes | Currency (ISO 4217) |
params.customer |
object | yes | Recipient data |
params.card |
object | no | Recipient card data |
params.card.pan |
string | no | Card number |
params.card.card_token_from |
string | no | Saved card token (for PAN recovery) |
params.bank_account |
object | no | Account details |
params.bank_account.account_number |
string | no | Account number |
params.bank_account.bank_code |
string | no | Bank code |
payment.token |
string | yes | Payout token |
settings |
object | yes | Settings (see Settings and Statuses) |
Response Gateway → Business
Section titled “Response Gateway → Business”Response format matches POST /pay (see Basic Contracts).
Successful payout:
{ "result": true, "status": "approved", "gateway_token": "payout_12345", "amount": 50000, "currency": "EUR", "details": "Payout successful", "logs": [...]}Payout in processing:
{ "result": true, "status": "pending", "gateway_token": "payout_12345", "amount": 50000, "currency": "EUR", "logs": [...]}Payout Rejection
Section titled “Payout Rejection”Payout rejection check considers setting settings.decline_payout_on_request_error:
- If flag is set — any network error (timeout, 5xx) leads to payout rejection
- If flag is not set — network error does not lead to rejection (status remains “in processing”)
status: "declined"orresult: false— always leads to rejection
