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

如何判断Stripe客户的默认支付方式是银行卡还是银行账户?

判断Stripe客户默认支付方式是银行卡还是银行账户

核心解决方案:用invoice_settings.default_payment_method字段(官方推荐)

Stripe的客户对象里,invoice_settings.default_payment_method是统一记录默认支付方式的字段,不管是银行卡还是银行账户都能识别。你只需要在API调用时扩展这个字段,就能从返回结果里拿到支付方式类型:

  1. 调整你的curl调用,加入扩展参数:
curl https://api.stripe.com/v1/customers/cus_Ia2m9sl1Na1j1E \
  -u sk_test_51Hx2pbGbd..: \
  -d expand[]=invoice_settings.default_payment_method
  1. 查看返回的invoice_settings.default_payment_method对象:
    • 若支付方式是银行卡,type属性值为card
    • 若支付方式是银行账户,type属性值为对应类型(比如美国银行账户是us_bank_account,欧盟SEPA账户是sepa_debit)

替代方案:基于现有调用的补充判断

如果不想修改现有调用参数,也可以用你当前扩展的sources字段来判断:

  • 当default_source不为null时,该对象的object属性值为card,说明是银行卡
  • 当default_source为null时,遍历sources.data数组,找object属性为bank_account的条目——这类就是客户设置的默认银行账户(因为银行账户不会出现在default_source里)

为什么之前的default_source不好用?

因为Stripe的source体系主要针对银行卡,银行账户属于新的payment_method体系,所以default_source不会返回银行账户信息,改用invoice_settings.default_payment_method才能覆盖所有支付方式类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 20:25:20