Stripe CLI执行payment_methods list返回空数组问题求助
问题原因及解决方案
你遇到的核心问题是混淆了两个概念:
- Stripe后台激活的是支付方法类型(比如信用卡、支付宝这类可选的支付方式种类)
stripe payment_methods list命令返回的是已创建的具体支付方法实例(比如用户绑定的某张信用卡、某个支付宝账户)
所以后台显示的9个激活项是支付方式种类,而该命令只会返回已关联到客户/支付意图的具体支付方法实例,这就是返回空数组的原因。
解决方法(给前端展示可选支付方式)
推荐方案:使用Stripe Payment Element
直接集成Stripe的Payment Element组件,它会自动根据你的账号配置、业务地区、客户所在地区,展示所有已激活的支付方式,无需手动获取列表,还能自动适配不同设备和支付场景。手动获取可用支付方法类型
如果需要手动获取账号已激活的支付方式类型,有两种方式:- 直接查看Stripe后台【支付设置】→【支付方法】页面,记录激活项对应的类型标识(比如
card、alipay、wechat_pay等) - 通过API验证:执行创建测试支付意图的命令,查看返回的
payment_method_types字段,就是当前账号允许的支付方式类型:stripe payment_intents create --amount 100 --currency cny
- 直接查看Stripe后台【支付设置】→【支付方法】页面,记录激活项对应的类型标识(比如
验证
payment_methods list命令
若要测试该命令能否返回数据,可先创建一个测试支付方法实例,再执行列表命令:# 创建测试信用卡支付方法 stripe payment_methods create --type card --card[number] 4242424242424242 --card[exp_month] 12 --card[exp_year] 2025 --card[cvc] 123 # 再次执行列表命令 stripe payment_methods list此时就能看到刚才创建的支付方法实例。
内容的提问来源于stack exchange,提问作者Gardelin
相关产品推荐
相关产品推荐

