Stripeで3Dセキュアに対応しているかを確認する方法
まえがき
2024年11月7日にStripeから「[重要] 3D セキュア必須化に向けて、年内の 3D セキュアの対応が必要です」という件名のメールが届きました。
昨今頻発するクレジットカードの不正利用により被害額が数百億円規模で年々増加している事を受けて、日本では経済産業省が各クレジットカード事業者に対して、2025年3月末までに、認証制度3Dセキュアを導入するよう通達したため今回のような対応が必要になったそうです。
Stripeから来たメール内容はこんな感じです。
メール本文にも書かれているように、Payment Intents APIを使っている場合は3Dセキュアへ対応済みなので、特段別途の処置は不要になります。
ただ、後半に書かれているように本当に有効になっているかをテストする必要があるとのことなので、該当する方は確認が必要になります。
本稿では、どんな確認をしてどんな表示がでたら対応OKと判断していいかを記していきます。
本稿では、実際に3Dセキュアに対応するやり方を指南する記事ではありませんのでご了承ください。
あくまでも「対応しているかどうかは、どこをみて判別したらいいか」に着目した内容になっています。
もし対応が必要になった場合は別途Stripe運営側に問い合わせるか、他の記事を参考にして頂けますようお願い致します。
確認方法A. テスト用クレジットカードを使う
メール本文中にもある「テストカード」はリンクになっています。( https://58.email.stripe.com/CL0/https:%2F%2Fstripe.com%2Fdocs%2Ftesting%23regulatory-cards/1/01000193058df6c1-b80c8fe9-1289-45c7-8e46-bb3a12757151-000000/aXSVz_Xz9kZqdD_DGjez2PROrH4gJsesI8BkuqCEY2A=378 )
このリンク先を見るといくつかのテスト用クレジットカード番号が載せられているので、それを使います。
確認手順
テスト環境のStripeキーを実装している開発画面を開きます。
→私の場合はWindows内にXamppを起動しLaravelで開発していたので、Stripe決済ページである http://localhost/subscribe を開きました。Stripeのドキュメントに従い標準的な実装をしているのであれば、下記図のようにカード入力フォームがあるはずです。
そこに、上記のテスト用クレジットカードを入力していきます。すると下記図のようにポップアップが表示されます。
このようなポップアップが表示されれば、そのStripeアカウントでは3Dセキュア対応が完了していることを指していますので、別途対応は不要です。
と書かれているように、本番環境の際には3Dセキュア認証画面が出るとあります。今回私が試したところ、前述の全クレジットカードの中で”OK"ステータスではないカード情報では上記のようなポップアップが表示されましたので、きちんと動作していることが分かります。
確認方法B. Stripe運営に問い合わせる
2つ目の方法として、Stripe運営側に尋ねるという手もあります。
私が問合せた内容とその回答は以下の通りです。
というように、Stripe側からも「私の環境は3Dセキュアに対応している」ことを証明して頂けました。
あとがき
3Dセキュア対応依頼メールが届いてから執筆時点で早2か月経ち、国やStripeが指示している対応期限まであと2か月しかありません。
当対応が必要なのはStripeを使っている全利用者ではなく、Checkout APIなどを使っている一部の方に限定されるようですが、「あなたは対応不要」とメールに記載があっても念のため確認しておくのがよいと思います。
一応25年1月現在では、3Dセキュアに未対応だったからと言って特段国による罰則はないそうですがStripe運営側としては、
クレジットカード決済が不能になる可能性がある
通常、不信請求が発生した取引の補償義務はクレジットカード会社に移行するが、未対応が原因だった場合は事業者に全責任が移る
と公表しています。その時になって知らなかった忘れてたでは通らないので、猶予がある今の内から確認しておく事をお勧め致します。