Google Payのトランザクションにおけるステップアップ認証について
最近、オンラインショッピングやデジタル決済の普及が進む中で、セキュリティの強化がますます重要になっています。特に、Google Payのような電子決済サービスでは、トランザクションの安全性を確保するためのさまざまな対策が必要です。その一つとして知られているのが「ステップアップ認証」です。
ステップアップ認証とは?
ステップアップ認証は、ユーザーの行動や特定のリスク信号に基づいて、追加の認証手続きを求めるプロセスのことを指します。例えば、トランザクションの際に「3Dセキュア」にリダイレクトされて再認証を求められるケースがこれに該当します。この方法により、潜在的な詐欺やチャージバックのリスクが低減されるのです。
Google Payトランザクションにステップアップは必要か?
Google Payを通じてのトランザクションにおいて、ステップアップ認証が必要かどうかは、具体的な状況に依存します。Google Pay APIを使用してトランザクションを処理する際、以下の二つの結果が返されます。
- 追加のステップアップやチャレンジなしで処理できる認証済みのペイロード
- 追加の認証手続きを必要とする主アカウント番号(PAN)
例えば、ユーザーがGoogle Walletに支払いカードを追加した場合、すでに発行元銀行とのアイデンティティ認証が完了しているため、ステップアップは必要ありません。しかし、Chromeのオートフィル機能を通じて保存された支払いカードで購入を行う場合、追加の認証が求められることになります。
トランザクションに必要な認証方法の指定
Google Payトランザクションに対して、要求したい認証方法を指定することができます。これには「allowedAuthMethods」パラメータを使用します。例えば、次のように設定できます:
"allowedAuthMethods": [ "CRYPTOGRAM_3DS", "PAN_ONLY" ]
この設定を行うことで、ユーザーがチェックアウトプロセス中に二種類のカード(PAN_ONLYおよびCRYPTOGRAM_3DS)を選択できるようになります。
具体的なシナリオの例
次に、具体的なシナリオを二つ見てみましょう。
- シナリオ1: ユーザーがGoogle Walletに追加したカードを選択した場合。カードのアートと発行元銀行の名前が表示され、CRYPTOGRAM_3DS認証方式で処理されるため、ステップアップは不要です。
- シナリオ2: 一方、ユーザーが一般的なカードネットワークのアイコンが表示された場合、これはPAN_ONLY認証方式であり、ステップアップが必要です。
どのようにステップアップ認証を適用するか
Google Pay APIで「loadPaymentData」メソッドを呼び出すと、暗号化されたペイメントトークンが返されます。これを復号化すると、paymentMethodDetailsオブジェクトの中に「assuranceDetails」というプロパティが含まれています。
"assuranceDetails": {
"cardHolderAuthenticated": true,
"accountVerified": true
}
この二つの値に基づいて、ステップアップ認証が必要かどうかを判断することができます。以下のテーブルに示すように、両方の値がtrueである場合にのみ、ステップアップをスキップできます。
今後のステップ
もしまだ「assuranceDetails」を使用していない場合、今すぐに導入を検討してください。また、ステップアップトランザクションが必要である場合には、しっかりと実行することが重要です。さらに、強い顧客認証(SCA)ガイドを確認することで、欧州経済地域(EEA)内での決済処理についても理解を深めてください。
最新情報については、Twitterで「@GooglePayDevs」をフォローするとよいでしょう。質問がある場合は、@GooglePayDevsに言及し、#AskGooglePayDevsを含めてツイートすると、より直接的に回答を得ることができます。
Google Payを使った安全でスムーズな決済体験のために、今回の情報を参考にしていただければ幸いです。