Stripe payments 分条计费:试用,未选择计划,注册时未输入信用卡

Stripe payments 分条计费:试用,未选择计划,注册时未输入信用卡,stripe-payments,payment-gateway,webhooks,payment-processing,Stripe Payments,Payment Gateway,Webhooks,Payment Processing,我读了这篇文章,发现它非常有用,但我仍然有一个问题 我的应用程序有两个付费计划:“基本”和“专业”。注册时,用户不选择计划,不输入卡片详细信息。基本上,用户在最初的14天内都在使用一个通用的试用计划,在试用期满后,用户必须选择一个付费计划并输入卡的详细信息 处理这次审判的最佳方式是什么?我在考虑这些方法: a)由于我不知道用户在试用期满后会选择哪种付费计划,因此我无法使用Stripe试用期功能 从Stripe Docs:创建计划时,可以设置的选项之一是试用期的持续时间。如果您选择提供试用期,则在

我读了这篇文章,发现它非常有用,但我仍然有一个问题

我的应用程序有两个付费计划:“基本”和“专业”。注册时,用户选择计划,输入卡片详细信息。基本上,用户在最初的14天内都在使用一个通用的试用计划,在试用期满后,用户必须选择一个付费计划并输入卡的详细信息

处理这次审判的最佳方式是什么?我在考虑这些方法:

a)由于我不知道用户在试用期满后会选择哪种付费计划,因此我无法使用Stripe试用期功能

从Stripe Docs:创建计划时,可以设置的选项之一是试用期的持续时间。如果您选择提供试用期,则在试用期结束之前,您注册的客户将不会首次收取费用

我在考虑创建一个名为“试用”的条带计划,金额设置为$0.00,试用期为14天,间隔2周。这样我就可以收听Stripe webhook
customer.subscription.updated
,以确定试用期是否过期,并相应地更新数据库。我不确定这是否是一个好方法,因为它将为此试用计划生成发票(它被设置为订阅)。不过我确实喜欢条纹网钩。有更好的方法吗

b) 另一种选择是,只有在试用期到期时,用户才可以在Stripe中创建付费计划并创建Stripe订阅,用户必须选择一个计划并输入卡的详细信息。这样我就不会用Stripe来检查试用期是否过期了。我将对用户登录进行检查,以确定试用是否仍处于活动状态


谢谢你的帮助

我的答案取决于您的用户在试用期结束后选择计划的百分比。如果大多数人这样做了,那么我建议从一开始就将它们移动到Stripe中。如果大多数客户没有成为付费用户,我会推迟将他们迁移到Stripe,直到他们成为付费用户

对于后者,您只需在您的终端创建一个虚拟试用版,然后向他们提供两周后完全订阅的选项。这种方法是有道理的,因为它不会污染你与非客户的Stripe帐户,而且在两周后的任何时候(例如,如果他们在试用期结束后一周回来)都可以很容易地向你的客户订阅

但对于前者,如果能让他们立即进入状态是有意义的话。您可以免费创建一个计划,并进行为期两周的试用,然后观看Webhook。你的方法很好。或者,你可以创建一个没有成本的计划,两周的试用期,但之后支付成本。如果没有信用卡存档,试用后,订阅收费尝试将失败,订阅将被标记为拖欠。你可以认为这是有用的。

希望有帮助! 拉里


PS我在Stripe从事支持工作。

您的第二个解决方案是黑客。引发subscription.update事件的原因有几个,包括切换计划。你不能仅仅依靠它来确定某人的审判是否结束,因为如果他们同意,它也会被解雇。就我个人而言,我不明白为什么Stripe在审判到期时不触发事件。我知道他们三天前就这么做了,但我说的是它什么时候真正过期。好吧,如果Stripe为试用版提供webhook,会更好更简单。但是,您可以通过使用事件链来确定这一点。例如,当试用结束时,Stripe将更新订阅对象状态以反映试用已结束。因此,在您的程序中,您可以检查用户是否未输入CC信息,然后他正在试用,您可以采取所需的操作。