You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中使用stripe-react-native库调用confirmPayment(已保存卡片)失败

React Native Stripe confirmPayment 调用失败(使用已保存卡片)

问题出在你调用confirmPayment的参数上——你只传了paymentMethodType: 'Card',但这个参数是给新卡片支付用的。当使用已保存的卡片时,必须传入已保存的支付方式ID,而不是仅指定支付类型。

修正后的代码示例:
假设你已经通过Stripe接口获取到用户保存的支付方式ID,存在savedPaymentMethodId变量中:

const { paymentIntent, error } = await confirmPayment(
  this.state.clientSecret,
  {
    paymentMethodId: savedPaymentMethodId, // 替换为实际的已保存支付方式ID
  },
);

关键说明:

  • 当使用已保存卡片时,Stripe需要明确知道使用哪一个已保存的支付方式,因此必须传入paymentMethodId,而非paymentMethodType。
  • 你可以通过Stripe的listPaymentMethods接口获取当前用户的已保存支付方式列表,从中拿到有效的paymentMethodId。
  • 后端生成clientSecret时,要确保对应的PaymentIntent关联了当前用户,并且允许使用已保存的支付方式。

另外,错误信息里的"You must provide paymentMethodType"是误导性提示,实际根源是缺少已保存支付方式的ID,按上述方式修改即可解决问题。

内容的提问来源于stack exchange,提问作者Muhammad Saqib Noor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 10:55:23