只改一個網址 · 不用 SDK · 驗證採 Apache 2.0

Stripe Webhook 保險
專為 AI SaaS 設計。

你的處理程式呼叫 LLM 要花 45 秒。Stripe 大約 20 秒就逾時並重試。客戶被重複履約:出貨、加值或寄信,都做了兩次。

AnyHook 位在發送端和你的處理程式之間。儲存、重試、記錄並重播一切,不用動到你的處理程式碼。

Free每月 10,000 個事件
$20Pro · 50,000 個事件
$90Scale · 250,000
Stripe Webhook
正式環境
失敗20.04s

evt_3Pk2X3b1Lcx

請求逾時。Stripe 會以退避方式重試,最長 3 天。

~ stripe-cli
$ stripe webhooks update we_1234
    --url in.anyhook.net/u/app
✓ Endpoint updated
✓ Delivering to AnyHook
AnyHook · 已送達
200 OK

evt_3Pk2X3b1Lcx

第 1 次嘗試 · 發送端已確認收到 · 處理程式 47.2 秒

0遺失
·
100%已送達
handler.ts
// before
await llm.run(evt); /* 45s */

// after
return Response.json({ ok: true });
範例

省下的發送端重試

127

01

讓你賠錢的三種逾時。

StripeWebhook
20s

LLM 呼叫超過約 20 秒 → Stripe 判定失敗並重試 → 處理程式執行兩次 → 重複履約。

/v1/webhook_endpoints · status: failed

Slack事件
3s

機器人必須在 3 秒內回應。AI agent 要花 30 秒 → Slack 重試 3 次 → 你的機器人最多可能回覆 4 次。

ShopifyWebhook
5s

晚一點才回應就算失敗:4 小時內重試 8 次,之後一再失敗,訂閱就會被刪除。訂單不再送來。

02

選一個適合你現階段的方案。

Pro

推薦
$20/ 月

正式環境的 Webhook 流量。比自己花 2 週做重試機制還便宜。

  • 每月 50,000 個事件
  • 10 個 App · 可重播 30 天,保存 1 年
  • 5 次傳遞嘗試 · 傳遞逾時 120 秒
  • 超額用量每 1,000 個事件 $0.15,不會悄悄丟棄
  • 電子郵件、Slack 或 Discord 警示 · 每次傳遞都附上簽章

每一次傳遞,你都不必只聽我們的說法。簽章驗證函式庫和 MCP 伺服器採 Apache 2.0 授權:github.com/gba3124/anyhook-mcp。中繼服務本身沒有開源。

03

三個步驟,三十秒。

  1. 步驟 1

    註冊,取得接收網址(inbound URL)。

    用電子郵件或 Google 帳號註冊。AnyHook 會給你一個像 https://in.anyhook.net/you/app 這樣的接收網址。免費方案不需要信用卡。

  2. 步驟 2

    在 Stripe(或其他服務)換掉網址。

    打開 Stripe Dashboard → Webhooks → 編輯端點 → 貼上 AnyHook 網址。GitHub、Shopify、Slack 的 Events API 和 Paddle 也是同樣的改法。你的處理程式碼完全不用動。

  3. 步驟 3

    看著事件進來,任何事件都能重播。

    AnyHook 先儲存事件,約 1 秒就回 200 給發送端,再轉送到你的處理程式並自動重試(至少一次傳遞,用 X-AnyHook-Delivery 去重)。失敗的事件會留在儀表板,按一下 Replay(重播)按鈕就能重播。

04

適用於一種特定情況。

適合

  • 有真實正式環境流量的獨立 SaaS 或 B2B 產品
  • 用 Stripe 收費的產品(Checkout、Subscriptions、Connect)
  • 處理程式要做實際的 AI 工作:LLM、RAG、agent 執行
  • 自己手寫、又不太放心的重試邏輯
  • 你可以在服務商的儀表板換掉一個網址

不適合

  • 還沒有營收:Webhook 的可靠性還不是你最大的風險
  • 已經在正式環境使用 Inngest / Hookdeck / Svix
  • 需要工作流程引擎(durable function、排程):改用 Inngest
  • 企業地端部署,且嚴格禁止資料流出到雲端
  • 即時事件串流的使用情境(Kafka、WebSocket、SSE)
05

老實回答。

為什麼不直接用 Inngest 或 Hookdeck?

如果你有工程人力安裝 SDK,並把處理程式改寫成 durable function,Inngest 很好用。AnyHook 適合想解決問題、又不想改動處理程式結構的團隊:改一個 Webhook 網址,沿用現有的程式碼。

免費方案真的免費嗎?永久免費?

是。每月 10,000 個事件(每日上限 1,000 個)、1 個 App(App 是一個接收網址,對應一個 Webhook 來源)、不需要信用卡。我們讓它大到足以讓業餘專案上線,又緊到讓正式環境的流量自然會升級。沒有花招,也不會到期。

不是 Stripe 的 Webhook 呢?

GitHub、Shopify、Slack 的 Events API、Paddle、Linear、Clerk:全都適用同樣的換網址做法。簽章驗證方式會從收到的標頭自動偵測。

AnyHook 是開源的嗎?

部分是,而且值得講清楚是哪些部分。簽章驗證函式庫和 MCP 伺服器在 github.com/gba3124/anyhook-mcp 採 Apache 2.0 授權,所以你可以檢查我們簽章的每一次傳遞,不必信任我們,也不必依賴我們。負責接收、儲存和重試的中繼服務沒有開源,目前也沒有自架版本。

AnyHook 看得到我的 Webhook payload 嗎?

我們以靜態資料加密的方式儲存(AES-256-GCM)。在你方案的可重播期間內都能重播(3 / 30 / 90 天);之後 Free 方案的事件會被刪除,付費方案則保存一份唯讀的加密封存(Pro 方案 1 年,Scale 方案 7 年)。金鑰從不離開我們的基礎設施。在 Pro 和 Scale 方案,你也可以開啟零保存(zero retention):事件送達後,它的標頭和請求主體就會從事件紀錄中清除;加密封存仍保留它的副本。

月中就超出免費方案怎麼辦?

在 Free 方案,超過每月配額的事件會保留在你的事件紀錄中:已儲存、不傳遞,最多再保留配額的 20%,升級後即可重播;超過這個量或每日上限時,邊緣節點會回 429,不儲存任何東西,並寄信通知你。升級到 Pro 方案會立即解除限制;Pro 方案的超額用量是每 1,000 個事件 $0.15,也可以在儀表板設定支出上限,超過上限的事件會被保留,而不是計費。

30 秒。不用信用卡。

只改一個網址。
今晚睡得更安穩。

免費註冊,取得接收網址,在 Stripe 換上它。AnyHook 會吸收重試,你的處理程式照現在的方式繼續執行。