测试模式下的条带化Webhook版本控制异常

时间:2019-04-08 02:31:03

标签: .net-core stripe-payments

我正在尝试测试向我的端点发送一个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-142018-11-08版本。

versions

很明显,我正在使用Stripe.net 24.5.0,因此无法测试我的Webhook。

有人知道如何解决此问题吗?谢谢。

3 个答案:

答案 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。