Skip to main content
如果你的 Webhook 端點未返回 2xx 狀態碼,啟潤支付將自動重試投遞。

重試計畫

啟潤支付最多重試 7 次 7 次重試失敗後,Webhook 將被標記為失敗,不再繼續重試。

什麼算作失敗

以下情況 Webhook 投遞被視為失敗:
  • 你的端點返回非 2xx HTTP 狀態碼(如 400500
  • 你的端點在 30 秒內未回應
  • 無法連接到你的伺服器(DNS 錯誤、連線被拒絕、逾時)
2xx 回應(如 200201204)即被視為投遞成功,不論回應本體內容如何。

處理重試

由於 Webhook 可能被重試,你的端點應該是冪等的 — 多次處理同一事件應產生相同的結果。

使用事件 ID 去重

每個 Webhook 事件都有唯一的 id 欄位。儲存已處理的事件 ID 並跳過重複事件:
在生產環境中,將已處理的事件 ID 儲存在資料庫(如 Redis 或你的主資料庫)中,而不是記憶體中。

快速返回 200

收到並驗證 Webhook 後立即返回 200 回應。如果處理需要較長時間,請非同步執行:

監控 Webhook 投遞

排查投遞問題時,請將 Kyren Webhook 事件與你自己的服務端日誌對照。請記錄:
  • 你設定的 Webhook URL
  • 事件類型和訂單號
  • 你的服務端收到請求的時間
  • 你的服務端返回的回應碼或錯誤
如果需要 Kyren 協助檢查投遞嘗試,請帶上這些資訊聯絡支援。

故障排除