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

React Native Expo集成Stripe后付组件无保存支付方式选项问题

问题原因及解决方法

你的配置缺了两个必要项,直接导致保存支付方式的选项不显示:

  1. 未传入customerEphemeralKeySecret参数
    你当前代码里把这个参数注释掉了,Stripe需要客户的临时密钥才能关联客户、保存支付方式到对应客户账户下,没有这个参数的话即使传了customerId也没法启用保存功能。
  2. 未显式开启保存支付方式的配置项
    你需要在initPaymentSheet的参数里加上savePaymentMethodOptInBehavior: 'automatic',这个配置是控制是否显示「保存支付方式供后续使用」勾选框的开关。

修改后的代码示例

import { useStripe } from '@stripe/stripe-react-native'
...
    const { initPaymentSheet, presentPaymentSheet } = useStripe();
...
await initPaymentSheet({
    customerId: 'customerID',
    customerEphemeralKeySecret: ephemeralKey, // 取消注释,传入你后端生成的临时密钥
    paymentIntentClientSecret: clientSecret,
    customFlow: false,
    merchantDisplayName: 'Example Inc.',
    applePay: true,
    merchantCountryCode: 'US',
    style: 'alwaysDark',
    googlePay: true,
    testEnv: true,
    savePaymentMethodOptInBehavior: 'automatic' // 新增这行配置
});

额外注意点

  • 临时密钥ephemeralKey必须由你的后端调用Stripe接口生成,不能在前端硬编码或者直接调用Stripe接口生成,避免密钥泄漏风险
  • 确保你使用的@stripe/stripe-react-native版本和参考示例的版本一致,旧版本的配置字段可能有差异

内容的提问来源于stack exchange,提问作者schoenbl

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:57:03