我在Stripe中使用客户/信用卡创建了一个POC,并登录了Stripe中的仪表板,能够看到该客户具有正确关联的默认来源(我添加的测试信用卡)。它显示此卡是默认来源。
当我运行此.Net代码时:
var customerService = new CustomerService();
var stripeCustomer = await customerService.GetAsync(customerId);
要获得该客户,它将正确返回除其来源以外的所有内容。我希望可以从中找到的所有字段都是空的!我想知道他的默认付款来源,因此可以在前端显示一个带有小图标的图标,以表明它是默认的。
DefaultSource,DefaultSourceId和Sources属性均为空白/空。
是否有让Stripe返回它的方法,还是我需要做其他事情?我为GetAsync方法尝试了'expand'属性,但抛出了一个错误,说上述属性不可扩展(即,我不能要求Stripe扩展/返回Source)。
有什么想法我能做什么?
仅供参考,我也尝试过:
var paymentMethodService = new PaymentMethodService();
var cards = await paymentMethodService.ListAsync(new PaymentMethodListOptions { Customer = customerId, Type = "card"});
并且似乎没有任何地方可以显示该卡为默认卡(尽管它确实可以正确返回所有卡)。我相信Stripe文档指出客户是默认来源的持有者,而不是卡对象。有什么作用?
谢谢!
答案 0 :(得分:0)
您似乎正在使用“付款方式”,因为您的付款方式列表调用具有预期的结果,这意味着客户可能没有任何sources
。如果您确实知道客户已附加来源,则可以使用适当复数的expand[]=sources
再试一次。
对于“付款方式”,客户没有一般默认设置。对于一次性付款意向,您必须始终为future payments的客户附加payment_method
。
要支付发票(例如,与定期订阅有关),可以设置invoice_settings.default_payment_method
for Customer。这仅适用于发票。