我已经将Stripe.net升级到了最新版本20.3.0,但是现在我似乎找不到信用卡的.Last4。我有以下方法:
public void CreateLocalCustomer(Stripe.Customer stipeCustomer)
{
var newCustomer = new Data.Models.Customer
{
Email = stipeCustomer.Email,
StripeCustomerId = stipeCustomer.Id,
CardLast4 = stipeCustomer.Sources.Data[0].Card.Last4
};
_dbService.Add(newCustomer);
_dbService.Save();
}
Run Code Online (Sandbox Code Playgroud)
但是现在stipeCustomer.Sources.Data[0].Card.Last4说了'IPaymentSource' does not contain a definition for 'Card'。有人知道我现在如何获得卡的详细信息吗?流程是,我通过将Stripe令牌传递给Stripe来创建客户,然后得到上面的stripeCustomer。因此,我希望它位于该对象的某个位置。但是我找不到。发行说明可以在这里找到。谢谢。
小智 5
在Stripe的旧世界中,您过去只能将一种付款方式附加给客户;特别是Card-objects。您可以创建一个Card-object使用Stripe.js / V2或创建令牌API端点到第一营造Token-object并随后附上令牌的Customer-object与创建卡API端点。
但是,一旦Stripe扩展为支持许多其他付款方式,Stripe就支持一种新的对象类型,该对象类型封装了称为Source-objects的许多付款方式(包括信用卡)。甲Source-object是通过使用创建的Stripe.js / V3或创建源API端点。它也可以被附着到一个Customer-object在大致相同的方式作为Card-objects如上所述,除了它们保留它们的对象类型。他们仍然是一个Source。您可以使用“ 附加源API端点”来执行此操作(这与上面提到的“ 创建卡API端点”显着相同)。
我现在要说的是,现在可以期待在sources-array(或Sources.NET)中返回两种不同的对象类型(或更多)。尽管所有这些方法都继承自IPaymentSource-interface。因此,如果您知道要返回一个Card-object,则只需将返回的对象Card强制转换为-class即可。
这样的事情应该可以帮助您:
CardLast4 = ((Card) stipeCustomer.Sources.Data[0]).Last4
Run Code Online (Sandbox Code Playgroud)
通过查看Card-class文件中的这一行,您可以了解继承的含义:
https://github.com/stripe/stripe-dotnet/blob/master/src/Stripe.net/Entities/Cards/Card.cs#L7
祝好运!
| 归档时间: |
|
| 查看次数: |
1218 次 |
| 最近记录: |