API Reference
All requests are sent to the Business API with the merchant key in the Authorization header.
Payment — POST /api/v1/payments
Initializes an incoming payment. After a successful response, open processingUrl with GET.
curl "https://business.example.com/api/v1/payments" \ -X POST \ -H "Authorization: Bearer test_private_key" \ -H "Content-Type: application/json" \ -d '{ "product": "Test payment", "amount": 1000, "currency": "USD", "callbackUrl": "https://merchant.example.com/callback", "redirectSuccessUrl": "https://merchant.example.com/success", "redirectFailUrl": "https://merchant.example.com/declined", "pendingUrl": "https://merchant.example.com/pending", "bank_account": { "bank_name": "test_bank", "requisite_type": "card" }, "customer": { "email": "test@example.com", "ip": "192.0.2.10" } }'Request parameters
Section titled “Request parameters”| Parameter | Required | Description |
|---|---|---|
product |
Yes | Product name, 5 to 255 characters |
amount |
Yes | Amount in minor currency units |
currency |
Yes | ISO 4217 currency code |
callbackUrl |
Yes | Final status notification URL |
redirectSuccessUrl |
No | Redirect URL for a successful payment |
redirectFailUrl |
No | Redirect URL for a failed payment |
pendingUrl |
No | Redirect URL for an unfinished payment |
bank_account |
No | Bank and requisite type parameters |
customer |
Yes | Customer data for a Host-to-Host payment |
bank_account
Section titled “bank_account”| Parameter | Required | Description |
|---|---|---|
bank_name |
No | Bank system name |
requisite_type |
No | sbp, card, account, or link |
customer
Section titled “customer”| Parameter | Required | Description |
|---|---|---|
email |
Yes | Customer email |
ip |
No | Customer IP address |
200 response
Section titled “200 response”{ "success": true, "result": 0, "status": 200, "token": "test_payment_token", "processingUrl": [ { "trader": "https://business.example.com/p/test_payment_token" } ], "selectorUrl": "https://business.example.com/select/test_payment_token", "payment": { "amount": 1000, "gateway_amount": 1000, "currency": "USD", "status": "init", "two_stage_mode": false, "commission": 0 }}Payout Card — POST /api/v1/payouts
Creates a payout to a card. After a successful response, open processingUrl with GET.
curl "https://business.example.com/api/v1/payouts" \ -X POST \ -H "Authorization: Bearer test_private_key" \ -H "Content-Type: application/json" \ -d '{ "amount": 1000, "currency": "USD", "orderNumber": "TEST-CARD-0001", "callbackUrl": "https://merchant.example.com/callback", "bank_account": { "bank_name": "test_bank", "requisite_type": "card" }, "card": { "pan": "4111111111111111" }, "customer": { "email": "recipient@example.com", "ip": "192.0.2.10", "first_name": "John", "last_name": "Smith", "middle_name": "Michael", "phone": "+15555550100" } }'Payout type parameters
Section titled “Payout type parameters”| Parameter | Required | Description |
|---|---|---|
bank_account.bank_name |
No | Bank system name |
bank_account.requisite_type |
Yes | The card value |
card.pan |
Yes | Recipient card PAN |
200 response
Section titled “200 response”{ "success": true, "result": 0, "status": 200, "token": "test_payout_token", "processingUrl": [ { "trader": "https://business.example.com/payout/test_payout_token" } ], "selectorUrl": "https://business.example.com/select/payout/test_payout_token", "payment": { "amount": 1000, "currency": "USD", "gateway_amount": 1000, "gateway_currency": "USD", "status": "init" }}Payout SBP — POST /api/v1/payouts
Creates a payout using a phone number.
curl "https://business.example.com/api/v1/payouts" \ -X POST \ -H "Authorization: Bearer test_private_key" \ -H "Content-Type: application/json" \ -d '{ "amount": 1000, "currency": "USD", "orderNumber": "TEST-SBP-0001", "callbackUrl": "https://merchant.example.com/callback", "bank_account": { "bank_name": "test_bank", "requisite_type": "sbp" }, "customer": { "email": "recipient@example.com", "ip": "192.0.2.10", "first_name": "John", "last_name": "Smith", "middle_name": "Michael", "phone": "+15555550100" } }'Payout type parameters
Section titled “Payout type parameters”| Parameter | Required | Description |
|---|---|---|
bank_account.bank_name |
Yes | Bank system name |
bank_account.requisite_type |
Yes | The sbp value |
customer.phone |
Yes | Recipient phone number |
200 response
Section titled “200 response”The response has the same structure as the Payout Card response.
Payout Account — POST /api/v1/payouts
Creates a payout to a bank account.
curl "https://business.example.com/api/v1/payouts" \ -X POST \ -H "Authorization: Bearer test_private_key" \ -H "Content-Type: application/json" \ -d '{ "amount": 1000, "currency": "USD", "orderNumber": "TEST-ACCOUNT-0001", "callbackUrl": "https://merchant.example.com/callback", "bank_account": { "bank_name": "test_bank", "requisite_type": "account", "account_number": "TEST-ACCOUNT-0001" }, "customer": { "email": "recipient@example.com", "ip": "192.0.2.10", "first_name": "John", "last_name": "Smith", "middle_name": "Michael", "phone": "+15555550100" } }'Payout type parameters
Section titled “Payout type parameters”| Parameter | Required | Description |
|---|---|---|
bank_account.bank_name |
Yes | Bank system name |
bank_account.requisite_type |
Yes | The account value |
bank_account.account_number |
Yes | Recipient account number |
200 response
Section titled “200 response”The response has the same structure as the Payout Card response.
