使用条带上的结束日期计划经常性付款

人气:865 发布:2022-10-16 标签: stripe-payments

问题描述

我正在尝试创建一个为期6周的课程,其中客户注册课程,然后每周自动收取部分课程费用。

我可以创建6周的订阅计划,但我正在努力弄清楚如何创建一个结账会话,客户可以在其中输入他们的信用卡信息并开始为6周的订阅付款。

我正在创建订阅计划,如下所示:

// First, I create a price object which returns to me a price object with id: price_IK...
const price = await stripe.prices.create({
  unit_amount: 100,
  currency: 'usd',
  recurring: {interval: 'week'},
  product: 'prod_LDD...',
});

// Then, I create a subscription schedule object which returns to make subscriptionSchedule object with id: sub_sched_1K...
const schedule = await stripe.subscriptionSchedules.create({
  start_date: 'now',
  end_behavior: 'release',
  phases: [
    {
      items: [{ price: 'price_1K...', quantity: 1 }],
      iterations: 6,
    },
  ],
});

现在,如何显示使用此订阅计划创建结账会话以允许客户输入他们的信用卡信息并开始为此订阅付款?

对于没有结束日期的经常性付款,我只能在结账会话本身中设置订阅付款:

const session = await stripe.checkout.sessions.create({
  mode: 'subscription',
  line_items: [
    {
      price: price_1K...,
      quantity: 1,
    },
  ],
  success_url: 'https://example.com/success.html?session_id={CHECKOUT_SESSION_ID}',
  cancel_url: 'https://example.com/canceled.html',
});

我想对具有结束日期的定期付款执行类似的操作,但似乎无法做到。

推荐答案

您有两个选择:

创建一个Checkout Session,mode=‘Subscription’with Trial。当它仍在试用中时,create a Subscription Schedule to apply to that Subscription并根据需要修改时间表。 创建结账会话,mode=‘Setup’以收集您的客户付款信息。然后create Subscription Schedule specifying that Customer Id

903