Обзор
Цель потока «Начать перенаправление» — перенаправить пользователя к интегратору платежей с достаточной информацией для завершения платежа. Интегратор, в свою очередь, перенаправляет пользователя на веб-интерфейс эмитента, пересылая информацию, предоставленную Google. Затем пользователь может следовать инструкциям эмитента для завершения платежа. Это запустит поток полного перенаправления .
Как работает поток
У пользователя есть два способа выбрать эмитента, который он будет использовать в качестве формы платежа (FOP).
- Пользователь выбирает эмитента в пользовательском интерфейсе Google.
- Пользователь выбирает интегратора в пользовательском интерфейсе Google и эмитента в пользовательском интерфейсе интегратора.
Пользователь выбирает эмитента в пользовательском интерфейсе Google
В этом случае пользователь выбирает эмитента во время выбора FOP в пользовательском интерфейсе Google, поэтому поле issuerId
объекта formOfPayment
в RedirectRequest будет содержать уникальный идентификатор, сгенерированный Google, который представляет эмитента. Обратите внимание: если интегратор платежей и эмитент являются одним и тем же лицом, Google сгенерирует issuerId
для интегратора платежей. Запрос на перенаправление использует метод HTTPS GET с параметрами, закодированными в URL-адресе.
Начать процесс перенаправления (выбран эмитент)
На следующей диаграмме последовательности показано взаимодействие между браузером пользователя, Google, интегратором и эмитентом, когда пользователь выбирает эмитента в пользовательском интерфейсе Google:
Вот список объектов на диаграмме выше:
- Пользователь : Это человек, который хочет совершить платеж.
- Пользовательский интерфейс Google : веб-интерфейс или интерфейс приложения Google, в котором клиент инициирует платеж.
- Сервер Google : внутренний сервер Google, который создает запрос на перенаправление.
- Интегратор платежей : интегратор, который перенаправляет пользователя и запрос на перенаправление эмитенту.
- Эмитент : Эмитент, в котором у пользователя есть учетная запись.
Для потока «Начать перенаправление» мы уже предполагаем, что пользователь находится на ресурсе Google (пользовательский интерфейс Google) и выбирает способ оплаты. Вот тут-то все и начинается.
- Пользователь выбирает конкретного эмитента, которого он хочет использовать для совершения платежа. Это то, что запускает поток Begin Redirect.
- Пользовательский интерфейс Google вызывает сервер Google (серверную часть) для создания нового запроса на перенаправление.
- Сервер Google создает запрос на перенаправление .
- Запрос на перенаправление отправляется в пользовательский интерфейс Google.
- Пользовательский интерфейс Google перенаправляет пользователя на сервер интегратора.
- Интегратор обрабатывает запрос на перенаправление Google и генерирует запрос на перенаправление для конкретного эмитента.
- Интегратор перенаправляет пользователя на веб-интерфейс эмитента.
- Пользователь проходит аутентификацию в веб-интерфейсе эмитента.
- Пользователь следует инструкциям на экране для завершения платежа.
Пользователь выбирает интегратора в пользовательском интерфейсе Google
В этом случае пользователь выбирает интегратора в пользовательском интерфейсе Google, поэтому в поле formOfPayment
RedirectRequest будет установлено значение noneChosen
, поскольку действительными FOP считаются только эмитенты. Интегратор должен предоставить пользовательский интерфейс, позволяющий пользователю выбрать одного из эмитентов, одобренного Google. Запрос на перенаправление использует метод HTTPS GET с параметрами, закодированными в URL-адресе.
Начать процесс перенаправления (выбран интегратор)
На следующей диаграмме последовательности показано взаимодействие между браузером пользователя, Google, интегратором и эмитентом, когда пользователь выбирает интегратора в пользовательском интерфейсе Google:
Вот список объектов на диаграмме выше:
- Пользователь : Это человек, который хочет совершить платеж.
- Пользовательский интерфейс Google : веб-интерфейс или интерфейс приложения Google, в котором клиент инициирует платеж.
- Сервер Google : внутренний сервер Google, который создает запрос на перенаправление.
- Интегратор платежей : интегратор, в котором пользователь выбирает эмитента.
- Эмитент : Эмитент, в котором у пользователя есть учетная запись.
Для потока «Начать перенаправление» мы уже предполагаем, что пользователь находится на ресурсе Google (пользовательский интерфейс Google) и выбирает способ оплаты. Вот тут-то все и начинается.
- Пользователь выбирает интегратора (а не конкретного эмитента) для осуществления платежа. Это то, что запускает поток Begin Redirect.
- Пользовательский интерфейс Google вызывает сервер Google (серверную часть) для создания нового запроса на перенаправление.
- Сервер Google создает запрос на перенаправление .
- Запрос на перенаправление отправляется в пользовательский интерфейс Google.
- Пользовательский интерфейс Google перенаправляет пользователя на веб-интерфейс интегратора.
- Интегратор обрабатывает запрос на перенаправление Google.
- Интегратор показывает пользователю доступных эмитентов.
- Пользователь выбирает конкретного эмитента, которого он хочет использовать для совершения платежа.
- Интегратор генерирует запрос на перенаправление для конкретного эмитента.
- Интегратор перенаправляет пользователя на веб-интерфейс эмитента.
- Пользователь проходит аутентификацию в веб-интерфейсе эмитента.
- Пользователь следует инструкциям на экране для завершения платежа.
Лучшие практики и другие соображения
Меры предосторожности
URL-адрес запроса на перенаправление будет включать незашифрованное поле callbackUrl
и зашифрованное поле redirectRequest
. Оба этих поля будут содержать requestId
для текущей транзакции. Поставщик должен убедиться, что requestId
идентичен как в callbackUrl
, так и в зашифрованной полезной нагрузке, чтобы убедиться, что они связаны.