Кнопка СБП от Яндекса

О кнопке СБП

Что это такое

Кнопка СБП от Яндекса позволяет оплатить пользователю через систему быстрых платежей. При авторизации пользователю будут доступны его привязанные СБП-счета, а также возможность привязать новый. Также доступна оплата через систему быстрых платежей без авторизации.

Особенности

  • Работает только на мобильных устройствах: через приложения или мобильный веб.
  • Покупатель может оплатить без входа в аккаунт Яндекса.
  • При оплате по кнопке СБП бонусы в виде скидок, кешбэка — не применяются.

Зачем подключать

Для бизнеса СБП 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. Перенаправьте покупателя по этой ссылке для завершения оплаты.

Как это выглядит для покупателя

  1. Покупатель нажимает кнопку оплаты СБП от Яндекса.
  2. Открывается форма оплаты, где доступны привязанные СБП-счета клиента. При необходимости можно добавить новый.
  3. Покупатель нажимает Оплатить.
  4. После оплаты покупатель возвращается на ваш сайт или в приложение.
  1. Покупатель нажимает кнопку оплаты СБП от Яндекса.
  2. Открывается экран Яндекс Пэй с брендингом сервиса. На экране покупателю предлагается выбрать банк для оплаты через СБП.
  3. Покупатель выбирает банк для оплаты через СБП.
  4. Открывается приложение банка для подтверждения платежа.
  5. После оплаты покупатель возвращается на ваш сайт или в приложение.

Макет интерфейса доступен в Figma.

Тестирование

Тестовая среда

Используйте URL тестовой среды:

https://sandbox.pay.yandex.ru/api/merchant/v1/orders

Тестирование в браузере

Для проверки в десктопном браузере включите режим мобильного устройства в инструментах разработчика.

Тестирование API

  1. Создайте заказ методом /orders с параметрами:

    • flow: "SBP_ONLY"
    • availablePaymentMethods: ["CARD"]
  2. Перейдите по полученной ссылке paymentUrl.

  3. Убедитесь, что открывается экран оплаты через СБП.

    Скриншот

  4. Проверьте завершение оплаты:

    Сценарий Результат Статус заказа
    Покупатель подтвердил платеж Редирект на redirectUrls.onSuccess CAPTURED
    Покупатель отменил платеж или истек таймаут Редирект на redirectUrls.onError FAILED
  5. Сообщите вашему менеджеру интеграции о результатах тестирования.

Примечание

После успешного тестирования менеджер интеграции включит СБП Only в боевой среде.

Переход в продакшен

После успешного тестирования и подтверждения от менеджера интеграции, используйте продовый URL:

https://pay.yandex.ru/api/merchant/v1/orders

Процесс интеграции аналогичен тестовой среде:

  1. Создайте заказ с параметрами flow: "SBP_ONLY" и availablePaymentMethods: ["CARD"].
  2. Перенаправьте покупателя по полученной ссылке paymentUrl.
  3. Обработайте результат оплаты по редиректу на onSuccess или onError.