停止Stripe创建2个订阅

3
我正在使用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中,您可以看到为该客户创建了两个订阅(一个有试用期,一个没有)。其中一个订阅立即产生了发票。

如何创建一个结帐会话,仅保留第一个订阅,并在试用结束时开始计费?
非常感谢。
Nick
1个回答

3

谢谢,但我尝试过了,发票没有完成。我尝试设置订阅默认付款方式,但似乎没有帮助。在成功结账后,我需要采取其他措施吗?Nick - nikmak
我认为在结账成功后,我错误地设置了默认的支付方式。现在我将其设置为客户、发票设置、默认支付方式,我认为它已经可以正常工作了。谢谢Nick。 - nikmak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接