pka*_*ing 7 integration-testing stripe-payments
我想测试我的应用程序在订阅付款(或失败)时从条带处理webhook事件.这是我到目前为止所尝试的:
但是,根据文件:
如果您已配置webhooks,则发票将等到成功发送最后一个webhook后一小时(或最后一次webhook失败后超时).
一小时是很长的等待时间,因为我试图将此作为自动化集成测试套件的一部分.
一个建议(来自IRC)是伪造webhook请求,以便我的集成测试发送事件,而不是Stripe发送它.但是,由于Stripe在webhook中不包含任何类型的HMAC,我无法信任有效负载中的数据.因此,我的应用程序只从webhook有效负载中获取事件ID,并从Stripe API获取事件:
如果担心安全性,或者确认Stripe发送webhook很重要,则应该只使用webhook中发送的ID,并且应该直接从API请求剩余的详细信息.
如果我试图为我的测试注入虚假事件(通过设计),这显然不会起作用.
测试此类场景的最佳做法是什么?
似乎没有一个完美的方法来做到这一点。正如 @koopajah 在评论中所建议的,我在应用程序中添加了一个配置值,该值将禁用从 Stripe 获取事件,而只信任 Webhook 中的事件数据。这使我能够以与生产中几乎相同的方式测试我的流程,因为 Webhook 中的事件数据和从 Stripe 获取的事件是相同的(假设它是真实的 Webhook 请求:)
除非/直到 Stripe 在 webhook 请求中包含 HMAC 签名来验证它来自他们,我认为这是解决问题的最佳方法。
| 归档时间: |
|
| 查看次数: |
3775 次 |
| 最近记录: |