Интеграция через редирект
Интеграция через редирект — это простой и безопасный процесс, использующий платежную страницу на стороне платежного шлюза. Главное преимущество в том, что вам не нужно собирать и обрабатывать карточные данные на своем сайте. В этом случае API используется минимально, поэтому этот метод не требует большого опыта разработки.
Клиент выбирает продукт в интернет-магазине и нажимает на кнопку Купить.
Сервер интернет-магазина получает запрос на покупку.
Сервер интернет-магазина запрашивает регистрацию заказа, отправляя вызов API register.do платежному шлюзу. Этот запрос должен содержать параметр
amount
(сумма платежа в минимальных единицах валюты) и параметрreturnUrl
(адрес, на который будет перенаправлен клиент после успешной оплаты на шаге 9). Подробнее о редиректе после оплаты читайте здесь.
Пример запроса:
shell
curl --request POST \
--url https://abby.rbsuat.com/payment/rest/register.do \
--header 'content-type: application/x-www-form-urlencoded' \
--data amount=2000 \
--data currency=933 \
--data userName=test_user \
--data password=test_user_password \
--data returnUrl=https://mybestmerchantreturnurl.com \
--data description=my_first_order \
--data language=en
Также вы можете удерживать сумму на счете до списания средств с помощью вызова registerPreAuth.do. Чтобы узнать больше о холдировании и завершении, нажмите здесь.
- Сервер платежного шлюза регистрирует заказ и отправляет ответ на сервер интернет-магазина. Ответ содержит параметр
formUrl
(URL-адрес оплаты, на который интернет-магазин должен перенаправить покупателя на шаге 5) и параметрorderId
(уникальный номер заказа в системе платежного шлюза, будет использоваться на шаге 10).
Пример ответа:
json
{
"orderId": "01491d0b-c848-7dd6-a20d-e96900a7d8c0",
"formUrl": "https://abby.rbsuat.com/payment/merchants/payment_en.html?mdOrder=01491d0b-c848-7dd6-a20d-e96900a7d8c0"
}
Интернет-магазин перенаправляет покупателя на URL, полученный в параметре
formUrl
. Перенаправление может быть сделано в том же окне или в новом окне.Платежный шлюз открывает платежную ссылку.
Клиент вводит номер своей карты, срок ее действия и CVV/CVC и нажимает Оплатить.
В качестве альтернативы можно использовать токенизированные платежи через кошельки Apple Pay, Samsung Pay или Google Pay. В этом случае покупатель выбирает соответствующий вариант. Узнайте больше об использовании токенизированных платежей здесь.
Платежный шлюз обрабатывает запрос на оплату.
-
Покупатель перенаправляется на страницу интернет-магазина, указанную в параметре
returnUrl
(указывается на шаге 3). -
Интернет-магазин отправляет запрос getOrderStatusExtended.do платежному шлюзу, чтобы проверить статус заказа и убедиться, что заказ действительно оплачен. Запрос содержит параметр
orderId
, полученный на шаге 4. В ответе платежный шлюз возвращает статус заказа в параметреorderStatus
. Статус2
означает успешный платеж. Дополнительно возвращается параметрactionCode
— он содержит код ответа от процессинга банка. См. список кодов ответа здесь. Дополнительные сведения см. в разделе Получение статуса заказа.