プッシュプロビジョニング
プッシュプロビジョニングワークフローは、ユーザーがイシュアのアプリから Google ウォレットへカードをプロビジョニングできるようにします。
ワークフロー
以下はプッシュプロビジョニングワークフローの高レベルなステップです:
プロビジョニング
開始:TapAndPay API を使用してプッシュプロビジョニングプロセスを開始します。
バンドル配信:Google はカード情報を含むプロビジョニングバンドルを取得します。
プロビジョニング結果:Google はプロビジョニング結果を示す通知を送信します。
このワークフローは、ユーザーが既にカードアカウントに紐づく有効なトランジットカードを所有していることを前提としています。ユーザーがトランジットカードを持っていない場合、トランジット事業者のアプリから購入するか、サポートされている場合はプラスチックカードの内容をアプリで読み取ってから Google ウォレットにプロビジョニングすることができます。
シーケンス図
重要なのは、支払いリクエストが PSP によって検証され次第、Transit イシュアはデジタルカードを発行するために必要なデータの準備を開始するものとすることです。
プロビジョニング
ユーザーが「Google ウォレットに追加」ボタンを押すと、トランジット事業者のモバイルアプリはプロビジョニングバンドルの準備を開始するためにカード情報をバックエンドに提供する必要があります。D1 Transit は、プロビジョニングワークフローを開始するために必要な詳細を含む encryptedData ペイロードを生成します。この encryptedData ペイロードはトランジット事業者のモバイルアプリに返され、アプリは続いて TapAndPay API の pushTokenizeRequest を呼び出して Google とのプロビジョニングワークフローを開始します。
Google は encryptedData を受信すると、最終的に暗号化されたプロビジョニングバンドルを取得するために D1 Transit と EMV トークン化プロセスを開始します。
エラーシナリオ
プロビジョニングバンドル取得のための Google からのリクエストがない場合
プロビジョニングバンドル準備レスポンスと Google からのプロビジョニング要求の間にタイムアウト期間が D1 Transit 側で設定されています。
このタイムアウト期間内に D1 Transit にプロビジョニング要求が受信されない場合、プロビジョニングは失敗と見なされます。
タイムアウト後に Google がプロビジョニングを要求した場合、D1 Transit はプロビジョニングバンドルが既に利用できないことを Google に通知し、Google はプロビジョニングワークフローを中止します。
プロビジョニング結果
Google がプロビジョニングバンドルを受信すると、鍵とデータは安全に抽出および保存されます。パーソナライズが完了すると、プロビジョニングワークフローの結果を報告するために acknowledgePaymentBundle が D1 Transit に送信されます。
エラーシナリオ
カードがデバイスにプロビジョニングされない場合
プロビジョニングが失敗した場合、Google は D1 Transit プラットフォームに対して通知を行いません。その結果、D1 Transit は設定されたタイムアウトが到達するのを待ちます(以下参照)。
Google からの acknowledgePaymentBundle リクエストがない場合
D1 Transit はプロビジョニングバンドルを Google に送信した後にタイムアウト期間を設けています。指定された期間内に acknowledgePaymentBundle が受信されない場合、D1 Transit はプロビジョニングを失敗と見なしてワークフローを完了し、つまりトランジットイシュアに通知して以下を行えるようにします:
顧客に返金し、カードアカウントが削除されたことを D1 Transit に通知する。
顧客がプッシュプロビジョニングを再度開始できるようにする。
トランジットイシュアは以下に依拠することができます getCardAccountInfo API を使って D1 Transit プラットフォーム内に保存されているカードアカウント情報(カードアカウントの状態、カードアカウントに紐づくデジタルカード)を確認し、意思決定を行います。
最終更新
役に立ちましたか?