Оплата Цифровым рублем через редирект

Платежный сервис Роутер поддерживает оплату Цифровым рублем с платежной страницы.

Оплата с помощью Цифрового рубля всегда производится в определенный (целевой) банк. При этом платежи с использованием цифровых рублей происходят через универсальный QR-код сети Системы быстрых платежей (СБП). Таким образом для платежей цифровым рублем и СБП-платежей в настройках партнера в Платежном сервисе должен быть указан один и тот же банк. Для изменения этого банка необходимо обратиться в техподдержку. Текущие настройки можно узнать, отправив запрос /settings/getRouterParams.do.

Схема интеграции

Включение способа оплаты Цифровым рублем на платежной странице

Чтобы оплата Цифровым рублем была доступна на платежной странице Платежного сервиса, необходимо в запросе регистрации заказа указать в параметре allowedPaymentWays среди прочих способов оплаты значение "UNIQR_C2B". Ниже приведен пример запроса.

1. Клиент инициирует покупку товара или услуги на сайте Партнера.

2. Партнер отправляет в Платежный сервис Роутер запрос на регистрацию заказа: register.do для одностадийной оплаты или registerPreAuth.do для двухстадийной оплаты. Подробнее об этих видах оплаты см. в разделе Двухстадийные платежи.

Для того чтобы на платежной странице появилась кнопка для оплаты Цифровым рублем, при регистрации заказа в параметре allowedPaymentWays среди прочих способов оплаты должен быть добавлен способ оплаты "UNIQR_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": [
        "UNIQR_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. Клиент выбирает платежный инструмент СБП - Универсальный QR.

Оплата Цифровым рублем

10. Клиент запрашивает в Платежном сервисе QR код.

11. Платежный сервис Роутер осуществляет выбор банка, в котором у Партнера настроен прием СБП платежей.

12. Платежный сервис Роутер отправляет в выбранный банк запрос на регистрацию заказа.

13. Банк передает в Платежный сервис Роутер результат регистрации заказа.

14. Платежный сервис Роутер отправляет в выбранный банк запрос на генерацию QR кода.

15. Выбранный банк генерирует одноразовый динамический QR код и отправляет результат в Платежный сервис Роутер.

16. Платежный сервис Роутер отправляет QR код на платежную страницу Клиента.

17. Клиент (платежная страница) периодически запрашивает статус QR кода в Платежном сервисе.

18. Платежный сервис Роутер запрашивает статус QR кода в банке.

19. Банк возвращает статус QR кода в Платежный сервис Роутер.

20. Платежный сервис Роутер отправляет статус QR кода на платежную страницу Клиента. Если статус не изменен, возвращение на шаг 18. Если изменен — переход на шаг 21.

21. После изменения статуса QR кода Платежный сервис Роутер перенаправляет Клиента на финальную страницу в зависимости от результата платежа: в случае ошибки на failUrl, а в случае успешной оплаты на returnUrl. При этом к URL адресу будет добавлен query-параметр orderId=[идентификатора заказа в Платежном сервисе].

Финальный статус заказа

22. Клиент (финальная страница) запрашивает в Платежном сервисе финальный статус операции методом getOrderStatusExtended.do.

23-25. Платежный сервис Роутер запрашивает в банке статус заказа и отправляет его на финальную страницу Клиента.

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