我正在尝试测试向我的端点发送一个charge.succeeded
Webhook,但是出现错误:
Received event with API version 2019-03-14, but Stripe.net 24.5.0 expects API version 2019-02-19
,并且在测试模式下添加Webhook时,只能选择2019-03-14
或2018-11-08
版本。
很明显,我正在使用Stripe.net 24.5.0,因此无法测试我的Webhook。
有人知道如何解决此问题吗?谢谢。
答案 0 :(得分:1)
您是否可能在应用程序中将API版本硬编码为“ 2019-02-19”?
您可以将API密钥版本降级为“ 2019-02-19”,但您必须写入Stripe支持才能做到这一点:https://support.stripe.com/contact
答案 1 :(得分:0)
更新:我找到了答案here。
您只需要将throwOnApiVersionMismatch
设置为false
,如果版本不相同,它将不会检查版本。
示例代码:
var event = EventUtility.ConstructEvent(
JSON,
Request.Headers["Stripe-Signature"],
_secret,
300,
(long)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds,
false);
编辑:如karllekko和link所述,使用API版本强制为与库相同的API版本创建WebhookEndpoint更为安全,这只能通过API来完成,而不能通过仪表板。
答案 2 :(得分:0)
删除当前的Webhook,并使用相同的URL创建一个新的Webhook,但更改API版本。 Stripe 24.5.0期望API版本为2019-02-19,但您在webhook中提供的默认API为2018-11-08-这将引发错误。
更改为所需的API,然后再次测试您的Webhook。这也适用于将来的API版本-如果遇到此错误,请确保使用最新的API。