Russia (SBP)
Payouts to phone numbers via SBP in RUB
Before you start
Authorization
How to sign your requests with the API token.
Payouts overview
Common request format, response fields and statuses.
This payout destination is not enabled for all merchants. Check availability with your manager, and make sure your merchant balance is sufficient before creating a payout.
Overview
| Currency | Destination | Payment type |
|---|---|---|
RUB | Phone number via SBP | SBP |
An SBP payout takes two requests: first you get the list of banks that can receive a transfer for the phone number, then you create the payout with the selected bank.
Phone number format differs between services. Some expect the number without the +7 or 7 prefix (9117883630 instead of 79117883630). Check the format expected by your service.
Flow
Get the list of banks
GET /v1/payouts/banks?account={phone}| Query parameter | Type | Required | Description |
|---|---|---|---|
account | string | ✅ Yes | Recipient phone number |
curl -X GET "https://api.riopay.online/v1/payouts/banks?account=79117883630" \
-H "X-Api-Token: YOUR_API_TOKEN"[
{ "id": "100000000004", "name": "T-Bank - Т-Банк" },
{ "id": "100000000111", "name": "Sberbank - Сбербанк" }
]Let the recipient pick the bank and use its id as account.bankName in the next step.
Create the payout
POST /v1/payoutscurl -X POST "https://api.riopay.online/v1/payouts" \
-H "Content-Type: application/json" \
-H "X-Api-Token: YOUR_API_TOKEN" \
-d '{
"amount": 1000,
"currency": "RUB",
"paymentType": "SBP",
"externalId": "payout-123",
"account": {
"name": "John Doe",
"requisites": "79117883630",
"bankName": "100000000004",
"userId": "user_12345"
},
"note": "Payout for order #1234"
}'account fields
| Field | Type | Required | Description |
|---|---|---|---|
name | string | ✅ Yes | Recipient name |
requisites | string | ✅ Yes | Recipient requisites: card number, phone number, PIX key, etc., depending on paymentType |
userId | string | ✅ Yes | User ID in your system |
| Field | Type | Required | Description |
|---|---|---|---|
bankName | string | ✅ Yes | Bank id from GET /v1/payouts/banks, for example 100000000004 |
requisites holds the recipient phone number.
Response
The response is a standard payout object with the CREATED status. Store the id to track the payout.