Обзор
Поток «Полное перенаправление» запускается после завершения потока «Начать перенаправление» и выполнения пользователем платежа в веб-интерфейсе эмитента. Целью потока полного перенаправления является:
- Сообщите Google и платежному интегратору , что платеж прошел успешно.
- Перенаправьте пользователя обратно в Google через интегратора.
Как работает поток
Интегратор может передать заполненную платежную информацию в Google тремя различными способами.
- Интегратор перенаправляет пользователя в Google, добавляя в ответ на перенаправление платежную информацию.
- Интегратор отправляет HTTPS-запрос в конечную точку Google RedirectPaymentCompleteNotification после завершения платежа.
- Google отправляет HTTPS-запрос в конечную точку GetRedirectPaymentStatus интегратора, и интегратор отправляет в ответ данные платежа.
Полный процесс перенаправления
На следующей диаграмме последовательности показано взаимодействие между браузером пользователя, Google, интегратором и эмитентом:
Вот список объектов на диаграмме выше:
- Пользователь : Это человек, совершивший платеж.
- Пользовательский интерфейс Google : веб-интерфейс или интерфейс приложения Google, в котором клиент инициировал платеж.
- Сервер Google : внутренний сервер Google, который получает заполненные платежные данные и предоставляет пользователю приобретенные товары или услуги.
- Платежный интегратор . Платежный интегратор, который будет выступать в качестве посредника между Google и эмитентом.
- Эмитент : Эмитент, через которого пользователь произвел платеж.
Мы предполагаем, что пользователь только что завершил оплату на веб-сайте эмитента, что запускает поток полного перенаправления.
- Пользователь совершает оплату на портале эмитента.
- Эмитент создает URL-адрес перенаправления, указывающий на интегратора, с информацией о совершенном платеже.
- Эмитент перенаправляет пользователя на внутренний сервер платежного интегратора.
- Интегратор платежей создает ответ перенаправления , используя информацию из перенаправления эмитента.
- Платежный интегратор перенаправляет пользователя в Google.
- Платежный интегратор отправляет в Google уведомление RedirectPaymentCompleteNotification . Используется в случае сбоя перенаправления после того, как пользователь завершил оплату.
- Если Google не получит ответ о перенаправлении или RedirectPaymentCompleteNotification , Google отправит вызов GetRedirectPaymentStatus интегратору платежей, который должен ответить информацией о статусе платежа.
- Google обрабатывает платежную информацию и предоставляет пользователю приобретенные товары или услуги.
Уведомление о завершении перенаправления платежа
Как показано на диаграмме выше, Google требует, чтобы интеграторы отправляли в Google уведомление RedirectPaymentCompleteNotification
, когда интегратор определяет, что перенаправленный платеж был принят или отклонен. Это уведомление можно отправить в Google до или после того, как пользователь будет перенаправлен обратно в Google.
Если интегратор узнает о завершении (принятии или отклонении) перенаправленного платежа даже через несколько дней после начала перенаправления, он все равно должен отправить в Google RedirectPaymentCompleteNotification
. Эти уведомления помогают обновить окончательный статус платежа и необходимы для правильной обработки сверки.
Лучшие практики и другие соображения
Меры предосторожности
URL-адрес ответа на перенаправление будет включать незашифрованное поле redirectRequestId
и зашифрованный объект RedirectResponse с тем же значением. Google проверит, что оба этих значения соответствуют полю requestId
, отправленному в запросе на перенаправление .