ANTIGRAVITY LABEN
記事一覧/連携・プラグイン
連携・プラグイン/2026-04-29上級

Antigravity AI エージェントで作る Stripe Dunning パイプライン — 課金失敗をチャーンに変えない仕組み

Antigravity の AI エージェントと Stripe Smart Retries を組み合わせ、課金失敗からチャーンに繋げないリカバリ(Dunning)パイプラインを実装します。Webhook 設計・自動メール文面生成・Slack 通知・解約防止までを通しで解説します。

antigravity436stripe9saas10billing3ai-agent17dunning

プレミアム記事

私が運営している小さな SaaS で、ある月だけ MRR がガクッと落ちたことがありました。新規獲得は伸びていたのに、です。原因を Stripe Dashboard で追いかけていくと、答えはとても地味でした。カードの有効期限切れと、決済ネットワーク側の一時拒否。これだけでその月の解約の 6 割が説明できてしまったのです。

機能改善でもキャンペーンでもなく、「失敗した課金をどう回収するか」が、自分の SaaS の生存ラインに直結しています。当時その事実を突きつけられて、私はかなり落ち込みました。同時に、ここを自動化できれば、新規獲得と同じくらいの効果がありそうだとも思いました。

ここではその経験を経て私が組み上げた Stripe Dunning(請求リカバリ)パイプラインを、Antigravity の AI エージェントを軸にして再構築する方法を共有します。失敗イベントの捕捉から、リトライ制御、文面の出し分け、Slack 通知、最後の解約防止オファーまで、本番で動いているパターンを丁寧に書き起こしました。

なぜ「Dunning」を AI エージェントに任せたほうがいい理由

「Dunning(ダニング)」は、決済失敗後に支払いを促す一連のコミュニケーションのことです。日本語ではあまり馴染みがない言葉ですが、海外 SaaS では Stripe や Chargebee など多くのプラットフォームに専用機能があるくらい重要視されています。

ところがこの領域、見た目以上に判断が複雑です。

  • カード有効期限切れと、残高不足と、3DS 認証失敗では、送るべき文面と送るべきタイミングが違う
  • リトライ回数を増やすほど回収率は上がるが、過剰だと顧客体験を壊す
  • 同じ顧客が短期間で複数の失敗を起こしたとき、メールを送り続けるのは逆効果
  • 法人カードと個人カードでは「誰に通知すべきか」も変わる

これを Webhook ハンドラの中に if 文で書き始めると、すぐに保守不能になります。私も最初はそうしました。150 行を超えたあたりで自分でも何が起きているか追えなくなり、一度すべて捨てました。

そこで考え方を変えて、ロジックの分岐を AI エージェントに渡すことにしました。Antigravity 上の Manager Surface に dunning 用のサブエージェントを定義し、Webhook ハンドラはイベントを正規化してエージェントに渡すだけ、という設計です。

全体アーキテクチャ

完成形は次のような流れになります。

  1. Stripe Webhook 受信invoice.payment_failed / customer.subscription.updated 等)
  2. 冪等性チェック & イベント正規化(Cloudflare D1 または Postgres)
  3. Dunning Agent への委譲(失敗理由・顧客プロフィール・過去のリトライ履歴を渡す)
  4. 判断: 「リトライを Stripe に任せるか/カスタマーへ通知するか/解約防止オファーを発火するか」
  5. アクション実行: Resend でメール、Slack で内部通知、KV/DB で状態更新
  6. 観測: 全イベントを構造化ログ化し、Looker Studio で可視化

このうち 3 と 4 を AI エージェントに任せるのがポイントです。Stripe 側にもデフォルトの Smart Retries はありますが、こちらは自社のドメインルール(無料体験中は通知を控える、年額プランは特別扱いする、過去 1 年で解約復帰した顧客には別文面、など)を載せられる場所が少ありません。エージェント側にプロンプトとツールで明示することで、ロジックの言語化と更新が一気に楽になります。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
失敗理由(期限切れ/残高不足/3DS/ネットワーク拒否)ごとに、文面・タイミング・経路を出し分ける判断基準
Smart Retries とアプリ側リトライの二重化を避ける、冪等な Webhook とエージェント委譲の設計
理由カテゴリ別のリカバリ率と損益分岐(月30件)まで踏み込んだ、3か月の実運用メトリクス
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

連携・プラグイン2026-05-06
Antigravity × Stripe カスタムMCPサーバー実装ガイド — AIエージェントが課金処理を自律実行する本番設計
Stripe課金処理をAntigravityのAIエージェントに委ねるカスタムMCPサーバーを実装する。サブスクリプション管理・Webhook・マルチテナント対応まで、TypeScriptで本番品質のMCPサーバーを構築する完全実装ガイド。
アプリ開発2026-04-28
Antigravity で SaaS を丸ごと作る — Stripe 課金・認証・デプロイを1つのIDEで完結させる
Antigravity IDE だけで SaaS プロダクトを構築する全工程を解説します。Supabase認証、Stripe課金、Cloudflare Workersデプロイまで、IDEを離れずに完結させる実践ガイドです。
アプリ開発2026-04-11
Antigravity × Convex でリアルタイム協調 SaaS を構築する:型安全なデータ同期から Stripe 課金まで
Antigravity IDE と Convex を組み合わせてリアルタイム協調 SaaS を構築する完全ガイド。スキーマ設計から Clerk 認証、ファイルストレージ、Stripe 課金まで本番対応の実装コードを体系的に解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →