Skip to main content

Payouts by bank account number

Below is a scenario where you send open parameters. You can send money to an account in the following two ways:

  • as a speedy payout through the BESP system—the money will be credited within an hour
    To enable speedy payouts, contact your account manager.
  • as a standard payout—the money will be credited within a period from 2 hours to 1 banking day (this depends on the recipient's bank)

The tariffs for standard and speedy payouts differ and are fixed in the agreement with Bank 131.

Accounts for payouts

You can only send payouts to the accounts that begin with these digits:

  • 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

NameMandatoryTypeDescription
payment_method/payout_details+objectPayment data
  type+stringValue: bank_account
  bank_account+objectBank account
    system_type+stringBank transfer system. Always: ru
    ru+objectBank account object
      bik+stringRecipient's bank's BIC
      account+stringRecipient's bank account
      full_name+stringIndividual's full name. In case of a payout to an account of a sole proprietor it should be passed in the following format: ИП <full name>
      inn- (mandatory for payouts to individual proprietors and legal entities)stringINN
      kpp- (mandatory for payouts to legal entities' accounts)stringThe recipient's Tax Registration Reason Code (KPP)
      description+stringPayout purpose
participant_details- (mandatory only for payouts from an escrow account)objectInformation on payout participants
  sender+objectSender's details
    account+stringBank escrow account to send the payout from
    beneficiary_id+stringBeneficiary's INN
  recipient+objectRecipient's details
    beneficiary_id+stringBeneficiary's INN
payment_details- (mandatory only for payouts from an escrow account)objectInformation about a transaction (type, description)
  type+stringValue: internal_transfer
amount_details+objectAmount
  amount+intAmount in ruble decimal format. The value must be greater than zero. To send 100 rubles, specify 10000
  currency+stringCurrency code according to ISO 4217. Case insensitive. Always: rub

Payout purpose requirements

When sending money, specify the following data in the bank_account.ru.description parameter:

  • operation type (for example: service payment)
  • payment reason (for example: under agreement No. 123)
  • product/services/commodity name
  • whether or not VAT is applicable

If the organization/individual is not based in Russia, also specify a currency transaction code in the {VO<currency transaction code>} format pre-agreed with Bank 131.

warning

Disallowed characters: ?, !.

Maximum text length: 210 characters.

Payout purpose example

Wire for agreement № 5015553111 Ivanov Ivan Ivanovich VAT exempt

Making a standard payout

Follow the standard scenario of a payout without our widget. See the payout parameters in the table above.

To get notifications when funds are credited to the recipient's account, enable the confirmation_payout webhook. To do this, contact your account manager. Webhook delivery is not guaranteed by Bank 131, as it depends on the recipient bank.

Standard payout example

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"
}'

Making a speedy payout

Follow the standard scenario of a payout without our widget. See the payout parameters in the table above. In the payout request, pass true in the is_fast parameter of the ru object, otherwise a standard payout will be made.

Object example

{
"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

While making a payout you may encounter the following errors:

  • routing_internal_error — the payout failed as the selected payout option was not stipulated in your agreement with Bank 131
  • if you send a speedy payout to a bank that is not connected to the BESP system, the payout will be sent as standard, but the Bank will charge the commission for a speedy payout anyway

How to learn that a payout was returned >





Ask AI