Settings and Statuses
Status Codes
Section titled “Status Codes”Gateway returns one of the following statuses in the status field.
| Status | Description |
|---|---|
pending |
Operation in progress: waiting for 3DS, provider callback or transfer confirmation |
approved |
Payment approved. Business Service finalizes transaction |
declined |
Decline. Must provide reason in reason / details / error / declination_reason |
refunded |
Full or partial refund |
expired |
Payment session lifetime expired |
When status: "declined", absence of reason will cause error Declined payment must have a reason.
Block settings
Section titled “Block settings”With each request (POST /pay, POST /payout), Business Service sends the settings block. Gateway does not store its own keys — all parameters are provided dynamically.
Structure
Section titled “Structure”"settings": { "api_key": "provider_secret_key", "sign_key": "key_for_callback_JWT_signing", "sandbox": false, "host2host": true}Fields
Section titled “Fields”| Parameter | Type | Description |
|---|---|---|
api_key |
string | Authentication key for provider API |
sign_key |
string | Key for signing JWT (HS512) when sending callbacks to Business and for encrypting merchant_private_key. See Callbacks and JWT |
sandbox |
boolean | Provider sandbox mode |
host2host |
boolean | H2H mode flag |
gateway_settings |
object | Method, timeout and status check frequency settings |
gateway_settings.processing_method |
string | Request sending method: http_requests or rabbit |
gateway_settings.full_link |
string | Full Gateway URL (for http_requests) |
gateway_settings.rabbit_url |
string | RabbitMQ URL (for rabbit) |
gateway_settings.rabbit_user |
string | RabbitMQ user |
gateway_settings.rabbit_password |
string | RabbitMQ password |
gateway_settings.methods |
object | Individual method settings |
gateway_settings.methods.<method>.response_timeout |
integer | Request timeout in seconds (default 15) |
gateway_settings.methods.<method>.final_waiting_seconds |
integer | Delay before first status check (default 15) |
gateway_settings.methods.<method>.enable_status_checker |
boolean | Enable periodic status check |
gateway_settings.methods.custom_requisite_fields |
array | Extra fields from the Gateway response requisites that Business adds to the payment requisites. See custom_requisite_fields |
gateway_settings.status_checker_time_rates |
object | Status check retry intervals in format "1-3": 30 (wait 30 seconds for attempts 1–3) |
assets |
object | Files (certificates) in base64 |
validate_signature |
boolean | Require X-SIGNATURE in request to Gateway |
custom_host |
string | Custom host for URL |
enable_routing |
boolean | Routing mode between gateways |
enable_update_amount |
boolean | Allow amount update via callback |
enable_change_final_status |
boolean | Allow changing final status |
decline_payout_on_request_error |
boolean | Decline payout on request error |
sign_key — Usage
Section titled “sign_key — Usage”settings.sign_key is used for:
- Signing JWT when sending callback to Business: header
Authorization: Bearer <JWT>(HS512 algorithm) - Encrypting
merchant_private_key(AES-256-CBC) insecurefield of callback - Verifying incoming callback on Business side
More details — in Callbacks and JWT.
custom_requisite_fields
Section titled “custom_requisite_fields”A list of keys from the Gateway response requisites that Business adds to the requisites object (card, sbp, account or link) in its own response.
Use it when the provider returns requisites not covered by the standard fields.
It is set at the methods level, not inside a specific method:
"methods": { "custom_requisite_fields": ["country", "reference"], "pay": { ... }}Requisites in the Gateway response:
"requisites": { "holder": "Satoru Gojo", "bank_name": "Sberbank", "card": "4242424242424242", "country": "RU"}Requisites in the Business response:
"card": { "name": "Satoru Gojo", "bank": "Sberbank", "pan": "4242424242424242", "country": "RU", "reference": null}- Missing or empty values are returned as
null. - Custom fields are applied last: a key matching a standard field (for example,
name) overrides its value.
Supported Methods
Section titled “Supported Methods”pay, payout, status, callback, refund, confirm_request, decline_request, confirm_secure_code, resend_otp, next_payment_step.
Requisite Types (bank_account.requisite_type)
Section titled “Requisite Types (bank_account.requisite_type)”| Value | Description |
|---|---|
card |
Card |
sbp |
SBP (Fast Payment System) |
account |
Bank account |
link |
Link |
url |
URL |
Values kind in logs
Section titled “Values kind in logs”pay, payout, status, callback, refund, confirm_request, decline_request, confirm_secure_code, next_payment_step.
