【发布时间】:2023-03-07 18:28:01
【问题描述】:
我正在使用 Stripe 创建产品订阅。工作流程是:
- 在新用户注册时创建客户和订阅(带有试用版)
- 客户可以在试用期结束前的任何时间输入卡的详细信息,但在试用期结束前不会收费
当我在 Stripe 中执行此操作时,我发现客户有两个订阅。
订阅是使用参数创建的:
{customer: customer,
trial_period_days: 30,
proration_behavior: 'none',
items: [{price: ENV['STRIPE_SUBSCRIPTION_PRICE']}]}
当客户想要输入他们的卡详细信息时,结帐会话是通过以下方式创建的:
session = Stripe::Checkout::Session.create(
customer: customer,
payment_method_types: ['card'],
mode: 'subscription',
line_items: [
{price: ENV['STRIPE_SUBSCRIPTION_PRICE'], quantity: 1},
],
success_url: "#{domain}/subscription-success?session_id={CHECKOUT_SESSION_ID}",
cancel_url: "#{domain}/subscription-cancel",
)
在 Stripe 中,您可以看到为该客户创建的两个订阅(一个包含试用版,一个没有试用版)。立即为其中一个订阅开具发票。
如何创建仅保留第一个订阅并在试用结束时开始计费的结帐会话?
非常感谢
尼克
【问题讨论】:
标签: stripe-payments