条纹结账会话似乎在添加一个新客户,即使他们已经存在



我在.Net Core中使用了以下代码来创建Stripe结账会话,对于一个购买一个订阅的客户来说,这似乎很好。

不过,我有一个场景,客户会为其他人的订阅付费,所以很可能会多次使用结账门户。当这种情况发生时,Stripe每次都会将客户的电子邮件地址添加为新客户,因此,与其让一个客户登录到客户门户网站并查看他们已支付的所有订阅,他们只能使用该电子邮件地址登录到第一次出现的客户。

有没有一种方法可以使用结账会话,这样如果客户电子邮件已经存在,就不会作为新客户再次添加?

var options = new SessionCreateOptions
{
SuccessUrl = successUrl+"&email=" + email,
CancelUrl = cancelUrl,
Mode = "subscription",
AllowPromotionCodes = true,
LineItems = new List<SessionLineItemOptions>
{
new SessionLineItemOptions
{
Price = priceId,
Quantity = 1,
},
}
};
var service = new SessionService(this.client);
try
{
var session = await service.CreateAsync(options);
Response.Headers.Add("Location", session.Url);
return new StatusCodeResult(303);
}

Checkout不会自动为您消除重复客户。如何管理您的客户记录取决于您。

如果您希望有一个与现有客户关联的Checkout会话,则需要在创建会话时提供该customerid。https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-客户

最新更新