ネイティブプロビジョニング
ネイティブプロビジョニングプロセスは、Google Walletから直接新しい匿名の交通系カードを発行することを可能にします。
ワークフロー
以下はネイティブプロビジョニングワークフローの高レベルなステップです:
運賃商品の選択と支払い:ユーザーが購入したい運賃商品を選択します。選択後、ユーザーは選択した運賃商品の購入を認可し、支払いはPSPによって処理されます。
プロビジョニング:Googleがカード情報を含むプロビジョニングバンドルを取得します。
プロビジョニング結果:Googleがプロビジョニング結果を示す通知を送信します。
シーケンス図
運賃商品の選択と支払い
ユーザーはまずGoogle Wallet内で交通系カードを選択し、希望する有効な運賃商品をそのカードにチャージします。支払いに進む前に、Google Walletは交通イシュアの利用規約を表示し、ユーザーは継続するためにそれを確認して同意する必要があります。同意すると、ユーザーは支払いシートを表示する支払いインターフェースに誘導され、購入を完了するために有効な支払い用カードを選択できます。
エラーシナリオ
支払いの失敗やタイムアウトが発生した場合、Google Walletはユーザーにエラーを表示します。ユーザーは同じ支払い資格情報または別の支払い資格情報を使用して支払いを再試行できます。
重要な点として、Transit イシュアは支払いリクエストがPSPで検証され次第、デジタルカードを発行するために必要なデータの準備を開始するものとします。
プロビジョニング
ユーザーが支払いを正常に完了すると、Googleは暗号化されたプロビジョニングバンドルを取得するためのプロビジョニングリクエストの送信を開始します。
エラーシナリオ
Googleからプロビジョニングバンドル取得のリクエストがない
購入商品の応答とGoogleからのgetOpaqueAuthenticationCredentialリクエストの間に、D1 Transit側でタイムアウト期間が設定されます。
getOpaqueAuthenticationCredentialリクエストがこのタイムアウト期間内にD1 Transitに到達しない場合、カードアカウントおよびデジタルカード参照は完全に破棄されます。Transit イシュアは顧客に返金するものとします。
もしGoogleがタイムアウト後にgetOpaqueAuthenticationCredentialをリクエストした場合、D1 Transitはプロビジョニングバンドルがもはや利用できないことをGoogleに通知し、Googleはプロビジョニングワークフローを中止します。
プロビジョニング結果
Googleがプロビジョニングバンドルを受け取ると、鍵とデータは安全に抽出および保存されます。パーソナライズが完了した後、provisioningワークフローの結果を報告するためにacknowledgePaymentBundleがD1 Transitに送信されます。
エラーシナリオ
カードがデバイスにプロビジョニングされない
プロビジョニングに失敗した場合、GoogleはD1 Transitプラットフォームに対して通知を行いません。その結果、D1 Transitは設定されたタイムアウトが到達するのを待ちます(下記参照)。
GoogleからのacknowledgePaymentBundleリクエストがない
D1 TransitはGoogleにプロビジョニングバンドルを送信した後にタイムアウト期間を設けています。指定された期間内にacknowledgePaymentBundleが受信されない場合、D1 Transitはプロビジョニングを失敗と見なしてワークフローを完了し、すなわちTransit イシュアに通知して以下を行えるようにします:
顧客に返金し、カードアカウントが削除されたことをD1 Transitに通知する。
顧客がプッシュプロビジョニングを再度開始できるようにする
Transit イシュアは、以下に依拠することができます getCardAccountInfo APIは、意思決定を行うためにD1 Transitプラットフォーム内に保存されているcardAccount情報(カードアカウントの状態、カードアカウントにリンクされたデジタルカード)を確認するためのものです。
最終更新
役に立ちましたか?