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

如何创建一个仅保留第一次订阅并在试用结束时开始计费的Checkout会话?
非常感谢
尼克
发布于 2020-10-09 15:13:52
如果要通过Stripe更新现有订阅,则需要使用mode: 'setup',并在安装意图的元数据中传递subscription_id。
https://stripe.com/docs/payments/checkout/subscriptions/update-payment-details
另一种方法是,考虑实现客户账单门户:
https://stripe.com/docs/billing/subscriptions/customer-portal
https://stackoverflow.com/questions/64282619
复制相似问题