在条带上安排结束日期的定期付款

Scheduling recurring payments with end date on stripe

我正在尝试创建一个为期 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',
});

我想为有结束日期的定期付款做类似的事情,但似乎做不到。

您有 2 个选择:

  1. 创建结帐会话,模式 = 'subscription' 试用。还在试用期的时候,create a Subscription Schedule to apply to that Subscription根据需要修改时间表。
  2. 创建结帐会话,模式 = 'setup' 以收集您的客户付款信息。稍后 create Subscription Schedule specifying that Customer Id