创建包含来源(信用卡)的 Stripe 客户后,能否获取退回的信用卡详细信息?

Posted

技术标签:

【中文标题】创建包含来源(信用卡)的 Stripe 客户后,能否获取退回的信用卡详细信息?【英文标题】:Can I get the returned credit card details after creating a Stripe customer that includes a source (credit card)? 【发布时间】:2021-09-09 15:58:27 【问题描述】:

使用 Stripe 创建新客户,如下所示,我以令牌 ID 的形式向客户添加来源(信用卡)。创建客户后,我可以看到返回了源 ID,但没有返回数据。

问题 - 是否可以让客户获取数据,这样我就不必执行来自 Stripe 的另一个请求来获取卡详细信息?

这是一个简单的例子

StripeConfiguration.ApiKey = "sk_test_1234";
var options = new CustomerCreateOptions 
       Email = "email,
       Name = "name,
       Source = "12345" // card token number here
;
var service = new CustomerService();
customer = service.Create(options);

这是我在客户返回时看到的。 您可以看到 defaultSourceId(卡),但 DefaultSource 为空。如果它返回详细信息(品牌、lastfour、exp 月、exp 年等)会很好,否则我必须再次调用 Stripe 以获取卡详细信息。

【问题讨论】:

【参考方案1】:

在创建或检索客户时,默认情况下不再包含客户的来源:https://stripe.com/docs/api/customers/object#customer_object-sources

如果您仍想检索来源列表,则必须扩展您的客户创建调用:https://stripe.com/docs/api/expanding_objects

例如:

StripeConfiguration.ApiKey = "sk_test_1234";
var options = new CustomerCreateOptions 
       Email = "email,
       Name = "name,
       Source = "12345" // card token number here
;
// Request the full list of sources attached to this customer
options.AddExpand("sources");

var service = new CustomerService();
customer = service.Create(options);

【讨论】:

以上是关于创建包含来源(信用卡)的 Stripe 客户后,能否获取退回的信用卡详细信息?的主要内容,如果未能解决你的问题,请参考以下文章

Stripe:来源、卡、银行、支付方式有啥区别?

Stripe 可以同时向客户对象收费和转账吗?

Laravel Cashier - 使用现有客户对象创建新订阅

更改信用卡信息(条纹)

试用期满后将信用卡(在应用内)添加到现有的 Stripe 订阅

无法将信用卡添加到 Stripe 上的托管帐户