Оплата СБП через редирект

Платежный сервис Роутер поддерживает оплату по СБП с платежной страницы.

Оплата с помощью СБП может маршрутизироваться в один или несколько целевых банков. Банки для СБП указываются в настройках партнера в Платежном сервисе. Поддерживается маршрутизация в процентном соотношении (например, 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. Платежный сервис Роутер запрашивает в банке статус заказа и отправляет его на финальную страницу Клиента.

Категории:
router API V1
Категории
Результаты поиска