Payment Docs
Выплаты

СБП (RUB)

Как создавать выплаты по номеру СБП

Выплаты позволяют отправлять средства с вашего мерчант-счёта на номера телефонов по СБП.

Создание выплаты по СБП состоит из двух шагов:

  1. Получите список банков, доступных для номера телефона получателя.
  2. Создайте выплату, передав id выбранного банка в поле account.bankName.

Перед тем как начать

Как авторизовывать запросы

Перед запросами убедитесь, что на вашем мерчант-счёте достаточно средств для выплаты.

В зависимости от метода формат номера телефона может отличаться. Некоторые методы требуют указывать номер без префикса +7 или 7 (например, 9117883630 вместо 79117883630). Уточняйте формат, который ожидает используемый метод.


Шаг 1. Получение списка банков

Перед созданием выплаты запросите список банков, которые могут принять перевод по СБП для номера телефона получателя:

GET /v1/payouts/banks?account=79117883630

Пример запроса

curl -X GET "https://api.1capital.capital/v1/payouts/banks?account=79117883630" \
-H "X-Api-Token: YOUR_API_TOKEN"

Параметры запроса

ПолеТипОбязательноеОписание
accountstring✅ ДаНомер телефона получателя

Пример ответа

[
  { "id": "100000000004", "name": "T-Bank - Т-Банк" },
  { "id": "100000000111", "name": "Sberbank - Сбербанк" }
]

Выберите банк, в котором получатель хочет получить средства, и используйте его id в качестве значения account.bankName на следующем шаге.


Шаг 2. Создание выплаты

Отправьте POST-запрос для создания новой выплаты:

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": 1000,
  "currency": "RUB",
  "paymentType": "SBP",
  "account": {
    "name": "John Doe",
    "requisites": "79117883630",
    "bankName": "100000000004",
    "userId": "user_12345"
  },
  "note": "Выплата по заказу №1234"
}'

Параметры запроса

Основные параметры

ПолеТипОбязательноеОписание
amountnumber✅ ДаСумма выплаты
currencystring✅ ДаКод валюты
paymentTypestring✅ ДаТип платежа
accountobject✅ ДаРеквизиты получателя
notestring❌ НетЗаметка к выплате
externalIdstring❌ НетИдентификатор выплаты в вашей системе
callbackUrlstring❌ НетАдрес webhook-уведомлений по выплате

Объект account

ПолеТипОбязательноеОписание
namestring✅ ДаИмя получателя
requisitesstring✅ ДаРеквизиты счёта (номер телефона)
bankNamestring✅ Даid банка из GET /v1/payouts/banks (например, 100000000004)
userIdstring✅ ДаID пользователя в вашей системе

Поддерживаемые валюты

ЗначениеОписание
RUBРоссийский Рубль

Типы платежей

ЗначениеОписание
SBPПеревод по СБП

Пример успешного ответа

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "merchantId": "123e4567-e89b-12d3-a456-426614174000",
  "amount": "1000",
  "account": {
    "name": "John Doe",
    "requisites": "79117883630",
    "bankName": "100000000004",
    "userId": "user_12345"
  },
  "status": "CREATED",
  "type": "SBP",
  "requisites": {},
  "statusMessage": null,
  "metadata": null,
  "callbackUrl": null,
  "createdAt": "2023-03-21T12:34:56Z",
  "updatedAt": "2023-03-21T12:34:56Z",
  "completedAt": null
}

Поля ответа

ПолеТипОписание
idstringUUID выплаты
merchantIdstringUUID вашего мерчанта
amountstringСумма выплаты
accountobjectРеквизиты получателя
statusstringТекущий статус выплаты
typestringТип платежа
requisitesobjectДополнительные реквизиты
statusMessagestring / nullСообщение статуса (если есть)
metadataobject / nullДополнительные метаданные
callbackUrlstring / nullАдрес webhook-уведомлений для этой выплаты (null — настройки мерчанта)
createdAtstringВремя создания
updatedAtstringВремя последнего обновления
completedAtstring / nullВремя завершения

Статусы выплат

СтатусОписание
CREATEDВыплата создана
PENDINGВыплата обрабатывается
COMPLETEDВыплата успешно завершена
FAILEDОшибка выплаты
CANCELEDВыплата отменена
EXPIREDСрок действия выплаты истёк

Проверка статуса выплаты

Чтобы узнать текущий статус выплаты, отправьте GET-запрос:

GET /v1/payouts/{payoutId}

Пример запроса

curl -X GET "https://api.1capital.capital/v1/payouts/123e4567-e89b-12d3-a456-426614174000" \
-H "X-Api-Token: YOUR_API_TOKEN"

Уведомления об изменении статуса выплаты также доставляются через webhook'и: передайте callbackUrl в теле запроса или укажите его в настройках мерчанта. Опрос статуса по ID может использоваться как резервный способ (например, каждые 30 минут).

Webhook'и по выплатам


Рекомендации

  • Всегда проверяйте баланс мерчанта перед созданием выплат
  • Сначала получайте список банков и передавайте id выбранного банка в account.bankName
  • Учитывайте формат номера телефона, который требует метод (некоторые требуют номер без +7 / 7)
  • Сохраняйте id выплаты из ответа для отслеживания статуса
  • Используйте webhook-уведомления (callbackUrl) и проверяйте подпись X-Signature; опрос статуса по ID — резервный способ
  • Обрабатывайте все возможные значения статусов в своей интеграции

Смотрите также

На этой странице