概要
リダイレクト開始フローの目的は、支払いを完了するために十分な情報を提供して、決済インテグレータにユーザーをリダイレクトすることです。次に、インテグレータはユーザーを発行者のウェブ インターフェースにリダイレクトし、Google から提供された情報を転送します。その後、お客様はカード発行会社の指示に沿って支払いを完了できます。これにより、Complete Redirect のフローがトリガーされます。
フローの仕組み
お支払い方法(FOP)に使用するカード発行会社を選択するには、2 つの方法があります。
- ユーザーが Google のユーザー インターフェース(UI)で発行元を選択します。
- ユーザーは Google の UI でインテグレータを選択し、インテグレータの UI で発行元を選択します。
ユーザーが Google の UI で発行者を選択する
この場合、ユーザーは Google の UI でお支払い方法を選択する際にカード発行会社を選択します。そのため、RedirectRequest の formOfPayment
オブジェクトの issuerId
フィールドには、カード発行会社を表す Google が生成した一意の識別子が含まれます。なお、決済インテグレータとカード発行会社が同じ法人である場合、Google は決済インテグレータ用の issuerId
を生成します。リダイレクト リクエストでは HTTPS GET メソッドを使用し、パラメータが URL にエンコードされます。
リダイレクト フローの開始(カード発行会社が選択)
次のシーケンス図は、ユーザーが Google の UI で発行元を選択したときの、ユーザーのブラウザ、Google、インテグレータ、発行元間のやり取りを示しています。
上の図のオブジェクトは次のとおりです。
- ユーザー: 支払いを行うユーザーです。
- Google UI: ユーザーが支払いを開始する、Google のウェブまたはアプリのインターフェース。
- Google サーバー: リダイレクト リクエストを作成する Google のバックエンド サーバー。
- 決済インテグレータ: ユーザーとリダイレクト リクエストをカード発行会社に転送するインテグレータ。
- 発行元: ユーザーがアカウントを持っている発行元。
リダイレクト開始のフローでは、ユーザーが Google プロパティ(Google UI)にアクセスしていて、お支払い方法を選択していることはすでに想定しています。すべてはここから始まります。
- ユーザーは、支払いに使用するカード発行会社を選択します。これによってリダイレクト開始フローがトリガーされます。
- Google UI が Google サーバー(バックエンド)を呼び出して、新しいリダイレクト リクエストを作成します。
- Google サーバーがリダイレクト リクエストを作成します。
- リダイレクト リクエストが Google UI に送信されます。
- Google UI で、ユーザーはインテグレータのサーバーにリダイレクトされます。
- インテグレータは Google のリダイレクト リクエストを処理し、発行元固有のリダイレクト リクエストを生成します。
- インテグレータは、発行元のウェブ インターフェースにユーザーをリダイレクトします。
- ユーザーは発行元のウェブ インターフェースで認証を行います。
- お客様は画面上の手順に沿って支払いを完了します。
ユーザーが Google の UI でインテグレータを選択する
この場合、ユーザーは Google の UI でインテグレータを選択します。有効な FOP と見なされるのはカード発行会社のみであるため、RedirectRequest の formOfPayment
フィールドが noneChosen
に設定されます。インテグレータは、Google が承認した発行元の 1 つをユーザーが選択できる UI を提供する必要があります。リダイレクト リクエストでは HTTPS GET メソッドを使用し、パラメータが URL にエンコードされます。
リダイレクト フローを開始(インテグレータが選択)
次のシーケンス図は、ユーザーが Google の UI でインテグレータを選択したときの、ユーザーのブラウザ、Google、インテグレータ、発行元間のやり取りを示しています。
上の図のオブジェクトは次のとおりです。
- ユーザー: 支払いを行うユーザーです。
- Google UI: ユーザーが支払いを開始する、Google のウェブまたはアプリのインターフェース。
- Google サーバー: リダイレクト リクエストを作成する Google のバックエンド サーバー。
- 決済インテグレータ: ユーザーが発行者を選択するインテグレータ。
- 発行元: ユーザーがアカウントを持っている発行元。
リダイレクト開始のフローでは、ユーザーが Google プロパティ(Google UI)にアクセスしていて、お支払い方法を選択していることはすでに想定しています。すべてはここから始まります。
- ユーザーは(特定のカード発行会社ではなく)インテグレータを選択して支払いを行います。これによってリダイレクト開始フローがトリガーされます。
- Google UI が Google サーバー(バックエンド)を呼び出して、新しいリダイレクト リクエストを作成します。
- Google サーバーがリダイレクト リクエストを作成します。
- リダイレクト リクエストが Google UI に送信されます。
- Google UI で、ユーザーはインテグレータのウェブ インターフェースにリダイレクトされます。
- インテグレータが Google のリダイレクト リクエストを処理します。
- インテグレータは利用可能な発行者をユーザーに表示します。
- ユーザーは、支払いに使用するカード発行会社を選択します。
- インテグレータは、発行元固有のリダイレクト リクエストを生成します。
- インテグレータは、発行元のウェブ インターフェースにユーザーをリダイレクトします。
- ユーザーは発行元のウェブ インターフェースで認証を行います。
- お客様は画面上の手順に沿って支払いを完了します。
ベスト プラクティスとその他の考慮事項
安全対策
リダイレクト リクエスト URL には、暗号化されていない callbackUrl
フィールドと暗号化された redirectRequest
フィールドが含まれます。これらの両方のフィールドには、現在のトランザクションの requestId
が含まれます。ベンダーは、callbackUrl
と暗号化されたペイロードの両方で requestId
が同一であることを確認し、これらが関連していることを検証する必要があります。