Stripe TypeError: Cannot read property 'payment_intent' of undefined

Stripe TypeError: Cannot read property 'payment_intent' of undefined

我正在使用 Stripe 和 Paypal 将支付方式集成到应用程序中,现在致力于 Stripe 集成。

后端是Node,Sails.js,前端是React.js。

我遵循了他们提供的指南,但使用测试卡测试了支付处理。

但是我得到了错误,上面写着 TypeError: Cannot read 属性 'payment_intent' of undefined.

这是我的代码。

- Frontend
this.props.stripe.createPaymentMethod({
    type: 'card',
    card: cardElement,
}).then(({paymentMethod}) => {
// API call
})


- Backend
subscribe = await stripe.subscriptions.create({
     customer: customerId,
     items: [
        {price: plan.stripe.stripeId},
     ],
     expand: ['latest_invoice.payment_intent']
});

请帮我解决这个问题。

在我看来,您不必为每个订阅创建 PaymentIntent。

这是 Stripe API 文档对 paymentIntent 的描述。

A PaymentIntent guides you through the process of collecting a payment from your customer. We recommend that you create exactly one PaymentIntent for each order or customer session in your system. You can reference the PaymentIntent later to see the history of payment attempts for a particular session.

因此他们建议为每笔交易创建 paymentIntent,在订阅的情况下,付款会在后台自动进行,并且根据我的经验也会生成 paymentIntent。

但另一方面,在结帐选项中,您需要先创建 paymentIntent,然后再进行付款。

我认为您的代码没有错,但我认为您没有遵循 Stripe 的正确指南或使用了错误的信用卡。

请参考这个link: Stripe API Payment_intents