0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Stripeにおける3DS入門

Posted at

はじめに

2025年3月に3DSが日本で強要されるようになるので、Stripe を使っている開発者として、最低限の知識・理解を身につけたい!

なので、以下の資料をお元にメモを書いた:

3DS とは

  • クリエジットカードの不正利用を防ぐための仕組み
  • カード会社/銀行、ビジネス、決済サービスにより設けられる
  • 動き方:カードで支払いする際、決済サービスがカード会社/銀行に問い合わせして、その回答によってユーザに対して追加の認証を求める(例:ワンタイムパスワードの入力)

3DS (カード会社/銀行への問い合わせ+それに伴うユーザに対する追加認証要求)はいつ起きる?タイミングはどう決まる?

タイミングを影響する3つに登場人物が関係する

  • 行政(のルール)
    • 最低限を定めている
  • 決済サービス (Stripe)
    • 行政の最低限に加え、3DS を自ら起こすタイミングを条件を公開している
  • カード会社/銀行
    • 3DS をいつ起こすかが各会社/銀行の判断基準によるため、不透明

上記に踏まえ、Stripe の免除条件に合わせようとしても、結局カード会社/銀行の都合でいつでも強要される可能性あり。

機能・メリット

  • 当然の不正利用防止
  • 不正利用が発生した場合、被害者への返金の責任が、ビジネスからカード会社/銀行に移動

3DS1、3DS2 の違い

2 の方が、決済サービスがカード会社/銀行に遅れる情報の量はい多い
おかげで、「追加認証が不要」の判定の率が上がり、決済がよりスムーズになる
また、スマホの機能をより駆使できる

  • 例えばスマホのアプリにて追加認証ができる
  • リダイレクトの頻度が下がる

国によって強要される、されない

EU 、シンガポール、などでは強要されるが、免除できる例外がある
ただ、免除してもらうと、被害者への返金の責任が、ビジネスからカード会社/銀行に移動しなくなる!

日本は2025年3月から、EU 達と同様になる

アメリカがゆるい

Stripe での 3DS

免除される場面、その条件:

CIT (ユーザが画面で操作している)

決済時、以下の全てを満たせベ、3DSが免除される

  • 登録時に、SetupIntent を usage=on_session で作成する
  • 登録時3DS を強要 (SetupIntent をpayment_method_options.card.request_three_d_secure=challenge で作成する)
  • 決済時に以下の2つ以上を実施すること
    • 海外からの攻撃が非常に多いため、「不審な IP アドレスからのアクセス制限」を行う。
    • 複数の連続ログイン失敗時にアカウントロック
    • 不正ログインをされた場合でも、会員本人に気づきを与えられるように、二要素認証などによる本人確認を行う。
    • ログイン時にユーザにメールやSMSで通知
    • 下認証、瞳認証などの手段

MIT (ユーザがいない、 バッチ(?)でやるサブスク用の定期決済など)

前提:カード登録時に、SetupIntent を usage=on_session で作成する

  • 決済の基となる契約、サービス内容への変更がある場合
    - 最初の決済は CIT であること
    - その決済にて 3DS を強要する (PaymentIntent を payment_method_options.card.request_three_d_secure=challenge で作成する)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?