Оплата СБП через редирект
Платежный сервис Роутер поддерживает оплату по СБП с платежной страницы.
Оплата с помощью СБП может маршрутизироваться в один или несколько целевых банков. Банки для СБП указываются в настройках партнера в Платежном сервисе. Поддерживается маршрутизация в процентном соотношении (например, 40% в банк А и 60% в банк Б), а также по некоторым параметрам платежа (сумма заказа, features заказа и т.п.).
Чтобы включить возможность принимать платежи через СБП, выбрать целевые банки и настроить критерии маршрутизации, обратитесь в службу технической поддержки. Текущие настройки можно узнать, отправив запрос /settings/getRouterParams.do.
Схема интеграции

Включение СБП на платежной странице
Чтобы способ оплаты СБП был доступен на платежной странице Платежного сервиса, необходимо в запросе регистрации заказа указать в параметре allowedPaymentWays среди прочих способов оплаты значение "SBP_C2B". Ниже приведен пример запроса.
1. Клиент инициирует покупку товара или услуги на сайте Партнера.
2. Партнер отправляет в Платежный сервис Роутер запрос на регистрацию заказа: register.do для одностадийной оплаты или registerPreAuth.do для двухстадийной оплаты. Особенности двухстадийной оплаты с помощью СБП описаны в разделе Двухстадийная оплата и СБП.
Для того чтобы на платежной странице появилась кнопка для оплаты СБП, при регистрации заказа в параметре allowedPaymentWays среди прочих способов оплаты должен быть добавлен способ оплаты "SBP_C2B".
Пример запроса:
curl -X POST 'https://api.router.rbsuat.com/v1/register.do' -H 'Content-Type: application/json' \
--data-raw '{
"orderNumber": "order_123508",
"amount": 10000,
"currency": "643",
"language": "ru",
"returnUrl": "https://mybestmerchantreturnurl.com/success",
"failUrl": "https://mybestmerchantreturnurl.com/fail",
"userName": "test_user",
"password": "test_user_password",
"allowedPaymentWays": [
"SBP_C2B",
"CARD_BINDING",
"CARD"
]
}'3. Платежный сервис Роутер проверяет данные Партнера и регистрирует заказ.
Перенаправление на платежную страницу
4. Платежный сервис Роутер передает Партнеру ссылку на платежную страницу.
Пример ответа:
{
"errorCode": "0",
"formUrl": "https://router.rbsuat.com/wl/payment.html?mdOrder=f9584546-2613-4a0d-896f-0194d243865f&language=ru",
"orderId": "f9584546-2613-4a0d-896f-0194d243865f",
"orderNumber": "order_123508"
}5. Партнер перенаправляет Клиента на платежную страницу.
Оплата СБП
6. Клиент переходит на платежную страницу.
7. Клиент (платежная страница) запрашивает в Платежном сервисе параметры платежа.
8. Платежный сервис Роутер передает на платежную страницу данные о доступных способах оплаты.
9. Клиент выбирает платежный инструмент СБП.

10. (Опция) При оплате с десктопа Клиент запрашивает в Платежном сервисе QR код.
11. (Опция) При оплате с мобильного устройства Клиент выбирает банк, в котором открыт счет Клиента, с которого он хочет произвести оплату.
- На мобильном устройстве Клиента должно быть установлено приложение выбранного банка. Переход на следующий шаг не произойдет, пока не будет выбран банк с установленным приложением.
- В зависимости от того, какой банк выбрал Клиент, Роутер на своей стороне может выбрать наиболее подходящего эквайера. Например, если среди эквайеров Партнера имеется банк Клиента, то можно настроить правила маршрутизации таким образом, что Роутер выберет тот же банк-эквайер, что выбрал клиент. Таким образом СБП перевод происходит внутри одного банка, что уменьшает комиссию за перевод.

12. Платежный сервис Роутер осуществляет выбор нужного банка на основе правил маршрутизации.
13-16. Платежный сервис Роутер отправляет в выбранный банк запрос на регистрацию заказа и генерацию QR-кода и получает результаты запросов.
17. (Опция) При оплате с десктопа Платежный сервис Роутер отправляет QR код на платежную страницу Клиента.

18. (Опция) При оплате с мобильного устройства Платежный сервис Роутер перенаправляет Клиента в приложение выбранного банка или на страницу онлайн-банка (в зависимости от настроек банка на стороне СБП).
19-22. Клиент (платежная страница) периодически запрашивает статус оплаты в Платежном сервисе. Если статус изменен, переход на шаг 23.
23. После изменения статуса оплаты Платежный сервис Роутер перенаправляет Клиента на финальную страницу в зависимости от результата платежа: в случае ошибки на failUrl, а в случае успешной оплаты на returnUrl. При этом к URL адресу будет добавлен query-параметр orderId=[идентификатора заказа в Платежном сервисе].
Финальный статус заказа
24. Клиент (финальная страница) запрашивает в Платежном сервисе финальный статус операции методом getOrderStatusExtended.do.
25-27. Платежный сервис Роутер запрашивает в банке статус заказа и отправляет его на финальную страницу Клиента.