決済エラーが発生した瞬間、Stripe・PAY.JP・Komoju などの決済代行会社から Webhook が飛んでくる — ここまでは多くの事業者様で整っています。問題は、その先です。
Webhook 通知を受け取ることと、決済エラーに対応することは、同じではありません。 通知はあくまで「決済エラーが起きた」という事実の伝達であって、誰に・いつ・どう対応すべきかという判断材料は含まれていません。本記事では、Webhook の役割と限界、必要な後続処理、そして Recovery Monitor がそのどこを引き受けているのかを整理します。
多くの事業者様で起きている運用パターン
国内のサブスクリプション事業者様にヒアリングをしていると、決済エラー時の運用は概ね次のような形に収まります。
- 決済代行会社の Webhook(
charge.failed/invoice.payment_failed等)を受け取る。 - イベントを社内 Slack に通知する、または管理画面のアラートに表示する。
- 顧客に「決済エラーが発生しました」というメールを 1 通自動で配信する。
- あとは顧客の対応待ち。返信や再登録があれば個別対応、なければそのまま停止。
このフローは、最低限の通知としては機能します。しかし、ここで取りこぼされる顧客がかなりの割合で存在することは、海外のサブスクリプション業界で繰り返し指摘されてきました。海外調査の 参考値 では、適切な後続運用を行うことで決済エラー由来の解約のうち 55〜70% を回復できる余地があるとも言われています。Webhook 通知とメール 1 通だけで止めてしまうと、戻せたはずの顧客を静かに流すことになります。
Webhook の役割 — イベント通知としての境界
そもそも Webhook は何をしてくれているのか、を明確にしておきます。
決済代行会社の Webhook は、「いま、決済エラーが起きました」というイベントを HTTP POST で通知する仕組み です。これ自体は非常に重要なインフラで、ポーリングで管理画面を見続ける必要がなく、ほぼリアルタイムにイベントを把握できます。
含まれているのは、おおむね以下の情報です。
- どの顧客の、どの請求がエラーになったか(顧客 ID・課金 ID)。
- 金額・通貨。
- エラーコード(
card_declined/insufficient_funds/expired_card等)。 - カード会社側のレスポンスコード(
Do Not Honor等、共有される場合)。 - イベント発生時刻。
これだけ揃っていれば、十分に思えるかもしれません。ただし、ここから「だから誰に・どう対応するか」までは、Webhook 自身は教えてくれません。
Webhook の限界 — 含まれていない 4 つのもの
Webhook 通知に 含まれていない ものを、運用視点で 4 つに分解しておきます。
1. 仕分け(カテゴリ化)
カード期限切れ・残高不足・不正検知ヒット・認証エラー・カード会社側の判断 — エラーの中身は本来まったく性質が異なります。再試行で戻る可能性が高いものもあれば、再試行しても無駄で顧客側のアクションが必要なものもあります。Webhook は個別のエラーコードを返してくるだけで、それを「どう対応すべきか」のカテゴリに束ねるロジックは含まれていません。
2. 判断材料(顧客文脈)
同じ「card_declined」でも、過去 6 ヶ月間問題なく課金できていた優良顧客と、初回課金でエラーになった新規顧客では、対応の優先度が違います。LTV・継続月数・直近の課金履歴・前回成功からの経過日数といった顧客文脈は、Webhook ペイロードには通常含まれていません。判断材料を揃えるには、自社 DB との突合が必要です。
3. 優先度(対応リスト)
今日のうちに連絡すべき顧客は誰か、来週でよい顧客は誰か、もう連絡しなくてよい顧客は誰か。Webhook は「エラーが起きた」という事実を時系列に流してくるだけで、どれから手をつけるべきかという優先順位は付けてくれません。担当者が毎朝、ダッシュボードを眺めて手動で並べ替える、というオペレーションになりがちです。
4. 行動への変換(次アクション)
仕分けと優先度が決まっても、最後は「具体的に何をするか」に落ちる必要があります。カード更新案内メールの下書きを用意するのか、3DS 再案内なのか、サポート問い合わせなのか、リトライ停止なのか。Webhook から個別の次アクションまでをつなぐ運用設計は、事業者様側で組み立てるしかありません。
必要な後続処理 — 5 ステップで整理する
Webhook 受信から実際の顧客対応までを分解すると、最低でも以下の 5 ステップが必要です。
ステップ 1: 受信・冪等性確保
Webhook を HTTPS で受け取り、署名検証(HMAC など)でなりすましを防ぎ、同一イベントの重複配信に対して冪等に処理する仕組みです。再送される前提で、イベント ID をキーに既処理かどうかを確認する必要があります。
ステップ 2: 仕分け
エラーコード・カード会社レスポンス・顧客文脈をもとに、対応カテゴリに振り分けます。「再試行候補」「カード更新候補」「顧客対応候補」「認証確認候補」「リトライ非推奨」のように、対応方針が違うグループに束ねる作業です。
ステップ 3: 判断材料の付与
顧客の継続月数・LTV・直近 3 ヶ月の課金履歴・前回成功時刻・カード種別などを付与し、優先度の根拠を整えます。CRM / 自社 DB との突合と、PII の取り扱いに配慮した集計が必要です。
ステップ 4: 対応リスト化
カテゴリ × 優先度で並んだ対応リストを、担当者の画面に出します。「今日対応する 10 件」「今週中に対応する 30 件」「自動でカード更新を案内する 50 件」のように、人が動ける単位に整える工程です。
ステップ 5: 行動
カード更新案内メールの下書きを作る、サポートから個別連絡する、リトライを止める、特定顧客のみ手動で再課金を試す — 最後の行動は、事業者様の運用ルールと顧客との関係に基づき、人が判断します。AI Orchestra は AI を判断支援に限定しており、顧客への自動メール送信や自動再課金は行いません(Rule-first, AI-assisted の方針)。
内製で全部やる場合の工数感
このステップ 2〜4 を内製で構築する場合、表に出てこない継続コストが発生します。
- 初期構築(参考値): Webhook 受信基盤・冪等処理・エラーコード辞書・仕分けルール・CRM 突合・対応リスト UI を含めると、エンジニア 1〜2 名で 1〜3 ヶ月 規模。
- エラーコードのメンテナンス: 決済代行会社側のエラーコードは追加・変更されます。各決済代行会社の仕様更新を追い続け、仕分けルールに反映する作業が継続的に発生します。
- カテゴリ定義の合意形成: 「これはカード更新案内すべきか、顧客対応すべきか」のような境界は、社内で合意して言語化する必要があります。担当者の暗黙知になりやすく、属人化します。
- UI と運用ドキュメントの保守: 対応リストの画面、優先度ロジック、担当者向けの SOP(標準作業手順)を継続更新する工数です。
「Webhook はもう受けているから、あとはちょっと整えるだけ」と見積もると、ステップ 2〜4 で想定外の工数が積み上がりやすい領域です。
整った状態 — Webhook → 対応リスト → 行動
逆に、ステップ 2〜4 がきちんと整っているチームでは、以下のような状態が常態化しています。
- 朝、担当者は「今日対応すべき N 件」のリストを開くだけで作業を開始できる。
- カテゴリごとに対応テンプレートが整っており、メール下書きの作成や送信判断にかかる時間が短い。
- 「いまリトライ中なのか・もう諦めたのか」が顧客単位で明確で、二重対応や見落としを防ぎやすい。
- 月次レビューで、決済エラー由来の解約と能動的解約を分けて議論できる。
- 担当者の判断時間が空き、本来やるべきカスタマーサクセス・改善活動に振り向けられる。
Webhook 受信から対応リスト化までが整えば、決済エラー対応は「都度の火消し」から「日常の運用」に降りてきます。
Recovery Monitor がどこを引き受けるか
Recovery Monitor は、Webhook の 後続 — ステップ 2〜4 に相当する決済エラー管理(Payment Error Management)のレイヤーを、専任で扱うサービスです。
あえて Recovery Monitor が 担当しない 領域を明確にしておきます。
- Webhook を置き換えるものではありません(既存の Stripe / PAY.JP / Komoju / GMO-PG / SBPS の Webhook をそのまま受けます)。
- 新規の課金実行・自動再課金は行いません(決済代行会社の領域)。
- 顧客への自動メール送信は行いません(送信判断は事業者様)。
- Stripe Recovery / Recurly Recover / Chargebee Dunning などのリトライ実行レイヤーを置き換えるものではありません(リトライ実行と対応分類は別レイヤーとして、そのまま活かす設計)。
その上で Recovery Monitor は、Webhook 経由で集約された決済エラーを、5 つの対応カテゴリに整理して提示します。
- 再試行候補(時間差で復活する可能性が高いもの)
- カード更新候補(期限切れ・カード会社側の更新が必要なもの)
- 顧客対応候補(個別に状況を確認すべきもの)
- 認証確認候補(3DS 等のフローを再度案内すべきもの)
- リトライ非推奨(これ以上の再課金が逆効果になりうるもの)
判断材料を整え、対応リストとして提示するところまでが Recovery Monitor の役割で、最終的な顧客対応は事業者様の運用に渡します。AI は分類補助・月次レポート下書き・顧客対応文面の下書き作成(シナリオ別テンプレ)のみを担当し、顧客への送信判断は人が行います。
まず自社の規模感を確認する
自社で発生している決済エラーの月次件数・MRR への影響額・対応カテゴリの内訳がどの程度になりそうかは、過去の数字から簡易に試算できます。
Recovery Monitor では、決済エラー由来の影響額を簡易に試算できる 受動的チャーン試算ツール と、自社の Webhook 連携データで分類フローを試せる 30日間無料トライアル をご用意しています。
「Webhook を受けているから対応はできている」と「対応リストとして整理されている」の間には、想像以上の距離があります。その距離を埋めるレイヤーとして、Recovery Monitor をご検討いただければ幸いです。