使用 .Net 客户端库从 Stripe Token 创建 Stripe 客户 & Stripe.js

Creating Stripe customer from Stripe Token using .Net client library & Stripe.js

我的 ASP.NET MVC Web 应用程序中有一个屏幕,我在其中询问用户他们的信用卡信息。他们输入。

遵守 PCI 准则,我正在使用 Stripe.js 将此信用卡信息发送到 stripe 并取回 stripe 令牌。

然后我 post 这个条带令牌到我的 ASP.NET MVC 应用程序。在应用程序中,我想创建一个客户。我不想现在就向客户收费。我只是想创建一个客户,以便稍后使用他们的 Stripe customerId.

向他们收费

文档 provided here 使它看起来很简单。但是,我使用的客户端库(Stripe NuGet 包版本 1.12.0)不提供 StripeCustomerCreateOptions class 和该文档中提到的许多其他 classes。

相反,它有以下两种方法可以帮助您创建客户:

public StripeObject CreateCustomer(ICreditCard card = null, 
             string coupon = null, 
             string email = null, 
             string description = null, 
             string plan = null, 
             DateTimeOffset? trialEnd = default(DateTimeOffset?));

public StripeObject CreateCustomerToken(string customerId);

如您所见,none个方法对我有帮助。第一个要求服务器传递信用卡信息,我没有这样做,因为它违反了 PCI 准则。

第二个假设您已经有一个客户并且您想要一个令牌供客户在其他地方使用。

如果我已经拥有从 Stripe.js 获得的信用卡令牌,如何从我的 ASP.NET MVC 应用程序中创建客户?

您可以从令牌 ID 构造一个 CreditCardToken(参见此处:https://github.com/nberardi/stripe-dotnet/blob/master/src/CreditCardToken.cs#L8)。

由于 CreditCardToken 实现了 ICreditCard,您可以将其用作 CreateCustomer() 方法中的 card 参数。