見出し画像

Stripeで3Dセキュアに対応しているかを確認する方法


まえがき

2024年11月7日にStripeから「[重要] 3D セキュア必須化に向けて、年内の 3D セキュアの対応が必要です」という件名のメールが届きました。

昨今頻発するクレジットカードの不正利用により被害額が数百億円規模で年々増加している事を受けて、日本では経済産業省が各クレジットカード事業者に対して、2025年3月末までに、認証制度3Dセキュアを導入するよう通達したため今回のような対応が必要になったそうです。

Stripeから来たメール内容はこんな感じです。

Stripe をご利用いただきありがとうございます。
この度、XXXXXXX様のアカウントについて、2025 年 1 月 15 日までに 3D セキュア (EMV 3Dセキュア) 必須化に向けた必要な対応と実装の確認をお願いしたく、ご連絡を差し上げました。

年々増える不正対策の一環として、2025 年 3 月末までに、 原則として認証制度 3D セキュアの導入が義務付けられています。Stripe では、2025 年 1 月 15 日より適用条件を満たす取引に対して、3D セキュアの適用を段階的に開始します。2025 年 3 月末の制度施行までには、全ての取引に拡大いたします。それに伴い、3D セキュア認証が正しく実装されていない場合は一部の決済が失敗することになります。

3D セキュアへの対応状況を確認してください
ご利用中の Payment Intents API は 3D セキュアへ対応していますが、貴社の実環境において 3D セキュア認証が正しく実行できるかどうかを確認するために、下記のテストを行うことを推奨いたします。

1. 3D セキュアのテストカードを用いて、一連の決済フローのテストを行うことをお勧めします。
2. requires_action の状態の支払いに対して処理ができることを確認してください。
3. サーバー側で決済を確定している場合は、クライアント側で 3D セキュア認証を完了させるために追加の処理を行う必要があります。

また弊社の料金体系ページに基づき、3D セキュア認証の試行ごとに、手数料が課される場合がございますのでご注意ください。

段階的適用からの除外申請について
3D セキュアへの対応準備が 2025 年 1 月 15 日までに間に合わない場合、2025 年 1 月からの段階的な適用から除外を申請することができます。除外申請を行ったとしても、2025 年 3 月末には、該当するすべての取引に対して、3D セキュアが必要となることをご留意ください。

3D セキュアは、Payment Intents API のみに対応しています。Charges API は 2025 年 4 月 15 日以降は、Stripe のサポート対象外となる旨ご留意くださいませ。

詳細はサポート記事を参照ください。ご不明な点がございましたら、チャット、メール、電話によるサポートをいつでもご利用ください。

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セキュア対応が完了していることを指していますので、別途対応は不要です。

This is a test 3D Secure 2 authentication for a transaction with サービス名.
In live mode, customers will be asked to verify their identity with a push notification, a text message, or another method chosen by their bank.
 
これは、サービス名との取引のためのテスト 3D Secure 2 認証です。
ライブ モードでは、顧客はプッシュ通知、テキスト メッセージ、または銀行が選択した別の方法で本人確認を行うよう求められます。

と書かれているように、本番環境の際には3Dセキュア認証画面が出るとあります。今回私が試したところ、前述の全クレジットカードの中で”OK"ステータスではないカード情報では上記のようなポップアップが表示されましたので、きちんと動作していることが分かります。


確認方法B. Stripe運営に問い合わせる

2つ目の方法として、Stripe運営側に尋ねるという手もあります。
私が問合せた内容とその回答は以下の通りです。

(私の質問内容)
3Dセキュアについて質問です。「[重要] 3D セキュア必須化に向けて、年内の 3D セキュアの対応が必要です」というメールがStripeから来ました。
当社サービスに連携しているStripe決済画面に「https://docs.stripe.com/testing#regulatory-cards 」のテスト用カードを入力したところ添付図のようなポップアップが出ました。
このポップアップが出たという事は、問題なく3Dセキュア対応が実装済みであり別途の対応は不要だと意味していますか?
 
(Stripe担当者からの回答)
ご担当者さま
お世話になっております。StripeのXXXXXと申します。
お問い合わせいただきありがとうございます。
ご認識の通り、弊社のテスト用のクレジットカードをご利用いただいてポップアップが表示される場合ですと、本番環境では実際のクレジットカードをご記入いただくと3Dセキュア認証の画面が表示されることになりますで実装済みとなります。

また、弊社側で拝見いたしましたところ3Dセキュアに対応する実装になっているようで別途のご対応は不要です。

ご不明点などございましたら、いつでもお問い合わせください。
どうぞよろしくお願いいたします。

というように、Stripe側からも「私の環境は3Dセキュアに対応している」ことを証明して頂けました。


あとがき

3Dセキュア対応依頼メールが届いてから執筆時点で早2か月経ち、国やStripeが指示している対応期限まであと2か月しかありません。
当対応が必要なのはStripeを使っている全利用者ではなく、Checkout APIなどを使っている一部の方に限定されるようですが、「あなたは対応不要」とメールに記載があっても念のため確認しておくのがよいと思います。

一応25年1月現在では、3Dセキュアに未対応だったからと言って特段国による罰則はないそうですがStripe運営側としては、

  • クレジットカード決済が不能になる可能性がある

  • 通常、不信請求が発生した取引の補償義務はクレジットカード会社に移行するが、未対応が原因だった場合は事業者に全責任が移る

と公表しています。その時になって知らなかった忘れてたでは通らないので、猶予がある今の内から確認しておく事をお勧め致します。


参考資料


いいなと思ったら応援しよう!