Stripe 的另一个问题。
我对 Stripe 支付解决方案的实施与测试密钥/测试 CC 号码配合良好。出于某种原因,使用实时密钥和真实 CC 的完全相同的解决方案不起作用。
我在尝试付款时收到以下错误消息:
StripeInvalidRequestError: This customer has no attached payment source or default payment method
这是我所拥有的:
const premium_plan = await stripe.plans.retrieve(process.env.REACT_APP_STRIPE_PREMIUM_PLAN);
const paymentMethod = await stripe.paymentMethods.attach(paymentMethod_id, { customer: customer_id });
const newSubscription = await stripe.subscriptions.update(subscription_id, {
cancel_at_period_end: false,
items: [{ plan: premium_plan.id, quantity: 1 }],
});
当我查看上面的 paymentMethod 对象时,我可以看到付款方式已附加到我的客户。 paymentMethod 对象有一个 customer
键和预期的客户价值。
如果我执行 cURL 请求以获取客户的付款方式列表,如下所示:https://stripe.com/docs/api/payment_methods/list?lang=curl,我可以看到在付款表单中输入的抄送付款方式。附上付款方式。
但是,当我更新客户的订阅计划(从免费试用版到高级版)时,我收到了上述错误消息。
我错过了什么?