Payment Docs
Payouts

Russia (bank account)

Payouts to ruble accounts of individuals by account number and BIK

Before you start

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

CurrencyDestinationPayment type
RUBAccount of an individual in a Russian bankBANK_ACCOUNT

A bank account payout takes two requests: first you get the list of banks, then you create the payout with the BIK of the recipient bank.

Prefer not to collect the requisites yourself? Embed the one-click payout widget: the client enters them once, and the next payouts take one click.

Flow

Get the list of banks

GET /v1/payouts/banks?serviceId={serviceId}
Query parameterTypeRequiredDescription
serviceIdnumber❌ NoThe bank account payout service from GET /v1/payouts/services. Pass it when several destinations are enabled for you
curl -X GET "https://api.platinout.com/v1/payouts/banks?serviceId=123" \
  -H "X-Api-Token: YOUR_API_TOKEN"
{
  "data": [
    { "id": "044525225", "name": "ПАО Сбербанк" },
    { "id": "044525974", "name": "АО \"ТБанк\"" }
  ]
}

The bank id is its BIK. Pass it as account.bankName in the next step.

Create the payout

POST /v1/payouts
curl -X POST "https://api.platinout.com/v1/payouts" \
  -H "Content-Type: application/json" \
  -H "X-Api-Token: YOUR_API_TOKEN" \
  -d '{
    "amount": 15000,
    "currency": "RUB",
    "paymentType": "BANK_ACCOUNT",
    "serviceId": 123,
    "externalId": "payout-123",
    "account": {
      "name": "Иванов Иван Иванович",
      "requisites": "40817810700000000001",
      "bankName": "044525225",
      "userPhone": "+79991234567",
      "userId": "user_12345"
    },
    "note": "Payout for order #1234"
  }'

account fields

All fields are required.

FieldTypeDescription
namestringRecipient full name in Cyrillic, in the «Фамилия Имя Отчество» order (last name, first name, patronymic), for example Иванов Иван Иванович. At least three words, each at least two letters long. A double last name is written with a hyphen (Римский-Корсаков). Words must not repeat
requisitesstringRecipient account number: 20 digits without spaces. Only ruble accounts of individuals are accepted: they start with 40817810 (residents) or 40820810 (non-residents)
bankNamestringRecipient bank BIK: the id from GET /v1/payouts/banks, for example 044525225
userPhonestringRecipient phone in the +7XXXXXXXXXX format, for example +79991234567
userIdstringUser ID in your system

Requisites check

The requisites are checked when the payout is created:

  • the full name is written in Cyrillic, has at least three words and no repeats;
  • the phone is in the +7XXXXXXXXXX format;
  • the BIK is in the bank list;
  • the account number has 20 digits, is a ruble account of an individual, and its control key matches the bank BIK.

If a check fails, the payout is not created and no funds are reserved. The API responds with 400 Bad Request, and message names the field to fix:

{
  "statusCode": 400,
  "message": "The account number does not match the recipient bank BIK: the control key check failed (account.requisites, account.bankName)",
  "error": "Bad Request"
}

Statuses

The payout is created with the CREATED status, then moves to PROCESSING and to a final status. The final status of a bank account payout may take a while — track it with webhooks.

Response

The response is a standard payout object with the CREATED status. Store the id to track the payout.

Payout object fields

Next steps

On this page