По любому вопросу мы в одном клике

Задать вопрос

Интеграция через редирект

Интеграция через редирект — это простой и безопасный процесс, использующий платежную страницу на стороне платежного шлюза. Главное преимущество в том, что вам не нужно собирать и обрабатывать карточные данные на своем сайте. В этом случае API используется минимально, поэтому этот метод не требует большого опыта разработки.

Интеграция через редирект

  1. Клиент выбирает продукт в интернет-магазине и нажимает на кнопку Купить.

  2. Сервер интернет-магазина получает запрос на покупку.

  3. Сервер интернет-магазина запрашивает регистрацию заказа, отправляя вызов API register.do платежному шлюзу. Этот запрос должен содержать параметр amount (сумма платежа в минимальных единицах валюты) и параметр returnUrl (адрес, на который будет перенаправлен клиент после успешной оплаты на шаге 9). Подробнее о редиректе после оплаты читайте здесь.

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

    curl --request POST \
    --url https://dev.bpsprocessing.ru/payment/rest/register.do \
    --header 'content-type: application/x-www-form-urlencoded' \
    --data amount=2000 \
    --data currency=978 \
    --data userName=test_user \
    --data password=test_user_password \
    --data returnUrl=https://mybestmerchantreturnurl.com \
    --data description=my_first_order \
    --data language=en
    

    Также вы можете удерживать сумму на счете до списания средств с помощью вызова registerPreAuth.do. Чтобы узнать больше о холдировании и завершении, нажмите здесь.

  4. Сервер платежного шлюза регистрирует заказ и отправляет ответ на сервер интернет-магазина. Ответ содержит параметр formUrl (URL-адрес оплаты, на который интернет-магазин должен перенаправить покупателя на шаге 5) и параметр orderId (уникальный номер заказа в системе платежного шлюза, будет использоваться на шаге 10).

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

    {
    "orderId": "01491d0b-c848-7dd6-a20d-e96900a7d8c0",
    "formUrl": "https://dev.bpsprocessing.ru/payment/merchants/payment_en.html?mdOrder=01491d0b-c848-7dd6-a20d-e96900a7d8c0"
    }
    
  5. Интернет-магазин перенаправляет покупателя на URL, полученный в параметре formUrl. Перенаправление может быть сделано в том же окне или в новом окне.

  6. Платежный шлюз открывает платежную ссылку.

  7. Клиент вводит номер своей карты, срок ее действия и CVV/CVC и нажимает Оплатить.

    В качестве альтернативы можно использовать токенизированные платежи через кошельки Apple Pay, Samsung Pay или Google Pay. В этом случае покупатель выбирает соответствующий вариант. Узнайте больше об использовании токенизированных платежей здесь.

  8. Платежный шлюз обрабатывает запрос на оплату.

  9. Покупатель перенаправляется на страницу интернет-магазина, указанную в параметре returnUrl (указывается на шаге 3).

  10. Интернет-магазин отправляет запрос getOrderStatusExtended.do платежному шлюзу, чтобы проверить статус заказа и убедиться, что заказ действительно оплачен. Запрос содержит параметр orderId, полученный на шаге 4. В ответе платежный шлюз возвращает статус заказа в параметре orderStatus. Статус 2 означает успешный платеж. Дополнительно возвращается параметр actionCode — он содержит код ответа от процессинга банка. См. список кодов ответа здесь.
    Дополнительные сведения см. в разделе Получение статуса заказа.

Категории:
eCommerce API V1