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

Stripe中PaymentMethod与Card的选择:用default_source还是default_payment_method?

关于Stripe支付方式检查与API选择的解答

核心结论

  1. 优先使用default_payment_method:Sources API已被Stripe官方弃用,新集成完全基于PaymentMethod体系即可,invoice_settings.default_payment_method是当前官方推荐的默认支付方式字段。
  2. 新开发不要用Card API:stripe.Customer.card.create属于旧的Sources体系接口,仅适用于维护历史遗留系统,新项目直接采用PaymentMethod API即可。

支付方式检查逻辑

要判断客户是否有可用支付方式,按以下顺序验证:

  • 首先检查客户对象的invoice_settings.default_payment_method是否存在且有效;
  • 若需兼容历史数据(比如之前用Sources集成的老客户),再补充检查default_source;
  • 两者均为空时,提示用户填写账单详情表单。

为什么推荐第二种方案

你提供的第二种方案(前端创建PaymentMethod + 后端绑定到客户 + 设置为默认支付方式)完全符合Stripe当前最佳实践:

  • PaymentMethod是统一的支付方式接口,支持卡片、ACH转账、PayPal等多种支付类型,扩展性更强;
  • 绑定后的PaymentMethod可直接在账单门户、订阅管理等Stripe原生功能中正常显示和使用;
  • 后续Stripe的新功能都会基于PaymentMethod开发,能避免因API弃用带来的维护成本。

Card API的适用场景

仅在维护旧的Sources体系集成时需要用到Card API,比如你的系统之前已用Sources创建了大量卡片支付源,需要继续管理这些历史数据。新开发场景下,完全无需考虑Card API。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 11:42:38