Payout to a Russian bank account
With the API, you can carry out payouts to Russian bank accounts belonging to individuals, legal entities, and self-employed people. All the parameters are passed in the clear.
Payouts to the accounts of legal entities are available only for non-residents of the Russian Federation.
Allowed accounts
You can send payouts only to the accounts that begin with these numbers:
- 40817810
- 42301810
- 42302810
- 42303810
- 42304810
- 42305810
- 42306810
- 42307810
- 40802810
- 40820810
- 40702810 (for the accounts of legal entities)
If the account begins with another number, the payout will fail.
Payout parameters
- For residents
- For non-residents
Name | Mandatory | Type | Description |
---|---|---|---|
payment_method | + | object | Payment data |
type | + | string | Value: bank_account |
bank_account | + | object | Bank account |
system_type | + | string | Bank transfer system. Always: ru |
ru | + | object | Bank account object |
bik | + | string | Recipient's bank's BIC |
account | + | string | Recipient's bank account |
full_name | + | string | Individual's full name. In case of a payout to an account of a sole proprietor should be passed in the following format: ИП <full name> |
inn | - (mandatory for payouts to individual proprietors and legal entities) | string | INN |
kpp | - (mandatory for payouts to legal entities' accounts) | string | The recipient's Tax Registration Reason Code (KPP) |
description | + | string | Payout purpose How to set this out |
participant_details | - (mandatory only for payouts from an escrow account) | object | Information on payout participants |
sender | + | object | Sender's details |
account | + | string | Bank escrow account to send the payout from |
beneficiary_id | + | string | Beneficiary's INN |
recipient | + | object | Recipient's details |
beneficiary_id | + | string | Beneficiary's INN |
payment_details | - (mandatory only for payouts from an escrow account) | object | Information about a transaction (type, description) |
type | + | string | Value: internal_transfer |
amount_details | + | object | Amount |
amount | + | int | Amount in ruble decimal format. The value must be greater than zero. To send 100 rubles, specify 10000 |
currency | + | string | Currency code according to ISO 4217. Case insensitive. Always: rub |
Name | Mandatory | Type | Description |
---|---|---|---|
payment_method | + | object | Payment data |
type | + | string | Value: bank_account |
bank_account | + | object | Bank account |
system_type | + | string | Bank transfer system. Always: ru |
ru | + | object | Bank account object |
bik | + | string | Recipient's bank's BIC |
inn | - (mandatory for payouts to individual proprietors and legal entities) | string | Recipient's INN |
kpp | - (mandatory for payouts to legal entities) | string | Recipient's Tax Registration Reason Code (KPP) |
account | + | string | Recipient's bank account |
full_name | + | string | Individual's full name. In case of a payout to an account of a sole proprietor should be passed in the following format: ИП <full name> . In case of a payout to a legal entity, enter the entity's name, if it is provided in the agreement. Important: if the name is passed incorrectly the recipient bank may cancel the payout and the payout will be refunded |
description | + | string | Purpose of the payout accompanied by the monetary transaction code (as agreed with a Bank 131 manager). How to set this out |
amount_details | + | object | Amount |
amount | + | int | Amount in ruble decimal format. The value must be greater than zero. To send 100 rubles, specify 10000 |
currency | + | string | Currency code according to ISO 4217. Case insensitive. Always: rub |
participant_details | + | object | Information on payout participants |
sender | + | object | Sender's details |
full_name | - (mandatory if the sender is an individual) | string | Name |
company_name | - (mandatory if the sender is a legal entity) | string | Company name |
address_line | + | string | Address. Important: a city and country should be specified in the following fields, do not duplicate them here |
country_iso3 | + | string | Country (ISO-3166-1 alpha-3) |
city | + | string | City |
recipient | + | object | Recipient's details |
full_name | + | string | Recipient's name |
How to set out the payout purpose
In the payout purpose (the bank_account.ru.description
field), according to Russian law, the following must be specified:
- the type of operation (e.g. service fee)
- the basis, or reason, for the payment (e.g. the agreement number)
- the name of the products and/or services provided
- whether or not VAT is applicable
If your organization is not based in Russia, you will also need to add a currency transaction code in the following format: {VO<currency transaction code>}
without any indents or spaces. The code needs to be agreed beforehand with a Bank 131 manager.
The payout purpose should not contain the following characters:
?
,!
. The maximal length of the field for payouts to bank accounts is 210 characters.
An example of a payout purpose
- For residents
- For non-residents
Wire for agreement № 5015553111 Ivanov Ivan Ivanovich VAT exempt
{VO99090} Wire for agreement № 5015553456 Ivanov Ivan Ivanovich VAT exempt
Making a payout
The payout is performed as in the general scenario. Open parameters are passed. You do not need to use the widget.
An example of a request for a payout to a bank account
- For residents
- For non-residents
curl -X POST \
https://demo.bank131.ru/api/v1/session/init/payout \
-H 'content-type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-d'{
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "044525971",
"account": "40817810100000270411",
"full_name": "Ivanov Ivan Ivanovich",
"description": "Wire for agreement № 5015553111 Ivanov Ivan Ivanovich VAT exempt"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}'
curl -X POST \
https://demo.bank131.ru/api/v1/session/init/payout \
-H 'content-type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-d'{
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "044525971",
"account": "40817810100000270411",
"full_name": "Ivanov Ivan Ivanovich",
"description": "{VO99090} Wire for agreement № 5015553456 Ivanov Ivan Ivanovich VAT exempt"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good",
"participant_details": {
"sender": {
"full_name": "Ivanov Ivan Ivanovich",
"address_line": "123 Main Street",
"country_iso3": "USA",
"city": "New York"
},
"recipient": {
"full_name": "Иванов Иван Иванович"
}
}
}'
Speedy payouts to accounts in Russian banks (via BESP)
You can make speedy payouts to accounts in Russian banks—through the BESP system. A speedy payout takes place within an hour, a regular one—from 2 hours to 1 banking day (the term of crediting depends on the recipient's bank).
The tariffs for regular and speedy payouts differ and are fixed in the agreement with Bank 131.
How to enable
Sign an agreement with Bank 131 for making payouts, indicate that you want to make payouts through BESP. If the agreement already exists, but there are no payouts through BESP in it, contact our manager.
How to make a payout via BESP
In the payout request, pass true
in the ru
object in the is_fast
field, and your payout will be sent through BESP.
If you do not specify this parameter, a regular payout will be sent.
An example of an object with payout through BESP
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "044525971",
"account": "40817810100000270411",
"full_name": "Ivanov Ivan Ivanovich",
"description": "Wire for agreement № 5015553111 Ivanov Ivan Ivanovich VAT exempt",
"is_fast": "true"
}
}
What can go wrong
- If you send a payout in a way that is not in your agreement with Bank 131, the payout will not go through. The response be received as a
routing_internal_error
. - If you send a speedy payout to a bank that is not connected to the BESP system, the payout will be sent as regular, but the Bank will charge the commission set for a speedy payout.
Payout refund
The payout you sent to a Russian bank account may be refunded. In this case, you will get a refund within 5 days.