我想測試我的應用程序處理來自條帶的webhook事件,當訂閱付款已經(或失敗)。以下是我試過到目前爲止:如何測試條紋中的訂閱續訂流程?
- 建立一個新的訂閱
- 更新用戶的信用卡是可以添加到一個帳戶的一個,但不能實際收費
- 改變試驗結束日期是在一秒鐘
- 等待幾秒鐘,期望網絡掛接要發送
然而,根據the documentation:
如果您已配置webhooks,發票將等到最後一個webhook發送成功後一小時(或最後webhook在發生故障後超時)。
因爲我正在嘗試將這作爲自動化集成測試套件的一部分,所以需要等待很長時間。
一個建議(來自IRC)是僞裝webhook請求,以便我的集成測試發送事件,而不是發送給Stripe。但是,由於Stripe在webhook中不包含任何類型的HMAC,我不能相信有效載荷中的數據。所以,我的應用程序只需要從網絡掛接有效載荷的事件ID並獲取event from the Stripe API:
如果擔心安全問題,或者如果它確認條紋發送網絡掛接是很重要的,你應該只使用ID在發您的webhook,並應直接從API請求剩餘的詳細信息。
如果我試圖爲我的測試(按設計)注入假事件,這顯然不起作用。
測試此類場景的最佳做法是什麼?
我會說在你測試這個流程時不能驗證事件嗎?我自己做的是在Live模式下從API中檢索事件,但在測試模式下,我只是「信任」有效載荷,因爲我是發送它的人(並且它是測試模式)。 – koopajah
@koopajah謝謝,我想這是要走的路。如果您想將其作爲答案發布,我會將其標記爲「已接受」。 – pkaeding
不知道這是一個非常好的答案!很高興你能回答你自己的問題嗎? :) – koopajah