如何处理 "incomplete" 次试用订阅
How to handle "incomplete" trial subscriptions
我们目前使用 Stripe 提供订阅服务,可免费试用 30 天。由于我们不希望客户在未授权一种付款方式的情况下开始免费试用,因此我们使用创建的订阅的 SetupIntent
向我们的客户提供卡输入。现在的问题是,甚至在向客户显示卡输入之前,订阅就已经创建并“付费”了,因为它是免费试用。
这意味着我们无法监听初始的 invoice.paid
Webhook 来激活帐户,而是需要监听 setup_intent.succeeded
。这似乎有点奇怪,需要我们 link 将 SetupIntent
变为 Subscription
。这也意味着当客户在输入他们的卡详细信息之前取消订阅过程时,Stripe 仍然在试用中创建了一个有效的订阅。
我们是否可以做一些不同的事情,或者我们是否应该接受 SetupIntent
被中止的订阅在 Stripe 尝试支付下一次(非试用)费用后将在 Stripe 端处于非活动状态发票?
Stripe 的文档使用通过试用订阅创建的设置意图来收集客户的付款方式,但对于您的用例,预先创建您自己的设置意图可能更有意义而不创建订阅,除非设置意图成功。它会是这样的:
- 创建设置意图
- 收集详细信息后确认设置意图
- 如果成功,创建试用订阅
或者,您可以尝试使用 Checkout,即使是试用订阅也需要用户提交付款方式
我们目前使用 Stripe 提供订阅服务,可免费试用 30 天。由于我们不希望客户在未授权一种付款方式的情况下开始免费试用,因此我们使用创建的订阅的 SetupIntent
向我们的客户提供卡输入。现在的问题是,甚至在向客户显示卡输入之前,订阅就已经创建并“付费”了,因为它是免费试用。
这意味着我们无法监听初始的 invoice.paid
Webhook 来激活帐户,而是需要监听 setup_intent.succeeded
。这似乎有点奇怪,需要我们 link 将 SetupIntent
变为 Subscription
。这也意味着当客户在输入他们的卡详细信息之前取消订阅过程时,Stripe 仍然在试用中创建了一个有效的订阅。
我们是否可以做一些不同的事情,或者我们是否应该接受 SetupIntent
被中止的订阅在 Stripe 尝试支付下一次(非试用)费用后将在 Stripe 端处于非活动状态发票?
Stripe 的文档使用通过试用订阅创建的设置意图来收集客户的付款方式,但对于您的用例,预先创建您自己的设置意图可能更有意义而不创建订阅,除非设置意图成功。它会是这样的:
- 创建设置意图
- 收集详细信息后确认设置意图
- 如果成功,创建试用订阅
或者,您可以尝试使用 Checkout,即使是试用订阅也需要用户提交付款方式