【问题标题】:Stop stripe creating 2 subscriptions停止条带化创建 2 个订阅
【发布时间】: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


    【解决方案1】:

    如果您通过 Stripe Checkout 更新现有订阅,则需要改用 mode: 'setup',并在设置 Intent 的元数据中传递 subscription_id

    https://stripe.com/docs/payments/checkout/subscriptions/update-payment-details

    或者,考虑实施客户计费门户:

    https://stripe.com/docs/billing/subscriptions/customer-portal

    【讨论】:

    • 谢谢,但我试过了,发票没有完成。我尝试设置订阅默认付款方式,但似乎没有帮助。结账成功后是否需要采取其他措施?尼克
    • 我认为我在结帐成功后错误地设置了默认付款方式。现在我在客户、invoice_settings、default_payment_method 中设置它,我认为它正在工作。谢谢尼克
    猜你喜欢
    • 1970-01-01
    • 2014-07-11
    • 1970-01-01
    • 2019-07-07
    • 2021-12-03
    • 1970-01-01
    • 2022-08-12
    • 2018-09-20
    • 2016-09-05
    相关资源
    最近更新 更多