我正在使用.NET和Stripe Checkout处理付款。
我已经收到付款,但是它说“不完整”,并且PaymentIntent需要付款方式。
我正在使用Stripe Checkout,但没有发现需要声明付款方式的任何地方。创建Session对象时仅需要以下与付款方式有关的代码:
??
我尝试过以下方式使用API创建付款方式:
PaymentMethodTypes = new List<string> {
"card",
},
然后使用以下方法将响应附加到Customer对象:
StripeConfiguration.ApiKey = {MY_STRIPE_API_KEY};
var options = new PaymentMethodCreateOptions
{
Type = "card",
};
var service = new PaymentMethodService();
var response = service.Create(options);
但是,当我创建付款方式时,它说我缺少包含客户卡详细信息的参数Card,而我没有。我认为这是重定向到Stripe Checkout的事情。
答案 0 :(得分:1)
使用Stripe Checkout时,您无需预先创建PaymentMethod或Customer。 Checkout会自动为您完成所有操作。
您在代码中创建的是PaymentMethod,但没有任何付款明细(例如卡号)。因此,当您将其附加到客户时,该请求将失败,因为PaymentMethod缺少详细信息,并且由于无法收取费用而将毫无用处。
由于您正在使用Checkout,因此您应该遵循以下指南:https://stripe.com/docs/checkout/integration-builder