HubspotとStripeの3Dセキュア認証対応をしてるんですけど

クレジット決済実装に関するメモです。
私の自社サイトはHubspotを使っています。サービスの申し込みをしていただく際の工数削減に、クレジットカード決済を入れています(一部)。本当は日本のクレジットカード会社の決済を入れたいのですが、Hubspotと連携して使えるサービスが、今のところStripe社一択なので、Stripeを導入しています。
※参考:HubSpot決済機能の設定
※参考:インターネットの決済インフラStripe
ですが、クレジットカードの不正利用が増えたことを受けて、2025年4月までに経産省よりEMV‐3Dセキュア(カード決済時に本人認証を行うサービス)対応が義務化されました。
※参考:「クレジットカード・セキュリティガイドライン」が改訂されました
それを受けて、Stripe社から日本のサービス利用者に向けて、2025年4月15日以降、3Dセキュア対策未実施の場合、決済失敗等が起こっても責任持てないから対応してくださいねっていうお知らせが来ました。
※参考:日本における 3DS の導入の義務化について
で、対応し始めたら、Hubspotの預かり案件になりました。「アメリカに聞いてみる」と。今は待ってるところなので、その経緯を未来の私のためにメモしておきます。自分のBacklogにも書いたんですけど。
Hubspotに相談した
私が最初にHubspotに送った相談メールはこんな内容です。
LPでStripeを使って、支払いリンクを作成し、決済できるようにしているのですが、
Stripe社より、「Charges API と Orders API は 3D セキュア 2 をサポートしておりません。Charges API を使用している場合、クレジットカードの支払いは失敗します。支払い拒否の増加を避けるため、早めに Payment Intents API に移行することを強くお勧めします。」という通知を受け取りました。
日本における 3DS の導入の義務化についてこの場合、Hubspotと連携しているStripeもアカウントごとにこの設定を行う必要がありますか? それとも、Hubspotと連携している部分に関しては対応は不要でしょうか。
この内容を送ると、AIから返信が来ました。おそらく私のような駆け込み対応の方が多いと思うので、当然の対応です。
すごく長い文章の重要部分だけ抜き出すと、こちらの内容がポイントになります。
Stripeが強く推奨しているとおり、クレジットカード支払いの3Dセキュア2に対応するには、**Charges APIではなくPayment Intents APIを利用する必要があります**。これは、Stripeアカウント全体の設定として進めるのが一般的で、HubSpot連携分を含めた決済処理を一元的に移行・管理する流れになります。
上記をご覧いただき、Stripeアカウント側でPayment Intents APIを有効化することで3Dセキュア2が利用できるようになります。当面はアカウント全体の設定移行を検討いただくのが確実です。もしHubSpotの決済機能でより詳しい情報が必要な場合は、Stripeサポートや弊社サポート窓口にもあわせてお尋ねください。
ということで、Stripeのダッシュボードを開いて、いろいろ確認したけど結局私にはわかりませんでした。なので、Stripe社にお伺いしてみることにしました。
Stripe社に相談した
Stripe社のサポートに連絡した内容は、だいたいこんな内容です。
■お伺い
「Charges API と Orders API は 3D セキュア 2 をサポートしておりません。Charges API を使用している場合、クレジットカードの支払いは失敗します。支払い拒否の増加を避けるため、早めに Payment Intents API に移行することを強くお勧めします」という通知を受け取り、対応したいのですが、Stripeアカウントのどこをどう設定すればいいでしょうか。次のページを見たのですが、よくわかりませんでした。申し訳ありません。
https://support.stripe.com/questions/3ds-mandate-in-japan■弊社での設定
・Hubspotと連携してStripeを導入
・Hubspot内で支払いリンクを生成し、HubspotのCMSでつくった記事に支払いリンク貼り付け→決済という流れで作成・利用しています。
この内容を受けて、お返事をいただきました。
通常、Hubspot のようなサードパーティーやプラグインをご利用で決済を作成されている場合、3Dセキュア認証に対応した決済を作成できる状態であるかの確認やそれに関する実装について、サードパーティーやプラグインの開発環境に依存します。
日本における 3DS の導入の義務化についてそのため、大変恐れ入りますが、3Dセキュア認証の対応について実装が完了しているか、Hubspot さまへ直接お問合せいただけますでしょうか。
ふりだしに戻りました。出されたページは私が最初に見ていたページで、それで解決しないから問い合わせをしたんですけど、Stripe側ではこれ以上の情報が、私のようなもの(非プログラマー)に向けた情報のすべてのようでした。
で、またHubspotに相談した
めげずに連絡よぉ。
サポートセンターに問い合わせした際にいただいた御社AIの返信を参考に確認しまして、Stripe社に相談したところ、以下のような返答をいただきました。下記について確認したいのですが、どこで確認ができるか教えていただいてもよろしいでしょうか
▼Stripe社からの返信
通常、Hubspot のようなサードパーティーやプラグインをご利用で決済を作成されている場合、3Dセキュア認証に対応した決済を作成できる状態であるかの確認やそれに関する実装について、サードパーティーやプラグインの開発環境に依存します。
日本における 3DS の導入の義務化についてそのため、大変恐れ入りますが、3Dセキュア認証の対応について実装が完了しているか、Hubspot さまへ直接お問合せいただけますでしょうか。
と、お出ししたところ、お返事をいただきました。
本件に関しましては、一度連携に関わる部分であるか、対応が必要な部分があるかについて製品チームと確認をさせていただきます。
アメリカにおりますチームとのやり取りになりますため、数営業日ほどお時間を頂くことになってしまうかと存じますが、チームから連絡が入り次第ご報告させて頂きます。
ということで、アメリカ預かりになりました。
HubspotもStripeもどちらも1営業日で返信をくださるので、大変ありがたいし、次に何をすればいいか検討もつけやすいので、とても助かります。
Stripeを抜くフローに変えるのが大変
ということで、3Dセキュア未対応のままにしておくと、決済が失敗したり、決済できても弊社口座に入金されないリスクがあるので、ひとつずつStripe決済を外しています。その作業が大変で。
- Stripe決済を入れる場合
金額設定
→支払いリンク作成
→リンクボタンに設置
→決済完了で領収書メールが自動配信される
という具合にとってもスムーズ。ですが、これをStripe決済を抜いて、銀行振込に変えると、こんなフローに代わります。たとえば9種のメニューと金額があるとすれば、支払いリンクを9つつくって設定すれば、作業完了です。
- 銀行振込に変えた場合
金額設定
→申し込みフォーム作成
→申し込みフォームに対応したメニュー・金額ごとの自動配信メールを作成
→申し込みフォームに埋め込む
→領収書は自動で出ないので「必要な場合はお問い合せください」の一文をQAに追加
→支払い完了メールをメニュー・金額ごとに作成
銀行振込に変えた場合、たとえば9種のメニューと金額があるとすれば、フォームひとつにつき自動配信メールを2本つくることになります。ですから、フォーム9つ、自動配信メールを18本つくります。そして、それをひとつずつ埋め込みます。
Stripe対応の支払いリンク作成の4倍の手間です。手間を省くためにクレジット決済入れてるのにぃぃぃぃとほぞをかんで、泣きながらフォームをつくっています(うそ)。Stripeはアカウント凍結のリスクもあるので、もうこのまま銀行振込にしようかなと、心が揺れてます。
日本のクレジットカード会社、Hubspotと連携してくれないかしら。