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

如何在Stripe PaymentSheet中调出「保存卡片详情」选项?

Stripe PaymentSheet不显示卡片保存选项的解决方案

你遇到的两个问题(无法选择已存卡片、无新卡片保存勾选框),核心问题出在后端配置上,以下是具体修复步骤:

1. 后端创建PaymentIntent时必须添加setup_future_usage参数

要让PaymentSheet显示保存卡片的选项,后端生成PaymentIntent时必须指定setup_future_usage参数,取值为on_session或off_session:

  • on_session:允许用户后续在会话内复用该卡片
  • off_session:支持后续自动扣款(无需用户操作)

示例后端代码(Node.js):

const paymentIntent = await stripe.paymentIntents.create({
  amount: 1000, // 金额单位为分
  currency: 'cny', // 根据你的业务设置币种
  customer: 'cus_XXXXXXX', // 对应前端传入的customer ID
  setup_future_usage: 'on_session', // 关键配置
  // 其他必填参数
});

2. 验证EphemeralKey的生成权限

生成EphemeralKey时,必须确保权限包含customer_payment_methods,否则前端无法获取用户已存储的卡片:

const ephemeralKey = await stripe.ephemeralKeys.create(
  { customer: 'cus_XXXXXXX' },
  { apiVersion: '2024-06-20' } // 使用你当前的Stripe API版本
);

3. 前端代码确认

你的前端initPaymentSheet配置已经正确传入了customerId和customerEphemeralKeySecret,这部分无需修改,只需确保后端返回的这两个值是有效且关联的。

额外检查点

  • 确认Stripe后台未禁用卡片保存功能(默认开启)
  • 测试使用Stripe官方测试卡号(如4242 4242 4242 4242),部分真实卡号可能因发卡行规则无法保存

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 08:15:38