7

我正在开发一个提供 14 天免费试用的应用程序。

为了处理付款,我使用 Stripe 并监听 webhook,以便在事件发生时在后端执行功能。

不过,我注意到的一件事是,Stripe 正在向我发送发票数据,试用期收费为 0 美元。因此,如果客户注册,他们会从 Stripe 获得一张 0 美元的发票(我有我的 webhook 设置,可以为收到的每张发票触发一封电子邮件)。

这并不可怕,但从用户体验的角度来看,我想避免在有人期待试用时立即收到发票的震惊(即使该发票是 0 美元)。

我考虑过只检查 Stripe 发送过来的数据并过滤掉 0 美元的发票,但如果我提供折扣或其他东西,这似乎不是最好的方法。

关于如何更好地实现这一点的任何想法/说明?

4

2 回答 2

4

这里有几个选项:

  • 当您创建客户/订阅时,API 在其响应中将客户和订阅数据返回给您。您可以使用其中一个或两个中的数据进行智能过滤。特别感兴趣:

    • current_period_start: 这也是发票的时间戳。
    • trial_end:在此时间戳之前,任何包含订阅的发票都是试用版。
    • customer:如果您不喜欢其他人,您可以在处理$0发票时随时查询客户记录。status试用期内的客户拥有trialing.
  • 如果您要发送有关invoice.created事件的电子邮件,则只会将初始订阅发票创建为已关闭。当 Stripe 创建它们时,所有其他订阅发票都是打开的。(这样您就可以在处理发票之前进行调整。)同时为 0 美元且已关闭的发票很有可能成为试用版 - 事实上,如果您没有创建已关闭的发票,则为 100%。

于 2013-10-05T00:08:03.897 回答
2

尝试收听收费事件。该事件charge.succeeded仅在用户收费成功时触发。

于 2016-10-30T23:09:28.473 回答