Кнопка СБП от Яндекса
О кнопке СБП
Что это такое
Кнопка СБП от Яндекса позволяет оплатить пользователю через систему быстрых платежей. При авторизации пользователю будут доступны его привязанные СБП-счета, а также возможность привязать новый. Также доступна оплата через систему быстрых платежей без авторизации.
Особенности
- Работает только на мобильных устройствах: через приложения или мобильный веб.
- Покупатель может оплатить без входа в аккаунт Яндекса.
- При оплате по кнопке СБП бонусы в виде скидок, кешбэка — не применяются.
Зачем подключать
Для бизнеса СБП Only упрощает процесс оплаты: меньше шагов для покупателя — выше конверсия в мобильном приложении.
Как подключить
Шаг 1. Согласуйте подключение
Напишите вашему менеджеру интеграции в Яндекс Пэй. После согласования для вашего магазина включат поддержку СБП Only.
Шаг 2. Интеграция
- С интеграцией мобильного SDK — доступен App2App flow с высокой долей авторизации.
- Без интеграции мобильного SDK — доступен App2Web flow, где больше пользователей не авторизованы.
App2Web flow.
Пока недоступен.
Шаг 3. Добавьте параметр flowв запрос создания заказа
При вызове метода /orders передайте:
| Параметр | Значение | Описание |
|---|---|---|
flow |
SBP_ONLY |
Включает оплату по СБП. Работает только со значением CARD в параметре availablePaymentMethods |
availablePaymentMethods |
["CARD"] |
Обязательное значение параметра при использовании flow: "SBP_ONLY" |
Пример запроса
curl -X POST 'https://sandbox.pay.yandex.ru/api/merchant/v1/orders' \
--header 'Authorization: Api-Key <MERCHANT_ID>' \
--header 'Content-Type: application/json' \
--data '{
"orderId": "<MERCHANT_ORDER_ID>",
"cart": {
"items": [
{
"productId": "1",
"total": "10",
"quantity": { "count": 1 },
"title": "Apple Watch"
}
],
"total": { "amount": "10" }
},
"availablePaymentMethods": ["CARD"],
"currencyCode": "RUB",
"preferredPaymentMethod": "CARD",
"redirectUrls": {
"onError": "https://test.pay.yandex.ru/web/playground/psp-like?merchantPspLike2_custom=<MERCHANT_ORDER_ID>",
"onSuccess": "https://test.pay.yandex.ru/web/playground/psp-like?merchantPspLike2_custom=<MERCHANT_ORDER_ID>"
},
"flow": "SBP_ONLY"
}'
Шаг 4. Обработайте ответ
В ответе вы получите paymentUrl. Перенаправьте покупателя по этой ссылке для завершения оплаты.
Как это выглядит для покупателя
- Покупатель нажимает кнопку оплаты СБП от Яндекса.
- Открывается форма оплаты, где доступны привязанные СБП-счета клиента. При необходимости можно добавить новый.
- Покупатель нажимает Оплатить.
- После оплаты покупатель возвращается на ваш сайт или в приложение.
- Покупатель нажимает кнопку оплаты СБП от Яндекса.
- Открывается экран Яндекс Пэй с брендингом сервиса. На экране покупателю предлагается выбрать банк для оплаты через СБП.
- Покупатель выбирает банк для оплаты через СБП.
- Открывается приложение банка для подтверждения платежа.
- После оплаты покупатель возвращается на ваш сайт или в приложение.
Макет интерфейса доступен в Figma.
Тестирование
Тестовая среда
Используйте URL тестовой среды:
https://sandbox.pay.yandex.ru/api/merchant/v1/orders
Тестирование в браузере
Для проверки в десктопном браузере включите режим мобильного устройства в инструментах разработчика.
Тестирование API
-
Создайте заказ методом /orders с параметрами:
flow: "SBP_ONLY"availablePaymentMethods: ["CARD"]
-
Перейдите по полученной ссылке
paymentUrl. -
Убедитесь, что открывается экран оплаты через СБП.
Скриншот

-
Проверьте завершение оплаты:
Сценарий Результат Статус заказа Покупатель подтвердил платеж Редирект на redirectUrls.onSuccessCAPTUREDПокупатель отменил платеж или истек таймаут Редирект на redirectUrls.onErrorFAILED -
Сообщите вашему менеджеру интеграции о результатах тестирования.
Примечание
После успешного тестирования менеджер интеграции включит СБП Only в боевой среде.
Переход в продакшен
После успешного тестирования и подтверждения от менеджера интеграции, используйте продовый URL:
https://pay.yandex.ru/api/merchant/v1/orders
Процесс интеграции аналогичен тестовой среде:
- Создайте заказ с параметрами
flow: "SBP_ONLY"иavailablePaymentMethods: ["CARD"]. - Перенаправьте покупателя по полученной ссылке
paymentUrl. - Обработайте результат оплаты по редиректу на
onSuccessилиonError.