我正在尝试通过用 NodeJS 编写的 AWS Lambda 函数测试计量计费。我从 Stripe 收到以下错误消息:
处理计量计费事件时出错:StripeAuthenticationError:密钥的 Livemode 与帐户模式不匹配(提示:不支持旧测试模式密钥。请使用沙箱。)
我对为什么会收到此错误感到非常困惑,因为我为此使用了测试模式密钥。我还整天通过 Stripe 测试东西,一切都工作正常。
我确信这与仪表事件对象具有的 livemode: BOOLEAN 属性有关,因此出于测试目的,我将其明确设置为 false:
// Create the metered billing event with the v2 API (Custom Event Billing)
const meterEvent = await stripe.v2.billing.meterEvents.create({
event_name: 'product_creation', // You can use your custom event name
payload: {
value: 1, // Increment by 1 product creation
stripe_customer_id: stripeCustomerID // Stripe customer ID
},
livemode: false // IMPORTANT!!! --> make sure to set this to TRUE in the live mode.
// this parameter must overtly be specified for TEST vs LIVE mode, for the meter event object.
});
不,仍然出现此错误。
对于为什么会发生这种情况以及解决办法有什么想法吗?
谢谢!...
我能够使用“尝试一堆随机的东西”方法奇迹般地解决了这个问题。修复结果是这样的......尽管 Stripe 文档说:
const meterEvent = await stripe.v2.billing.meterEvents.create({
我最终尝试了这样的方法:
const meterEvent = await stripe.billing.meterEvents.create({
这就是解决办法。
换句话说,Stripe 返回的错误消息与它在我的情况下不起作用的根本原因无关。