我已经使用 CLI 在本地测试了我的 webhooks,它们工作正常。然而,当我将 webhooks 实时部署到 Heroku,并在 Stripe 上进入“实时”模式(我认为这是使用实时 webhook 所必需的)时,Stripe 根本不触发事件,它们不触发事件。没有出现在仪表板中,webhook 端点没有收到任何请求,什么也没有;例如,当我尝试创建连接帐户时,没有 account.updated
,或者当我尝试完成 Checkout 购买时,没有 checkout.session.complete
。当我在线使用 webhooks 时,是否有一个步骤我可能错过了?
最佳答案
我自己也遇到了这个问题 - 一些想法:
- 确保您在仪表板中配置正确,例如。仅在查看测试数据时才打开“测试模式”开关
- 确保您已设置用于实时和测试的端点。您必须每次都添加它们
- 仔细检查您使用的签名 key 是否正确。即使您使用相同的端点,实时测试、生产测试和本地测试的签名 key 也会有所不同。
例如:
- [生产] 实时 - 端点 = https://www.example.com/webhooks 。签名 secret = xyz
- [生产] 测试 - 端点 = https://www.example.com/webhooks 。签名 secret = abc
- [本地] 测试 - 端点 = localhost:5000/webhooks。签名 secret = efg
关于heroku - 为什么 Stripe 事件没有触发并且 webhook 没有接收到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69789247/