Webhook Payload 測試器
格式化 webhook JSON,產生測試簽章與標頭備忘。
輸入內容只在瀏覽器本機處理。 使用 Web Crypto 產生選填 HMAC-SHA256;顯示的 headers 只是本機測試慣例。
簽章採自訂 x-gogo-* 本機測試慣例,並非任何服務商格式。
使用說明
格式化 webhook JSON,產生測試簽章與標頭備忘。
串接 Stripe 線上金流、GitHub 開源通知或 Slack 機器人時,Webhook 格式總是出錯嗎?本工具協助您快速驗證 JSON Webhook 結構、排版縮排美化,並提供 HMAC-SHA256 簽名試算,讓跨系統通知串接精準無誤!
💡 3 步驟快速上手
將第三方平台發送的原始 Webhook Payload 貼入編輯框中。
系統一秒偵測 JSON 語法錯誤並提供階層樹狀縮排與欄位高亮。
輸入 Secret 金鑰即可模擬計算 SHA-256 簽名,確保資料傳輸未被竄改。
適用情境
適合建立文件、測試樣本與客服排查資料。
計算或處理方式
使用 Web Crypto 產生選填 HMAC-SHA256;顯示的 headers 只是本機測試慣例。
具體範例
範例:貼上付款完成事件並產生測試 header。
限制與資料處理
顯示的 headers 是本機測試慣例,不代表任何 webhook 供應商的正式驗證格式。
不會。Webhook Payload 測試器只在瀏覽器內處理;請勿貼上正式密鑰或未遮罩的個人資料。
Webhook 非同步架構、HMAC 簽名驗證與冪等性設計指南
一、Webhook 事件驅動(Event-Driven)通訊架構
不同於傳統客戶端不斷發送輪詢(Polling)請求以獲取更新,Webhook 採用「反向 API」模式:當外部系統(如 Stripe 金流付款成功、GitHub 代碼推送、Slack 機器人通知)發生特定事件時,伺服器會主動向預先註冊的目標 URL 發送 HTTP POST 請求並附帶 JSON 事件酬載(Payload)。
這種非同步事件驅動機制大幅降低了伺服器頻寬負擔,但在分散式環境中,開發者必須處理「網路抖動重試」、「重複投遞」與「非依序到達」等邊界狀況。
二、HMAC-SHA256 簽名防偽與防重放攻擊(Replay Attack)
為防止惡意第三方偽造 Webhook 事件,主流服務皆採用 HMAC 密鑰簽名機制:發送方將「時間戳記 + 原始 Payload 內容」使用共享密鑰進行 HMAC-SHA256 計算,並置於 `X-Signature` 或 `Stripe-Signature` 標頭中。
接收端伺服器在解析 Payload 前,必須先使用相同密鑰計算簽名進行比對,並驗證時間戳記是否在容許窗口內(如 5 分鐘內),確保資料既未被竄改,也未遭受重放攻擊。
三、冪等性(Idempotency)與指數退避重試策略
因網路逾時而重試發送的 Webhook 事件可能被重複接收多次。健全的接收端架構必須以事件專屬的 `event_id` 作為唯一鍵,在資料庫中記錄處理狀態。若遇到已處理過的事件,應直接回傳 HTTP 200 OK,杜絕重複扣款或重複發貨等嚴重業務錯誤。
Feedback
這個工具好用嗎?
歡迎告訴我們你的工具建議或錯誤回報。
常見問題
Webhook Payload 測試器接受什麼輸入?
輸入 JSON payload 與選填測試密鑰。
Webhook Payload 測試器如何產生結果?
工具格式化 JSON,並可用 Web Crypto 產生本機 HMAC-SHA256 測試簽章。
Webhook Payload 測試器有哪些限制?
顯示的 headers 是本機測試慣例,不代表任何 webhook 供應商的正式驗證格式。
Webhook Payload 測試器會上傳資料嗎?
不會。Webhook Payload 測試器只在瀏覽器內處理;請勿貼上正式密鑰或未遮罩的個人資料。