Stripe-如何使用免费计划来处理订阅,并且在注册时不需要信用卡


77

我们开始在Redsmin上实现Stripe (我们的项目之一),我认为我们可能错过了一些东西。下面是它的工作原理:

  1. 要使用我们的产品,用户必须选择一个计划(免费,s,m,xl,xxl ...),然后输入其登录名/密码,然后可以免费试用30天。当用户提交表单时,我们的服务器将使用指定的计划并且不使用信用卡来调用Stripe create_customer(因为我们希望免费提供30天且不需要信用卡),并且我们会使用返回的customer_id和来更新用户模型subscription_id

  2. 我们设置了一个Webhook来接收条纹事件,因此30天后,我们的Webhook应该会收到一个customer.subscription.updated带有的事件object.status == active我对吗?

  3. 但是,由于我们没有在注册时为用户指定关联的卡,因此我们应该在发生其他customer.subscription.updated事件后迅速收到通知object.status == unpaid吗?然后,在我们这边,我们停用用户帐户,并强制其转到我们的计划选择页面。

  4. 从那时起,用户可以选择免费计划或我们的高级计划之一:

  5. #Scenario 1如果用户选择免费计划,我们只是在我们这边重新激活其帐户,而没有做任何其他事情,因为我们在stripe上将免费计划配置为费用为0 $。我们是否通过免费计划实施了正确的流程?有更好的方法吗?

  6. #Scenario 2如果用户选择了高级计划,我们会将其重定向到信用卡表格,然后将其发送到Stripe,并使用临时卡令牌更新Stripe客户帐户。接下来我们该怎么做?

    • 我们应该等待条纹发送事件给我们吗?如果是这样,发生什么事件?customer.subscription.updatedcharge.succeeded?的值是object.status多少?
    • 我们应该直接在我们这边重新激活用户帐户并等待条纹确认吗?如果是这样,我们应该等待什么事件名称和数据?


1
@halfer谢谢,我们已解决问题!
FGRibreau

最新的API是否仍然有效?如果客户没有付款来源,则不允许我创建订阅(即使有免费试用版)。
imns

Answers:


45

在第2部分中,您将执行以下操作:

我们设置了一个Webhook来接收条带事件,因此30天后,我们的Webhook应该会收到一个带有object.status == active的customer.subscription.updated事件,对吗?

您也可以考虑实施网络customer.subscription.trial_will_end挂钩,该网络挂钩将在客户试用期结束前三天发送,并允许您向客户发送通知以更新其付款信息。

这样,如果用户确实决定去更新他们的付款信息,那么Stripe将能够在客户试用期结束后立即付款,并且他们将能够继续使用您的服务而不会受到干扰。

#Scenario 1如果用户选择免费计划,我们只是在我们这边重新激活其帐户,而没有做任何其他事情,因为我们在stripe上将免费计划配置为成本为0 $。我们是否通过免费计划实施了正确的流程?有更好的方法吗?

据我所知,这是使用Stripe实施免费计划的最佳方法,我可能会确保除非需要,否则不会向客户发送任何发票。我怀疑用户如果使用免费计划会期望在每个计费期收到发票。

#方案2如果用户选择了高级计划,我们会将其重定向到信用卡表格,然后将其发送到Stripe,并使用临时卡令牌更新Stripe客户帐户。接下来我们该怎么做?:

  • 我们是否应该等待Stripe向我们发送事件,如果是,那是什么事件?customer.subscription.updated?收费成功?那么object.status的值是什么?
  • 我们应该直接在我们这边重新激活用户帐户并等待条纹确认吗?如果是这样,我们应该等待什么事件名称和数据?

一旦用户选择了计划并更新了他们的付款信息,我将立即激活他们的帐户,前提是对Stripe的订阅更新的响应是成功的。

只要您从Stripe仪表板配置了订阅首选项,您就应该能够让Stripe处理付款失败时的处理方式。只需确保实现了customer.subscription.updatedWebhook,因为这将是Stripe发送给您的Webhook(如果Stripe将订阅标记为未付费或已取消),从而允许您相应地更新自己的记录。


“此网络挂钩将在客户试用期结束前三天发送,并允许您向客户发送通知以更新他们的付款信息,他们将能够继续使用您的服务而不会受到干扰。” 我没有想到那谢谢!
FGRibreau

“据我所知,这是使用Stripe实施免费计划的最佳方法”好!
FGRibreau

“要做的只是确保您实现了customer.subscription.updated webhook”,这就是我的感谢!
FGRibreau

6
Stripe建议仍将为$ 0计划发送发票。因此,我将结算周期设置为我的年度结算,因此至少用户每年只会看到一次零发票,因此不会太烦人。
BlinkyBill 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.