Docs
API ЮKassa
Инструкции
Старые версии API
Помощь
Подключить ЮKassa

Выплаты через Систему быстрых платежей (СБП)

При выплатах через СБП вы переводите деньги на счет в системе участника СБП (банка или платежного сервиса), зная только номер телефона пользователя и название банка или сервиса.
Выплаты через СБП можно делать с проверкой получателя и без. Проверка получателя — это проверка того, что счет, на который вы переводите деньги, принадлежит получателю выплаты. Подробнее о выплатах через СБП с проверкой получателя
Если вы хотите, чтобы в выписках из реестра выплат отображалась информация о получателе выплаты (например, для госорганов), перед проведением выплаты сохраните данные о получателе в ЮKassa и затем передайте идентификатор сохраненных данных в запросе на создание выплаты. Подробнее о передаче данных получателя выплаты для выписок
В этой статье описаны особенности и общий порядок проведении выплат через СБП без проверки получателя и без передачи его персональных данных для выписки.
Лимиты выплат
Ограничения на размер выплат:
  • минимальная сумма выплаты — 1 рубль;
  • максимальная сумма разовой выплаты — 500 000 рублей.
Общий сценарий проведения выплат через СБП
Общий сценарий проведения выплат через СБП
Общий сценарий проведения выплат через СБП
  1. Вы запрашиваете у пользователя номер телефона, который привязан к банку или платежному сервису в СБП.
  2. Пользователь сообщает вам номер телефона.
  3. Вы запрашиваете список участников СБП — отправляете ЮKassa GET-запрос.
  4. ЮKassa запрашивает список участников у эквайера.
  5. Эквайер возвращает список участников.
  6. ЮKassa возвращает вам список участников СБП.
  7. Вы отображаете пользователю список участников и просите выбрать тот банк или платежный сервис, к которому привязан указанный номер телефона и в который нужно перевести выплату.
  8. Пользователь выбирает участника СБП.
  9. Вы создаете выплату — отправляете ЮKassa POST-запрос с данными о том, какую сумму списать с вашего баланса и куда ее перевести.
  10. ЮKassa отправляет эквайеру распоряжение на перевод денег получателю выплаты.
  11. Эквайер обрабатывает запрос и сообщает результат выполнения операции.
  12. ЮKassa возвращает вам объект выплаты с финальным статусом — succeeded (выплата успешна) или canceled (выплата отменена).
Если в ответ на запрос ЮKassa вернула вам объект выплаты в статусе pending, это значит, что эквайер еще обрабатывает распоряжение на перевод. Чтобы узнать финальный статус выплаты, подождите, когда придет уведомление от ЮKassa, или запрашивайте информацию о выплате методом GET с возрастающим разумным интервалом (например, можно использовать последовательность Фибоначчи).
Проведение выплат
Чтобы сделать выплату через СБП:
  1. Получите данные для выплаты.
  2. Проведите выплату с полученными данными.
Получение данных для выплаты
Для проведения выплаты вам понадобятся номер телефона пользователя и идентификатор участника СБП, к которому этот телефон привязан.
Номер телефона получите любым удобным вам способом.
Чтобы получить идентификатор участника СБП:
Шаг 1. Отправьте ЮKassa запрос на получение списка участников СБП.
Пример запроса на получение списка участников СБП
cURL
PHP
Python
curl https://api.yookassa.ru/v3/sbp_banks \
    -X GET \
    -u <Идентификатор шлюза>:<Секретный ключ> \
Пример списка участников СБП
JSON
{
  "type": "list",
  "items": [
    {
      "bank_id": "100000000111",
      "name": "СберБанк",
      "bic": "044525225"
    }
  ]
}
Шаг 2. Отобразите пользователю названия полученных участников СБП.
Шаг 3. Когда пользователь выберет участника, сохраните соответствующий ему идентификатор (параметр bank_id объекта). Его нужно передать при проведении выплаты.
Проведение выплаты через СБП
Создайте выплату: отправьте ЮKassa запрос с данными для аутентификации запроса, ключом идемпотентности и данными для выплаты через СБП:
  • в объекте amount передайте сумму, которую нужно выплатить пользователю; сумма должна укладываться в лимиты;
  • в параметре description передайте описание выплаты;
  • в объекте payout_destination_data передайте способ получения выплаты sbp, номер телефона пользователя и идентификатор участника СБП;
  • если проводите выплату с передачей данных получателя для выписки из реестра, в массиве personal_data передайте идентификатор персональных данных.
Пример запроса на создание выплаты
cURL
PHP
Python
curl https://api.yookassa.ru/v3/payouts \
  -X POST \
  -u <Идентификатор шлюза>: <Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "amount": {
          "value": "2.00",
          "currency": "RUB"
        },
        "payout_destination_data": {
          "type": "sbp",
          "phone": "79000000000",
          "bank_id": "100000000111"
        },
        "description": "Выплата по заказу № 37",
        "metadata": {
          "order_id": "37"
        }
      }'
В ответ на запрос ЮKassa вернет созданный объект выплаты.
Пример созданного объекта выплаты
JSON
{
  "id": "po-285ec15d-0003-5000-a000-08d1bec7dade",
  "amount": {
    "value": "2.00",
    "currency": "RUB"
  },
  "status": "pending",
  "payout_destination": {
    "type": "sbp",
    "phone": "79000000000",
    "bank_id": "100000000111",
    "recipient_checked": false
  },
  "description": "Выплата по заказу №37",
  "created_at": "2021-06-21T14:28:45.132Z",
  "metadata": {
    "order_id": "37"
  },
  "test": false
}
Если вы получили объект выплаты в статусе pending, дождитесь, когда статус изменится на succeeded или canceled. Для этого подождите, когда придет уведомление от ЮKassa, или запрашивайте информацию о выплате с возрастающим разумным интервалом.
Пример запроса на получение информации о выплате
cURL
PHP
Python
curl https://api.yookassa.ru/v3/payouts/{payout_id} \
    -X GET \
    -u <Идентификатор шлюза>:<Секретный ключ> \
Пример объекта выплаты в статусе succeeded
JSON
{
    "id": "po-285ec15d-0003-5000-a000-08d1bec7dade",
    "amount": {
        "value": "2.00",
        "currency": "RUB"
    },
    "status": "succeeded",
    "payout_destination": {
      "type": "sbp",
      "phone": "79000000000",
      "bank_id": "100000000111",
      "recipient_checked": false
    },
    "description": "Выплата по заказу №37",
    "created_at": "2021-06-21T14:28:45.132Z",
    "succeeded_at": "2021-06-21T14:29:17.141Z",
    "metadata": {
        "order_id": "37"
    },
    "test": false
}
Что почитать еще
© 2025, ООО НКО «ЮМани»