# 日本における 3DS の導入の義務化について

最終更新日: 2025 年 6 月 25 日
2024 年 3 月 15 日にクレジットカード取引に関わる事業者が実施すべきセキュリティ対策を定めた「クレジットカード セキュリティガイドライン」が改訂されました ([クレジットカード セキュリティガイドライン［6.0版］](https://www.meti.go.jp/press/2024/03/20250305002/20250305002.html)参照)。
クレジットカード・セキュリティガイドラインには、オンライン販売を展開する加盟店 (Stripe ユーザー) は不正利用への対抗措置として 2025 年 3 月末までに 3D セキュア認証を導入しなければならないと規定されています。これは、国内外でオンライン決済を受け付けるすべての日本の事業者に適用されます。
[3D セキュア認証 (3DS)](https://stripe.com/jp/guides/3d-secure-2) とは、クレジットカード取引に認証レイヤー追加して、不正なカード支払いに対する賠償責任から企業を保護する仕組みです。
## Stripe の対応スケジュールについて
Stripe は、2025 年 1 月に 3D セキュア要件の適用条件を満たす決済に対して段階的な 3D セキュアの認証の適用を開始し、2025 年 3 月 31 日には 3DS 要件の適用が免除される決済を除き、100% の決済に適用を拡大しました。
2025 年 4 月以降、3D セキュアに対応できない古い API (Charges API および Orders API) でのクレジットカード決済の一部が失敗します。2025 年 6 月 30 日までに、これらの API を使用するすべてのクレジットカード決済が失敗するようになります。
## 対象取引について
3D セキュアの必須化対象外となる決済取引があります。ただし、例外や対象外となった取引は、3D セキュアを申請しない限り、免責 (ライアビリティシフト) の対象外です。Stripe の対象外取引の対応についての確認は、[資料](https://docs.stripe.com/payments/3d-secure/japan-exemptions)をご参照ください。
## API の実装方式についての確認
3D セキュアの導入が完了しているか確認するため、実装をテストカードで試すことをお勧めします。テストの方法に関する詳細なガイダンスは[資料](https://stripe.com/docs/testing#regulatory-cards)をご参照ください。
### Charges API を実装の場合
[Charges API](https://stripe.com/docs/payments/charges-api) と Orders API は 3D セキュア 2 をサポートしておりません。Charges API を使用している場合、クレジットカードの支払いは失敗します。支払い拒否の増加を避けるため、早めに [Payment Intents API](https://stripe.com/docs/payments/payment-intents/migration) に移行することを強くお勧めします。
### Payment Intents API を実装の場合
顧客に支払いの認証を促すため、システムで [`requires_action`](https://docs.stripe.com/api/payment_intents/object#payment_intent_object-status) 状態を処理できることを確認する必要があります。カード認証時に発生する[リクエストを処理できるように実装を変更する](https://docs.stripe.com/payments/3d-secure/authentication-flow)必要がございます。
また、[サーバー側で決済を確定している](https://docs.stripe.com/payments/finalize-payments-on-the-server?platform=web&type=payment#submit-payment)場合は、クライアント側で 3D セキュア認証を完了させるために追加の処理を行う必要があります。詳しくはこちらの[ガイド](https://docs.stripe.com/payments/3d-secure/authentication-flow#confirm-payment-intent)をご参照ください。
### Billing をご利用の場合
後述の「サブスクリプションを受け付ける場合はどうすればよいですか？」をご覧ください。
### API バージョン 2019-03-04 より前の Billing を使用している場合
API のバージョンを [2019-03-14](https://docs.stripe.com/upgrades#2019-03-14) 以降にアップグレードするか、[このガイド](https://docs.stripe.com/billing/migration/strong-customer-authentication#scenario-1)で説明されている [`payment_behavior`](https://docs.stripe.com/api/subscriptions/create#create_subscription-payment_behavior) パラメータを使用して、顧客のサブスクリプションの初回支払いが確実に認証されるようにする必要があります。
サードパーティやプラットフォームを通して Stripe を実装されている場合、仕様はサードパーティやプラットフォームに依拠しているため直接サードパーティやプラットフォームへご確認ください。
## 3D セキュア対応に関する顧客向けのコミュニケーション
3D セキュアに関する、お客様からの問い合わせ対応への準備が必要となります。必要に応じて、お客様向けのカスタマーサポートへの対応や記事等に、3D セキュアについての説明が含まれていることを確認してください。
## Radar と Radar for Teams の活用
Stripe では、世界中の 100 万社以上の決済データを分析した機械学習を活用し、不正利用を検出、ブロックする Radar という不正対策のプロダクトを提供しています。カードの種類や利用国、デバイスや行動などの数百を超えるシグナルをもとに、機械学習によるリスク判定を行います。3D セキュアを動的にリクエストする次の [3 種類のデフォルトの Radar ルール](https://stripe.com/docs/payments/3d-secure?platform=web#three-ds-radar)を提供しています。これらのルールをダッシュボードで設定することで、顧客のカード発行会社が 3D セキュアを要求するときに、顧客の追加認証をリクエストするようにできます。
また、固有のルールを設定可能な Radar for Teams では、3D セキュアと組み合わせることで、事業の顧客特性に合わせた独自のリスクをカスタマイズすることが可能です。リスクレベルや特定のメタデータに基づいて 3D セキュアを[リクエスト](https://stripe.com/docs/payments/3d-secure?platform=web#custom-rules-for-3d-secure-and-liability-shift)できます。これにより正当な支払いの過度なブロックや、決済承認率の低下と売上の減少を防ぎ、収益の最大化につなげることができます。
リスク判定によって 3D セキュアを動的にリクエストすることにより、不正対策を実施しつつ、カゴ落ちの可能性・頻度を抑えることが期待できます。なお、購入者の開始した取引を、保存されたカードと照合して必要なリスク分析を行う目的で Radar を使用することもできます。
# よくあるご質問
## 対面クレジットカード取引は対象外か？
物理的カードを使用する対面取引は、3D セキュアの導入基準の対象ではありません。
## 3D セキュアを導入しなかった場合、どうなりますか?
罰金等の罰則規定はありませんが、加盟店のセキュリティ対策措置 (クレジットカード番号等の適切な管理、不正利用の防止) が不十分な加盟店については、契約先のカード会社等による加盟店調査を通じて、必要なセキュリティ対策措置を早急に講じるよう指導等が行われることになります。なお、このような指導にもかかわらず、必要なセキュリティ対策が講じられない場合には、加盟店契約が解除される場合がございます。
## 手数料は発生しますか？
一般的に、3D セキュア認証によって手数料は発生しません。しかし、アカウントにカスタム料金体系が設定されている場合、3D セキュア認証の試行ごとに手数料が課される場合がございます。
## サードパーティを使っている場合、どうしたらいいですか？
サードパーティ/プラグインを通して Stripe をご利用いただいている場合でも、今回の 3DS セキュアに伴い変更が必要になる可能性がございます。最終的には、サードパーティ側の開発に依存します。つきましてはお手数ではございますが、できるだけ迅速にご利用のサードパーティ/プラグインへ直接ご連絡いただき、これらの規制に向けて準備/更新を行っていることを確認することをお勧めいたします。
## 3D セキュアが正しく機能しているかをテストするには、どうすればよいですか？
テスト API キーと[テストカード](https://docs.stripe.com/testing#regulatory-cards)を使用して、テスト取引を作成できます。認証が必要なテストカードを使用することで、3D セキュア認証を確認できます。Stripe は日本の 3D セキュア同意書ルールをテストする専用の環境を用意していないため、サポートチームでお客様のシステムを確認することはできません。
## 日本国外の顧客からの支払いを処理する場合も必須ですか？
日本のアカウントについては、国内カードと国際カードの両方について、新しい 3D セキュア要件に従う必要があります。
## 日本の顧客に販売する日本国外の事業者の場合は必須ですか？
いいえ、日本国外のアカウントはこの要件の対象外です。
## 3D セキュアを手動でトリガーするにはどうすればよいですか？
[3D セキュアの例外](https://docs.stripe.com/payments/3d-secure/japan-exemptions)がある場合でも、不正利用の疑いに対応できるように、手動で 3Dセキュアをトリガーして[ライアビリティシフト](https://docs.stripe.com/payments/3d-secure/authentication-flow#disputed-payments)を受けることをお勧めします。これには、ダッシュボードの Radar ルールまたは API を使用できます。
* Stripe は、[デフォルトの Radar ルール](https://docs.stripe.com/radar/rules#request-3d-secure)を提供しますが、Radar for Teams を使用すると[カスタムの 3D セキュアルール](https://docs.stripe.com/radar/rules#request-3d-secure)を追加できます。
* API の場合は、PaymentIntent や SetupIntent の作成時、または Checkout セッションの作成時に、最適化ターゲットに応じて [payment_method_options[card][request_three_d_secure]](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-payment_method_options-card-request_three_d_secure) を any または challenge に設定することで、3D セキュアを手動でトリガーできます。
## 認証はチャレンジフローとフリクションレスフローのどちらで行われますか？
基本的に、これはカード発行会社が行うリスク評価によって決まります。
* チャレンジフローは、取引が高リスクであると見なされたときに行われる追加認証です。通常、ワンタイムパスワードがカード発行会社からカード保有者にメールで送信され、カード保有者はそのパスワードを決済画面に入力します。
* カード発行会社が取引を低リスクであると判断した場合、追加の認証を要求しないことを選択する場合があり、そうした状況をフリクションレスフローと呼びます。
どちらの状況でも、[ライアビリティシフト](/questions/liability-shift-with-frictionless-flow-for-3d-secure-v2-%283ds2%29)が発生します。Payment Intents API でチャレンジフローを指定する場合は、‘[request_three_d_secure](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-payment_method_options-card-request_three_d_secure)’ で challenge を設定します。
## 事前に顧客からカード情報を収集し、後で請求する場合はどうすればよいですか？
ビジネスで事前にカードを保存する必要がある場合は、ログインしている顧客が実際にアカウントの所有者であることを確認する必要があります。厳重なアカウント管理と不正ログイン対策を実施する必要があります。
こうした対策を導入するには、以下の条件で Stripe が自動的に 3D セキュアを起動する [Setup Intents API](https://docs.stripe.com/api/setup_intents) を使用するか、Checkout の[設定モード](https://docs.stripe.com/payments/checkout/save-and-reuse)を利用してカード登録時にデフォルトで 3D セキュアをトリガーします。
* usage: off_session (デフォルト)
* usage: on_session & payment_method_options.card.request_three_d_secure: any
カード登録の際に 3D セキュア認証が実行されている場合、それ以降の取引では免除されます。ただし、取引ごとに、取引金額、商品 / サービス、属性、行動分析を基に不正利用リスクを評価し、必要と判断した場合は再度 3D セキュア認証を実行する必要があります。このような場合は、もう一度 SetupIntent を使用してください。
## 顧客からの 1 回限りの支払いが含まれるビジネスモデルの場合はどうすればよいですか？
まず、[3D セキュアテスト用カード](https://docs.stripe.com/testing#regulatory-cards)を使用して、既存の決済フローが正しく機能していることを確認してください。
- Checkout / 決済用リンク
- 変更不要
---
- Payment Intents API
- 決済が ‘[requires_action](https://docs.stripe.com/payments/3d-secure/authentication-flow#when-to-use-3d-secure)’ の状態で処理できることを確認してください。
---
- インボイス作成
- 変更不要
---
- Charges API
- [Payment Intents API への移行](https://stripe.com/docs/payments/payment-intents/migration)が必要です
---
- ダッシュボード
- コーディング不要の [Checkout](https://docs.stripe.com/payments/checkout) または Invoicing をお勧めします
---
- Billing
- 後述の「サブスクリプションを受け付ける場合はどうすればよいですか？」をご覧ください。
基本的な追加作業が不要な場合でも、システムが [3D セキュアを処理](https://docs.stripe.com/payments/3d-secure/authentication-flow)していることは確認するようにお勧めします。
## サブスクリプションを受け付ける場合はどうすればよいですか？
まず、[3D セキュアテスト用カード](https://docs.stripe.com/testing#regulatory-cards)を使用して、既存の決済フローが正しく機能していることを確認してください。
* カードの詳細情報を入力する際に 3D セキュアをトリガーする場合は、「事前に顧客からカード情報を収集し、後で請求する場合はどうすればよいですか？」セクションをご覧ください。
* カード詳細の入力時に 3D セキュアをトリガーせず、初回決済時にトリガーする場合は、usage を on_session として指定します。
Subscriptions API を使用し、カード入力後に SetupIntent オブジェクトを手動で作成しない場合、3D セキュアの必要に応じてオブジェクトが作成されます。フロントエンドで[これを処理](https://docs.stripe.com/billing/subscriptions/overview#authentication-failures)して、ユーザーが 3D セキュア認証を完了できるようにする必要があります。
継続支払いでは、カード登録時または初回決済時に 3D セキュア認証が完了していると、以降の支払いでは免除されるため、3D セキュア認証を行う必要はありません。ただし、契約内容の変更や追加購入に関連する顧客とのやり取りがある場合は、再度 3D セキュア認証の実行が必要になります。
