概要
リダイレクト完了フローは、[リダイレクト開始] フローが完了してユーザーがカード発行会社のウェブ インターフェースで支払いを行った後に開始されます。完全リダイレクト フローの目的は次のとおりです。
- Google と決済インテグレーターに、支払いが正常に完了したことを通知します。
- インテグレータ経由で、お客様を Google にリダイレクトします。
フローの仕組み
インテグレータが完成したお支払い情報を Google に送信する方法は 3 つあります。
- インテグレータはユーザーを Google にリダイレクトし、お支払い情報をリダイレクト レスポンスに追加します。
- 支払いが完了すると、インテグレータは Google の RedirectPaymentCompleteNotification エンドポイントに HTTPS リクエストを送信します。
- Google が HTTPS リクエストをインテグレータの GetRedirectPaymentStatus エンドポイントに送信し、インテグレータから支払いの詳細が返されます。
リダイレクト フローを完了する
次のシーケンス図は、ユーザーのブラウザ、Google、インテグレータ、発行元の間のやり取りを示しています。
上の図のオブジェクトは次のとおりです。
- ユーザー: 支払いが完了したユーザーです。
- Google UI: お客様が支払いを開始した Google のウェブまたはアプリのインターフェース。
- Google サーバー: 完了したお支払いの詳細を取得し、購入した商品やサービスをユーザーに提供する Google のバックエンド サーバー。
- 決済インテグレータ: Google とカード発行会社の間の仲介役を担う決済インテグレータ。
- 発行元: ユーザーが支払いを行った発行元。
ユーザーがカード発行会社のウェブサイトで支払いを完了したばかりであると想定します。これにより、リダイレクト完了フローがトリガーされます。
- ユーザーがカード発行会社のポータルで支払いを完了します。
- カード発行会社は、完了した支払いに関する情報を含むインテグレータを指すリダイレクト URL を作成します。
- カード発行会社は、ユーザーを決済インテグレータのバックエンド サーバーにリダイレクトします。
- 決済インテグレータは、発行元のリダイレクトからの情報を使用して、リダイレクト レスポンスを作成します。
- 決済インテグレータは、ユーザーを Google にリダイレクトします。
- 決済インテグレータが RedirectPaymentCompleteNotification を Google に送信します。これは、ユーザーが支払いを完了した後にリダイレクトが失敗した場合に使用されます。
- Google がリダイレクト レスポンスまたは RedirectPaymentCompleteNotification が届かない場合、Google は GetRedirectPaymentStatus 呼び出しを決済インテグレータに送信します。決済インテグレータはこれに対して支払いステータス情報を返します。
- Google は支払い情報を処理して、購入した商品やサービスをユーザーに提供します。
リダイレクト支払い完了通知
上の図に示すように、リダイレクトの支払いが承認または不承認になったことをインテグレータが判断した場合、Google はインテグレータに RedirectPaymentCompleteNotification
を Google に送信するよう求めています。この通知は、ユーザーが Google にリダイレクトされる前または後に Google に送信されます。
リダイレクト開始から数日後でも、インテグレータは、リダイレクト支払いの完了(承認または拒否)を把握した場合も、Google に RedirectPaymentCompleteNotification
を送信する必要があります。これらの通知は、お支払いに関する最終ステータスの更新に役立ち、調整を適切に処理するために必要です。
ベスト プラクティスとその他の考慮事項
安全対策
リダイレクト レスポンス URL には、暗号化されていない redirectRequestId
フィールドと、同じ値を持つ暗号化された RedirectResponse オブジェクトが含まれます。Google は、これらの値の両方がリダイレクト リクエストで送信される requestId
フィールドと一致するかどうかを検証します。