Интеграция через редирект
Интеграция через редирект — это простой и безопасный процесс, использующий платежную страницу на стороне платежного шлюза. Главное преимущество в том, что вам не нужно собирать и обрабатывать карточные данные на своем сайте. В этом случае API используется минимально, поэтому этот метод не требует большого опыта разработки.
Клиент выбирает продукт в интернет-магазине и нажимает на кнопку Купить.
Сервер интернет-магазина получает запрос на покупку.
-
Сервер интернет-магазина запрашивает регистрацию заказа, отправляя вызов API register.do платежному шлюзу. Этот запрос должен содержать параметр
amount
(сумма платежа в минимальных единицах валюты) и параметрreturnUrl
(адрес, на который будет перенаправлен клиент после успешной оплаты на шаге 9). Подробнее о редиректе после оплаты читайте здесь.Пример запроса:
curl --request POST \ --url https://vtb.rbsuat.com/payment/rest/register.do \ --header 'content-type: application/x-www-form-urlencoded' \ --data amount=2000 \ --data currency=643 \ --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).Пример ответа:
{ "orderId": "01491d0b-c848-7dd6-a20d-e96900a7d8c0", "formUrl": "https://vtb.rbsuat.com/payment/merchants/payment_en.html?mdOrder=01491d0b-c848-7dd6-a20d-e96900a7d8c0" }
Интернет-магазин перенаправляет покупателя на URL, полученный в параметре
formUrl
. Перенаправление может быть сделано в том же окне или в новом окне.Платежный шлюз открывает платежную ссылку.
Клиент вводит номер своей карты, срок ее действия и CVV/CVC и нажимает Оплатить.
Платежный шлюз обрабатывает запрос на оплату.
-
Покупатель перенаправляется на страницу интернет-магазина, указанную в параметре
returnUrl
(указывается на шаге 3). -
Интернет-магазин отправляет запрос getOrderStatusExtended.do платежному шлюзу, чтобы проверить статус заказа и убедиться, что заказ действительно оплачен. Запрос содержит параметр
orderId
, полученный на шаге 4. В ответе платежный шлюз возвращает статус заказа в параметреorderStatus
. Статус2
означает успешный платеж. Дополнительно возвращается параметрactionCode
— он содержит код ответа от процессинга банка. См. список кодов ответа здесь.
Дополнительные сведения см. в разделе Получение статуса заказа.