在结帐时为条纹产品添加描述
Posted
技术标签:
【中文标题】在结帐时为条纹产品添加描述【英文标题】:Add a description to a stripe product at checkout 【发布时间】:2021-12-25 15:04:50 【问题描述】:我正在开发一个 C# 应用程序,应用程序用户将为他们的客户购买订阅。由于他们将购买多个订阅,我需要向产品添加描述(客户名称),以便它与价格一起显示在计费门户中。我当前的结帐代码工作正常,相关部分在这里:
var options = new Stripe.Checkout.SessionCreateOptions
LineItems = new List<SessionLineItemOptions>
new SessionLineItemOptions
Price = priceId,
Quantity = 1
,
,
PaymentMethodTypes = new List<string>
"card",
,
Mode = "subscription",
SuccessUrl = string.Concat("https://", domain, "/success/", hhid, "?session_id=CHECKOUT_SESSION_ID"),
CancelUrl = string.Concat("https://", domain),
Customer = customerId,
SubscriptionData = new SessionSubscriptionDataOptions()
Metadata = new Dictionary<string, string>()
"userId", userId.ToString()
;
if (!string.IsNullOrEmpty(user.PaymentCustomerId))
options.Customer = user.PaymentCustomerId;
var service = new Stripe.Checkout.SessionService();
Stripe.Checkout.Session session = await service.CreateAsync(options);
Response.Headers.Add("Location", session.Url);
我联系了 Stripe 支持,他们的回复是
在这种特殊情况下,我们没有允许您添加描述的选项,但您可以将带有 price_data 参数的名称添加到结帐、发票项目和订阅计划 API。https://stripe.com/docs/api/subscription_items/create https://stripe.com/docs/billing/prices-guide
他们提供了两篇文章的链接,我已阅读并重新阅读但不了解如何实现它。如果有人可以提供帮助,将不胜感激。
【问题讨论】:
【参考方案1】:很遗憾,计费门户没有显示产品说明。
如果您想使用计费门户,则需要在产品名称中指定客户端名称,例如[client name] Product #1
,这需要您为每个客户创建一个新的产品和价格。
您可以在 Checkout Session 创建中执行此操作:
https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-line_items-price_data-product_data-name https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-line_items-price_data或者,分别创建产品和价格:
https://stripe.com/docs/api/products/create https://stripe.com/docs/api/prices/create【讨论】:
感谢您确认我已经听到的内容。如果 Stripe 不支持这一点,我们将不得不构建自己的计费门户并从元数据或类似的东西中提取我需要的东西。 嗨,Alex,您是否认为这是一个问题,即在结帐会话中“即时”设置产品数据和价格数据?没有瓶颈我应该考虑正确吗? @USMC6072 我相信亚历克斯上面概述的方法适合您的需求... 没有什么特别想到的,但您应该测试与您的业务相关的流程以确保以上是关于在结帐时为条纹产品添加描述的主要内容,如果未能解决你的问题,请参考以下文章
在 Woocommerce 结帐页面中将产品添加到购物车的复选框字段