支払いで 3D セキュア認証が要求されていても開始できない場合は、最終的に認証を行わずに支払いの完了が試行されます。このフォールバックの支払いによって、PaymentIntent のステータスが次のいずれかに更新されます。
succeeded
:支払いが完了し、指定した支払い方法で Charge オブジェクトが作成されます。これ以上のステップは必要ありません。
requires_capture
:リクエストが認証なしで完了し、引き続き売上をキャプチャーすることが可能です。
requires_payment_method
:支払いが失敗した可能性があり、別の支払い方法が要求されています。
一般的に、3D セキュアをトリガーする支払いでは、PaymentIntent のステータスが最終的に requires_action
になります。ここでは、3D セキュアが要求される一般的な決済フローを紹介します。
requires_action
に移行します。
ステップ 4 または 5 が失敗した場合、上記の決済フローは以下のような形に変更されます。
succeeded
、requires_capture
または requires_payment_method
に移行します。
すぐに支払いをブロックしたり、エラーを返したりせずにこうしたことを試行する理由は、コンバージョンの実現のために最適化することを選択しているからです。
このフォールバックの支払いが失敗した場合は、PaymentIntent のステータスが requires_payment_method
に更新されます。このフォールバックの支払いが成功した場合は、payment_method_details.card.three_d_secure.result
で当該のフォールバックの支払いのステータスが attempt_acknowledged
になっていない限り、支払いはライアビリティシフトでカバーされません。
認証されていない支払いとライアビリティシフトの詳細については、Radar for Fraud Teams による、ライアビリティシフトの対象とならない支払いの防止を参照してください。