Payment Docs
Payouts

Russia (SBP, full name)

SBP payouts to phone numbers with recipient name verification

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
RUBPhone number via SBP with name verificationSBP

The payout takes two requests: first you get the list of banks that accept a transfer to the recipient's phone number, then you create the payout with the selected bank and the recipient's full name.

The recipient's full name is checked against the bank's data in SBP. If it does not match the owner of the phone number at the selected bank, the payout moves to FAILED with the reason in statusMessage.

The amount must be a whole number of rubles (1500, not 1500.50). A fractional amount is rejected with 400 before the payout is created.

Flow

Get the list of banks

GET /v1/payouts/banks?account={phone}&serviceId={serviceId}
Query parameterTypeRequiredDescription
accountstring✅ YesRecipient phone number in any format: 79612894744, +7 (961) 289-47-44, 89612894744
serviceIdnumber❌ NoPayout service from GET /v1/payouts/services. Pass it if you have several SBP services enabled
curl -X GET "https://api.1capital.capital/v1/payouts/banks?account=79612894744&serviceId=123" \
  -H "X-Api-Token: YOUR_API_TOKEN"
{
  "data": [
    { "id": "100000000008", "name": "Альфа-Банк" },
    { "id": "100000000004", "name": "Т-Банк" }
  ]
}

The list depends on the phone number: it contains only the banks where the recipient has an account for SBP transfers. Let the recipient pick the bank and pass its id as account.bankName.

Create the payout

POST /v1/payouts
curl -X POST "https://api.1capital.capital/v1/payouts" \
  -H "Content-Type: application/json" \
  -H "X-Api-Token: YOUR_API_TOKEN" \
  -d '{
    "amount": 1500,
    "currency": "RUB",
    "paymentType": "SBP",
    "serviceId": 123,
    "externalId": "payout-123",
    "account": {
      "name": "Иванов Василий Семёнович",
      "requisites": "79612894744",
      "bankName": "100000000008",
      "userId": "user_12345"
    }
  }'

account fields

FieldTypeRequiredDescription
namestring✅ YesRecipient name
requisitesstring✅ YesRecipient requisites: card number, phone number, PIX key, etc., depending on paymentType
userIdstring✅ YesUser ID in your system
FieldTypeRequiredDescription
namestring✅ YesRecipient full name, space-separated: "Last name First name Patronymic". Patronymic only if any
requisitesstring✅ YesRecipient phone number in any format
bankNamestring✅ YesBank id from GET /v1/payouts/banks?account={phone}, for example 100000000008

Write the name exactly as the recipient's bank has it, in the order last name, first name, patronymic.

Validation errors

A request with invalid details is rejected with 400 before the payout is created and the balance is held:

ReasonField to fix
Phone number not recognizedaccount.requisites
Bank not passedaccount.bankName
Fewer than two words in the nameaccount.name
Amount is not a whole numberamount

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