gpt4 book ai didi

stripe-payments - Stripe : Getting Credit Card's Last 4 Digits

转载 作者:行者123 更新时间:2023-12-04 07:00:37 29 4
gpt4 key购买 nike

我已将 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();
}

但现在 stipeCustomer.Sources.Data[0].Card.Last4'IPaymentSource' does not contain a definition for 'Card' .有谁知道我现在如何获得卡的详细信息?流程是我通过将 Stripe token 传递给 Stripe 来创建客户,然后我得到上面的 stripeCustomer。所以我希望它在那个对象的某个地方。但我找不到。发行说明可以在 here 中找到.
谢谢你。

最佳答案

在旧的 Stripe 世界中,过去只有一种付款方式可以附加到客户;具体来说, Card -objects .您将创建一个 Card -object通过使用 Stripe.js/v2Create Token API Endpoint首先创建一个 Token -object然后将该 token 附加到 Customer -objectCreate Card API Endpoint .

然而,一旦 Stripe 扩展以支持许多其他支付方式,Stripe 就建立了对一种新对象类型的支持,该对象类型封装了许多名为 Source -objects 的支付方式(包括信用卡)。 . Source -object是通过使用 Stripe.js/v3 创建的或 Create Source API Endpoint .它也可以连接到 Customer -object Card -objects 的方式大致相同上面提到过,除了它们保留它们的对象类型。他们仍然是 Source .您使用 Attach Source API Endpoint这样做(这与上面提到的 Create Card API Endpoint 明显相同)。

我在这里得到的是,现在有两种不同的对象类型(或更多)您可以期望在 sources 中看到返回。 -array(或 Sources 在 .NET 中)。尽管所有这些方法都继承自 IPaymentSource -界面。所以如果你知道你有一个 Card -object得到返回,您可以简单地将返回的对象强制转换为 Card -class .

这样的事情应该让你去:

CardLast4 = ((Card) stipeCustomer.Sources.Data[0]).Last4

通过查看 Card 中的这一行,您可以理解我所说的继承是什么意思。 -类文件:

https://github.com/stripe/stripe-dotnet/blob/master/src/Stripe.net/Entities/Cards/Card.cs#L7

祝你好运!

关于stripe-payments - Stripe : Getting Credit Card's Last 4 Digits,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53112010/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com