BubbleでStripeの3D Secure(3DS)対応をする方法

はじめに

2025年3月末までにオンライン決済で3D Secure(3DS)対応が必須化されます。
しかし、Bubbleの公式Stripeプラグインは現時点で3DS認証に対応していません。(はず、詳細があれば @tsubasatwi へ連絡下さい)→

“Strong Customer Authentication (SCA) is supported”
→ プラグイン メニューからドロップダウンで「Checkout v3」を選択して有効にすると、SCA(強力な顧客認証) で3D Secureを含む認証手段をすることがわかりました。
提供していただいた皆様ありがとうございました。
https://manual.bubble.io/core-resources/bubble-made-plugins/stripe


このままでは、3月末以降にクレジットカード決済が失敗し、売上が落ちる可能性があります。

本記事では、Bubble初心者でも短期間で3D Secureに対応できる方法を解説します。
Stripe.js 2を使う方法APIコネクターでPayment Intents APIを直接利用する方法、2つの代替案を紹介します。


1. 3D Secure対応の必要性(なぜ企業が急ぐべきか)

日本のクレジットカード業界では、2025年3月末までに3D Secureを導入することが義務化されています(参考:日本クレジット協会)。

3D Secureは、クレジットカード決済時に追加認証(ワンタイムパスワードなど)を求める仕組みで、不正利用対策として導入されます。Stripeも2025年3月31日以降、3DSを適用しない取引を受け付けなくなる予定です(参考:Stripe公式)。

未対応の場合、決済が失敗するリスクが高まるため、早急な対応が必要です!


2. Bubble公式Stripeプラグインの現状(未対応)

Bubbleの公式StripeプラグインはCharges APIを使用しており、Payment Intents APIには完全には対応していない可能性があります(どなたか?教えてください)
そのため、3D Secureを要求されるカード決済では処理が失敗することがあります。

Bubbleフォーラムでも「公式プラグインでは3D Secure対応が難しい」という意見が多く見られます(参考:Bubbleフォーラム)。

そこで、以下の2つの方法で3D Secure対応を実現しましょう。


3. 代替案①:Stripe.js2 プラグインを活用する方法(初心者向け)

Stripe.js 2は、Bubble用のStripe決済プラグインで、Payment Intents APIと3D Secureに対応しています。

導入手順

  1. Bubbleのプラグインページから「Stripe.js2 」をインストール
  2. StripeのAPIキー(公開キー・秘密キー)を設定
  3. 「Create a Payment Intent」アクションを追加
  4. 「Confirm Payment」アクションで3D Secure認証を処理
  5. Webhookを設定し、支払い結果を受け取る

詳しい手順は、Stripe.js 2公式ドキュメントをご参照ください。


4. 代替案②:APIコネクターを使ってStripe Payment Intents APIを利用(技術者向け)

公式プラグインを使わず、APIコネクターを利用してStripeのPayment Intents APIを直接呼び出す方法です。

手順

  1. StripeのAPIキーを取得Stripeダッシュボード
  2. BubbleのAPIコネクターで以下のエンドポイントを設定
    • POST https://api.stripe.com/v1/payment_intents
    • GET https://api.stripe.com/v1/payment_intents/{id}
  3. 支払い実行時に3D Secureを処理
  4. Webhookを設定し、認証結果を受け取る

詳しくはStripe公式ドキュメントをご覧ください。


5. 短期間で実装するためのステップ

  1. 代替案を選択(Stripe.js 2 / APIコネクター / Pay.jp)
  2. テスト環境で実装(開発環境でAPIキーを設定)
  3. 3D Secureの動作確認(テストカード番号を使用)
  4. 本番環境にデプロイ(実カードで最終確認)
  5. ユーザー通知・FAQ準備(3DS導入について案内)

7. 今後の対応と注意点

Bubble公式プラグインのアップデート情報を確認(将来的な3DS対応の可能性)
Stripeの仕様変更に注意(最新のPayment Intents APIに対応する)
ユーザーサポートの準備(「決済できない」問い合わせへの対応)

早めの対応で、安心して決済を継続できる環境を整えましょう!

この記事を書いた人

tsubasatwi( つばさ)

国立工業高専卒業(新居浜工業高等専門学校)
「イベント×IT×営業」のカスタマーサクセスマネージャーとして活躍。セールス→構築管理運用まで全体プロジェクト管理の豊富な経験あり。

・主にITに関するイベント集客/法人営業/開発を担当
・大手通信会社を中心にエンタープライズのIT導入を担当(B2B)

DMMで日本初の NoCodeサロン を運営
「NoCodeCamp プログラミングを使わないIT開発 」
https://lounge.dmm.com/detail/2549/