1
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?

3Dセキュアの組込におけるCookie属性の確認

Posted at

2025年3月末からECサイトへの本人認証(EMV 3-Dセキュア)の導入が義務化されることになりました。
クレジットカードで決済可能なシステムの場合、決済代行会社のSDKなど用いて修正が必要になりますね。

3Dセキュアに関してはご存じだと思いますが、決済時にカード会社のサイトに飛んで、本人確認ができたら再度ECサイト側に戻ってきて決済する、という仕組みです。

003-2.png

参考:https://www.sbpayment.jp/service/method/3d/

リダイレクト先からセッションが維持されない!

かなり古いフレームワークを使用しているサイトで、カード会社からの認証リダイレクトで戻ってくる際に、セッション情報(購入した商品の情報等)が維持されない現象がおきました。
しかし、原因は至極単純なものでした。

CookieのSameSite属性を確認する

ChromeはVer80からCSRF対策で、Cookieセット時にSameSite属性が適切に指定されていない場合、外部からそのサイトにPOSTなどでアクセスされた際に発行されたサイトのCookieが強制的に無効になります。
そのため、セッションにSameSite=None Secure;の属性がついていないとカード会社のサイトから戻ってきたときにセッションが切れてしまいます。

サイト側のセッションに常にSameSite=None Secure; を付与することで解決できます。

外部リンク型の決済の場合既に対応されているケースが多いと思いますが、組み込み型でやっていると上記ケースで実装されている場合もありそうなので、お気を付けください。

Dev ToolsでこうなってればOKかと。
Cap_3ds.png

古えのフレームワークバージョンだと、そもそもセッションの属性を指定できなかったりで結構大変だったのですが、それはまた別のお話…。

1
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
1
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?