如何处理 "incomplete" 次试用订阅

How to handle "incomplete" trial subscriptions

我们目前使用 Stripe 提供订阅服务,可免费试用 30 天。由于我们不希望客户在未授权一种付款方式的情况下开始免费试用,因此我们使用创建的订阅的 SetupIntent 向我们的客户提供卡输入。现在的问题是,甚至在向客户显示卡输入之前,订阅就已经创建并“付费”了,因为它是免费试用。

这意味着我们无法监听初始的 invoice.paid Webhook 来激活帐户,而是需要监听 setup_intent.succeeded。这似乎有点奇怪,需要我们 link 将 SetupIntent 变为 Subscription。这也意味着当客户在输入他们的卡详细信息之前取消订阅过程时,Stripe 仍然在试用中创建了一个有效的订阅。

我们是否可以做一些不同的事情,或者我们是否应该接受 SetupIntent 被中止的订阅在 Stripe 尝试支付下一次(非试用)费用后将在 Stripe 端处于非活动状态发票?

Stripe 的文档使用通过试用订阅创建的设置意图来收集客户的付款方式,但对于您的用例,预先创建您自己的设置意图可能更有意义而不创建订阅,除非设置意图成功。它会是这样的:

  1. 创建设置意图
  2. 收集详细信息后确认设置意图
  3. 如果成功,创建试用订阅

或者,您可以尝试使用 Checkout,即使是试用订阅也需要用户提交付款方式