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

如何在Stripe上无需付款保存银行卡信息?后续API操作指引

保存客户银行卡信息的Stripe操作步骤

你已经完成的创建客户、创建设置意图(Setup Intent)、创建Elements元素是正确的前置步骤,接下来需要通过以下操作完成银行卡信息的保存:

核心操作:确认卡片设置并关联客户

当用户通过Elements输入完银行卡信息后,在前端调用 stripe.confirmCardSetup() 方法,该方法会完成卡片验证,并将支付方式(PaymentMethod)自动关联到你之前创建的客户账户下:

// 前端代码示例
const { error, setupIntent } = await stripe.confirmCardSetup(
  'SETUP_INTENT_CLIENT_SECRET', // 从后端获取的Setup Intent的client_secret
  {
    payment_method: {
      card: cardElement, // 你通过stripe.elements()创建的卡片元素实例
      billing_details: {
        name: '客户姓名' // 可选,填写客户账单姓名
      }
    }
  }
);

if (error) {
  // 处理错误,比如提示用户卡片信息有误
  console.error(error.message);
} else {
  // 设置成功,此时Setup Intent的payment_method字段就是保存的支付方式ID
  const savedPaymentMethodId = setupIntent.payment_method;
  // 将这个ID发送到你的后端,关联客户ID保存到数据库
  fetch('/save-payment-method', {
    method: 'POST',
    body: JSON.stringify({
      customerId: 'YOUR_CUSTOMER_ID',
      paymentMethodId: savedPaymentMethodId
    })
  });
}

关键注意事项

  • 创建设置意图(stripe.setupIntents.create())时,必须传入 customer: '你的客户ID' 和 payment_method_types: ['card'] 参数,这样确认后支付方式才会自动绑定到该客户。
  • 你无需存储任何银行卡敏感信息(如卡号、CVV),只需保存返回的 PaymentMethod ID 即可,后续支付时直接使用该ID。

后续使用已保存的支付方式

当需要给该客户发起支付时,可在后端调用 stripe.paymentIntents.create(),指定对应的客户ID和保存的PaymentMethod ID:

# 后端Python代码示例(其他语言同理)
stripe.PaymentIntent.create(
  amount=1000, # 金额,单位为分
  currency='usd',
  customer='YOUR_CUSTOMER_ID',
  payment_method='SAVED_PAYMENT_METHOD_ID',
  confirm=True # 自动确认支付
)

你也可以通过 stripe.customers.listPaymentMethods('YOUR_CUSTOMER_ID') 接口,获取该客户名下所有已保存的支付方式,用于展示给用户选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 08:55:19