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

FGR*_*eau 73 credit-card saas payment-gateway payment-processing stripe-payments

我们开始在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如果用户选择免费计划,我们只需重新激活其帐户,不做任何其他事情,因为我们将条带上的免费计划配置为成本0 $.我们是否通过免费计划实施了正确的流程?还有更好的方法吗?

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

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

小智 41

在第2部分中,您执行此操作:

我们设置了一个webhook来接收条带事件,所以30天之后我们的webhook应该收到一个带有object.status == active的customer.subscription.updated事件我是对的吗?

您也可以考虑实施customer.subscription.trial_will_endwebhook,此webhook将在客户试用结束前三天发送,并允许您向客户发送通知以更新其付款信息.

这样,如果用户决定去更新其付款信息,Stripe将能够在客户试用期结束后立即付款,并且他们将能够不间断地继续使用您的服务.

#Scenario 1如果用户选择了免费计划,我们只是重新站在我们这一边的帐户和别的什么也不做,因为我们配置上的条纹免费计划将耗资$ 0.我们是否通过免费计划实施了正确的流程?有更好的方法吗?

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

#Scenario 2如果用户选择付费计划,我们重定向他信用卡的形式,将被然后发送到条纹,和我们更新了条纹客户账户与临时卡令牌.我们接下来应该做什么?:

  • 我们应该等条纹向我们发送一个事件,如果是,那么什么事件?customer.subscription.updated?charge.succeeded?那么object.status的价值是什么?
  • 我们应该直接重新激活我们这边的用户帐户并等待条带确认吗?如果是这样,我们应该等待的事件名称和数据是什么?

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

只要您从Stripe仪表板配置了订阅首选项,您就应该能够让Stripe处理付款失败时的操作.只要确保你实现customer.subscription.updated网络挂接,因为这将是他们是否标志着一个订阅为无偿或取消,让您相应地更新自己的记录,这条会送你的网络挂接.

  • Stripe建议仍然会为$ 0计划发送发票.因此,我已将结算周期设置为每年一次,因此至少用户每年只会看一次零发票,所以不要太烦人. (5认同)