Оплата Alfa Pay через API

Платежный сервис Роутер поддерживает оплату Alfa Pay через API. До появления поддержки этого способа оплаты другими банками-эквайерами, оплата Alfa Pay возможна только в Альфа-Банк.

Банк для Alfa Pay должен быть указан в настройках Партнера в Платежном сервисе. Чтобы изменить настройки, обратитесь в службу поддержки. Текущие настройки можно узнать, отправив запрос /settings/getRouterParams.do.

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

Регистрация заказа

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

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

Пример запроса

curl --request POST \
'https://api.router.rbsuat.com/v1/register.do' \
-H 'Content-Type: application/json' \
--data-raw \
'{
    "orderNumber": "order_123473",
    "amount": 1234,
    "currency": "643",
    "language": "ru",
    "returnUrl": "https://mybestmerchantreturnurl.com/success",
    "userName": "test_user",
    "password": "test_user_password",
    "clientId":"client_10001"
}'

3. Платежный сервис Роутер проверяет данные и регистрирует заказ.

4. Платежный сервис Роутер передает Партнеру идентификатор заказа в Платежном сервисе.

Пример ответа

{
    "errorCode": "0",
    "formUrl": "https://router.rbsuat.com/wl/payment.html?mdOrder=2dc811e7-8d1c-407a-bd25-a4f41f96cc60&language=en",
    "orderId": "2dc811e7-8d1c-407a-bd25-a4f41f96cc60",
    "orderNumber": "order_123457"
}

Оплата заказа

5. Партнер отправляет в Платежный сервис Роутер запрос на оплату /alfapay/paymentOrder.do.

Пример запроса:

curl --request POST \
'https://api.router.rbsuat.com/v1/alfapay/paymentOrder.do' \
--header 'Content-Type: application/json' \
--data '{
    "language": "ru",
    "orderId": "d02ea238-be2b-4ea8-b940-fd8833a7000f",
    "userName": "test_user",
    "password": "test_user_password",
}'

6. Платежный сервис Роутер регистрирует заказ в банке, который является целевым для Alfa Pay.

7. Банк передает в Платежный сервис Роутер идентификатор заказа в банке.

8. Платежный сервис Роутер сообщает банковский номер заказа и запрашивает ссылку на Alfa Pay.

9. Прокси Alfa Pay сообщает банку о начале оплаты, получает ссылку на Alfa Pay и возвращает ее в Платежный сервис Роутер.

10. Платежный сервис Роутер передает платежной странице ссылку на Alfa Pay.

Пример ответа:

{
    "data": {
    "orderId": "4c47056e-5ce7-4b62-989d-940a49e769f6",
    "redirect": "https://test-alfa-mobile.alfabank.ru/mobile/api/v1/goto-alfapay/alfapay?orderId=85af6430-9f86-7.....1hMzM5LWM2YzMwMTM2NjEwOA=="
    },
    "success": true
}

11. Клиент переходит на страницу Alfa Pay и выбирает карту для оплаты.

12. Банк-эквайер передает данные карты в прокси Alfa Pay. Дополнительно передается признак необходимости подтверждения платежа по 3DS.

13. Прокси Alfa Pay выполняет оплату заказа в банке. Если был запрошен 3DS, клиент дополнительно проходит 3DS аутентификацию — см. шаги для прохождения 3DS.

14. Банк возвращает статус оплаты в прокси Alfa Pay.

15. Прокси Alfa Pay сообщает на страницу Alfa Pay результат оплаты.

16. Страница Alfa Pay перенаправляет клиента на страницу результата оплаты. В зависимости от результата платежа это либо ссылка на failUrl, либо на returnUrl.

17. Клиент переходит на указанный адрес.

Отображение финального статуса оплаты

18. Партнер отправляет в Платежный сервис Роутер запрос статуса операции getOrderStatusExtended.do.

19-21. Платежный сервис Роутер запрашивает у банка и отправляет Партнеру статус заказа.

22. Партнер отображает Клиенту статус операции на финальной странице.

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