SBペイメント経験者がStripeとAIに感動した話:仕様書なしでVISA 3Dセキュア対応を完遂する新時代の開発

こんにちは、okamoです。

今回は、現在開発中の個人向けメディアシステム「homepage」における「決済機能」の実装について、技術選定と実装の裏側をお話しします。

私はこれまで、SBペイメントサービス(SBPS)のリンク型決済やAPI型、Paygent、GMO、Amazon Payなど、国内の主要な決済代行サービス(PG)を利用するシステムを数多く実装してきました。ハッシュ計算、固定IP制限、厳密な仕様書……。個人の開発者がサクッと導入するには少々ハードルが高いのも事実です。

今回、個人向けメディアシステムの開発にあたり「Stripe」を採用したのですが、従来の国内の決済代行会社との「アーキテクチャの違い」はもちろん、「生成AIを味方につけた開発体験」に衝撃を受けました。

特に、昨今厳格化されているVISAの3Dセキュア要件(属性情報の連携)の実装において、設計書を一文字も読まずにAIへの相談だけで設計指針が固まったプロセスを中心に、「インボイス対応」「法務対応」について共有します。

1. 「仕様書」はもう読まない、AIが知っているから

SBPS等の実装経験がある方なら共感していただけると思いますが、まず開発を始める前に「仕様書」を取り寄せ、エラーコード表とパラメータ一覧をExcelやPDFで読み込み、不明点をサポートに問い合わせる作業から始まります。これらはクローズドな情報であるため、ChatGPTやClaudeなどのAIは詳細な仕様を知りません。

一方、Stripeの場合、世界標準かつドキュメントがWeb公開されているため、AIが完全に仕様を理解しています。

AIとの対話だけで終わる設計

「Stripe Checkoutを使って、Node.jsで課金機能を実装したい。日本の商習慣に合わせて3Dセキュアも対応したい」

そうAIに投げかけるだけで、最新のAPIバージョンに対応したコードとパラメータ設計が返ってきます。

  • 国内の決済代行サービス:仕様書のPDFを目視確認し、ハッシュ計算ロジック(SHA-256等)を自力で実装。文字コード(Shift-JIS)の変換トラブルと戦う。
  • Stripe × AI:AIが提示したSDKのコードをコピペし、微調整するだけ。ハッシュ計算もパラメータ順序も気にする必要なし。

「仕様書を読み解く」というエンジニアの工数が、AIとStripeの組み合わせによって消滅しました。

2. 複雑なVISA 3Dセキュア対応もAIと壁打ち

今回のシステムは「有料記事の都度課金」ですが、VISAをはじめとするカードブランドの要件(EMV 3-D Secure)では、リスク判定の精度を高めるために「カード名義人名」や「電話番号」等の属性情報の連携が強く推奨されています。

ここもAIに相談しました。

「Stripe CheckoutでVISAの属性連携要件(3Dセキュア)を満たすためのベストプラクティスを教えて」

すると、AIは即座に以下の2つのパターンを提示し、それぞれのメリット・デメリットを整理してくれました。

AIが提示した解決策

A. 決済画面でユーザーに入力させる

APIでセッションを作成する際、phone_number_collection: { enabled: true } を設定する手法。これだけでCheckout画面に電話番号入力欄が表示され、自動的にカード会社へ連携されます。

B. APIで事前に渡す(Pre-fill)

既に会員情報を持っているなら、Stripe側で Customer オブジェクトを作成し、namephone を登録してから決済セッションに渡す手法。

私はこの回答を見て、「今回は会員登録フローが別にあるからB案がUX的に良いが、実装工数を下げるならA案だ」と瞬時に意思決定できました。

SBPS時代は、この仕様を確認するために「連携仕様書」の該当ページを探し、パラメータのマッピング表(cust_name は全角?半角?など)とにらめっこしていましたが、今回はAIとの数回のラリーで設計が完了しました。

3. 「個人情報を持たない」という最強のセキュリティ

個人開発において、ユーザーの個人情報を自社DBで管理するのはリスクです。ここでもAIのアドバイスに従い、「個人情報はすべてStripeに入力させ、自社にはデータを持たない」構成を採用しました。

簡易インボイス対応も自動化

「インボイス制度に対応した領収書をどう出すべきか?」という問いに対しても、AIはStripeの標準機能(Invoice Creation)を提案してくれました。

  1. StripeダッシュボードでT番号を設定。
  2. APIで invoice_creation: { enabled: true } を設定。

これだけで法的要件を満たした領収書が自動送付されます。私が自前でPDF生成プログラムを書く必要はありませんでした。

4. 開発効率を爆上げする Stripe CLI

国内PGの開発で一番辛い「ローカル環境でのWebhookテスト」も、AIにコマンドを聞けば一発です。

stripe listen --forward-to localhost:3000/webhook

さらに stripe trigger payment_intent.succeeded で決済成功イベントを擬似的に発生させられます。エラーが出ても、エラーログをそのままAIに貼り付ければ、SDKのバージョン違いやシークレットキーの設定ミスなどを即座に指摘してくれます。

5. 法務対応:サーバーは「アメリカ」にある

技術と設計はAIのおかげで爆速になりましたが、法務面は人間のチェックが必要です。

Stripeのサーバーはアメリカにあるため、ユーザーが入力したデータは「外国にある第三者への提供」に該当します。

  • プライバシーポリシー: Stripe(米国)へのデータ移転の明記。
  • 特定商取引法: デジタルコンテンツの「返品不可」特約。
  • 利用規約: 決済画面での同意取得。

これらもAIにドラフトを作成させつつ、最終的には自分で確認して実装しました。

まとめ

今回の実装で痛感したのは、「ドキュメントがオープンなモダンSaaS」と「生成AI」の相性の良さです。

クローズドな仕様書が必要な国内の決済代行サービス では、AIは力を発揮できません。しかしStripeのように情報が開かれたサービスであれば、AIは優秀な技術顧問になります。「仕様書を読み解く時間」を「AIと最適な設計を議論する時間」に変えられたことこそが、今回の最大の収穫でした。

補足)

今回のプロンプト履歴 (生ログで加工無し) ※AIとどのように対話したか、 すべてのやりとりをご覧いただけます。

2026/03/28追記: 「homepage」に関する重要なお知らせ

2027年3月22日をもって、個人向けメディアシステム「homepage」のセットアップ手順で利用しているブラウザ完結型の開発環境「Firebase Studio」が廃止されることになりました。

「非エンジニアでもAIを使ってブラウザ上で完結できる」という便利な環境が失われるのは残念ですが、 Firebase Studio終了後も「homepage」のシステム自体は引き続き動作しますのでご安心ください。

このアナウンスを受け、「homepage」を以下のように大幅にアップデートする予定です。

主な検討事項:

  • AWS CDK(インフラのコード化)とGitHub Copilotを活用し、セットアップの自動化を目指す(非エンジニアでも導入しやすくする)
  • CloudFrontによるCDNキャッシュ対応(v1で断念していた課題
  • Firestore → DynamoDB、GCS → S3 への移行(Firebaseを利用しない)

詳細は以下の検討メモをご覧ください。

👉 homepage v2 検討メモ