Начать поток перенаправления

Обзор

Цель потока «Начать перенаправление» — перенаправить пользователя к интегратору платежей с достаточной информацией для завершения платежа. Интегратор, в свою очередь, перенаправляет пользователя на веб-интерфейс эмитента, пересылая информацию, предоставленную Google. Затем пользователь может следовать инструкциям эмитента для завершения платежа. Это запустит поток полного перенаправления .

Как работает поток

У пользователя есть два способа выбрать эмитента, который он будет использовать в качестве формы платежа (FOP).

  1. Пользователь выбирает эмитента в пользовательском интерфейсе Google.
  2. Пользователь выбирает интегратора в пользовательском интерфейсе Google и эмитента в пользовательском интерфейсе интегратора.

Пользователь выбирает эмитента в пользовательском интерфейсе Google

В этом случае пользователь выбирает эмитента во время выбора FOP в пользовательском интерфейсе Google, поэтому поле issuerId объекта formOfPayment в RedirectRequest будет содержать уникальный идентификатор, сгенерированный Google, который представляет эмитента. Обратите внимание: если интегратор платежей и эмитент являются одним и тем же лицом, Google сгенерирует issuerId для интегратора платежей. Запрос на перенаправление использует метод HTTPS GET с параметрами, закодированными в URL-адресе.

Начать процесс перенаправления (выбран эмитент)

На следующей диаграмме последовательности показано взаимодействие между браузером пользователя, Google, интегратором и эмитентом, когда пользователь выбирает эмитента в пользовательском интерфейсе Google:

Начать процесс перенаправления с выбранным эмитентом

Вот список объектов на диаграмме выше:

  • Пользователь : Это человек, который хочет совершить платеж.
  • Пользовательский интерфейс Google : веб-интерфейс или интерфейс приложения Google, в котором клиент инициирует платеж.
  • Сервер Google : внутренний сервер Google, который создает запрос на перенаправление.
  • Интегратор платежей : интегратор, который перенаправляет пользователя и запрос на перенаправление эмитенту.
  • Эмитент : Эмитент, в котором у пользователя есть учетная запись.

Для потока «Начать перенаправление» мы уже предполагаем, что пользователь находится на ресурсе Google (пользовательский интерфейс Google) и выбирает способ оплаты. Вот тут-то все и начинается.

  1. Пользователь выбирает конкретного эмитента, которого он хочет использовать для совершения платежа. Это то, что запускает поток Begin Redirect.
  2. Пользовательский интерфейс Google вызывает сервер Google (серверную часть) для создания нового запроса на перенаправление.
  3. Сервер Google создает запрос на перенаправление .
  4. Запрос на перенаправление отправляется в пользовательский интерфейс Google.
  5. Пользовательский интерфейс Google перенаправляет пользователя на сервер интегратора.
  6. Интегратор обрабатывает запрос на перенаправление Google и генерирует запрос на перенаправление для конкретного эмитента.
  7. Интегратор перенаправляет пользователя на веб-интерфейс эмитента.
  8. Пользователь проходит аутентификацию в веб-интерфейсе эмитента.
  9. Пользователь следует инструкциям на экране для завершения платежа.

Пользователь выбирает интегратора в пользовательском интерфейсе Google

В этом случае пользователь выбирает интегратора в пользовательском интерфейсе Google, поэтому в поле formOfPayment RedirectRequest будет установлено значение noneChosen , поскольку действительными FOP считаются только эмитенты. Интегратор должен предоставить пользовательский интерфейс, позволяющий пользователю выбрать одного из эмитентов, одобренного Google. Запрос на перенаправление использует метод HTTPS GET с параметрами, закодированными в URL-адресе.

Начать процесс перенаправления (выбран интегратор)

На следующей диаграмме последовательности показано взаимодействие между браузером пользователя, Google, интегратором и эмитентом, когда пользователь выбирает интегратора в пользовательском интерфейсе Google:

Начать процесс перенаправления с выбранным интегратором

Вот список объектов на диаграмме выше:

  • Пользователь : Это человек, который хочет совершить платеж.
  • Пользовательский интерфейс Google : веб-интерфейс или интерфейс приложения Google, в котором клиент инициирует платеж.
  • Сервер Google : внутренний сервер Google, который создает запрос на перенаправление.
  • Интегратор платежей : интегратор, в котором пользователь выбирает эмитента.
  • Эмитент : Эмитент, в котором у пользователя есть учетная запись.

Для потока «Начать перенаправление» мы уже предполагаем, что пользователь находится на ресурсе Google (пользовательский интерфейс Google) и выбирает способ оплаты. Вот тут-то все и начинается.

  1. Пользователь выбирает интегратора (а не конкретного эмитента) для осуществления платежа. Это то, что запускает поток Begin Redirect.
  2. Пользовательский интерфейс Google вызывает сервер Google (серверную часть) для создания нового запроса на перенаправление.
  3. Сервер Google создает запрос на перенаправление .
  4. Запрос на перенаправление отправляется в пользовательский интерфейс Google.
  5. Пользовательский интерфейс Google перенаправляет пользователя на веб-интерфейс интегратора.
  6. Интегратор обрабатывает запрос на перенаправление Google.
  7. Интегратор показывает пользователю доступных эмитентов.
  8. Пользователь выбирает конкретного эмитента, которого он хочет использовать для совершения платежа.
  9. Интегратор генерирует запрос на перенаправление для конкретного эмитента.
  10. Интегратор перенаправляет пользователя на веб-интерфейс эмитента.
  11. Пользователь проходит аутентификацию в веб-интерфейсе эмитента.
  12. Пользователь следует инструкциям на экране для завершения платежа.

Лучшие практики и другие соображения

Меры предосторожности

URL-адрес запроса на перенаправление будет включать незашифрованное поле callbackUrl и зашифрованное поле redirectRequest . Оба этих поля будут содержать requestId для текущей транзакции. Поставщик должен убедиться, что requestId идентичен как в callbackUrl , так и в зашифрованной полезной нагрузке, чтобы убедиться, что они связаны.