我们开始在 < strong > Redsmin 上实现 Stripe (我们的一个项目) ,我认为我们可能遗漏了一些东西。它是这样运作的:
要使用我们的产品,用户必须选择一个计划(free,s,m,xl,xxl...) ,然后输入其登录/密码,这样就可以进行为期30天的免费试用。当用户提交表单时,我们的服务器使用指定的计划调用 Stripe 原文: http://stripe.com/docs/api # create _ customer,不使用信用卡(因为我们想提供30天免费服务,不需要信用卡) ,我们用返回的 customer_id和 subscription_id更新我们这边的用户模型。
我们设置了一个 webhook 接收条纹事件,所以在30天后,我们的 webhook 应该接收一个 customer.subscription.updated事件和一个 object.status == active。我说的对吗?
但是,由于我们没有为用户在注册时指定一个相关的卡,我们 应该收到后,另一个 customer.subscription.updated事件与 object.status == unpaid的权利?然后在我们这边,我们关闭用户帐户并强制它转到我们的计划选择页面。
从那时起,用户可以选择免费计划或我们的溢价计划之一:
# 场景1 如果用户选择空闲计划,我们只需要在我们这边重新激活它的帐户,不做任何其他事情,因为我们在 stripe 上将空闲计划配置为0 $。我们是否用我们的免费计划实施了正确的过程?有更好的办法吗?
# 场景2 如果用户选择了一个溢价计划,我们将他重定向到一个信用卡表单,然后将其发送到 Stripe,并使用临时卡令牌更新 Stripe 客户帐户。返回文章页面
customer.subscription.updated?charge.succeeded?那么 object.status的值是多少呢?