如何防止/pipe理条纹Webhook试用注册$ 0发送发票?

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

为了处理付款,我使用Stripe并监听webhook,这样我就可以在事件发生时在后端执行function。

但是,我注意到的一件事情是,Stripe在试用期间向我发送了$ 0的发票数据。 所以,如果客户注册,他们会从$ $ $(我有我的webhook设置来发送每个我收到的发票电子邮件)发票。

这并不可怕,但是从用户体验的angular度来看,我希望避免在有人期待试用(即使该发票为$ 0)时立即获得发票的震动。

我已经考虑只是检查数据条纹发送和过滤$ 0发票,但如果我提供折扣或什么的,这似乎不是最好的方式。

任何关于如何更好地实施这个想法/笔记?

这里有几个选项:

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

    • current_period_start :这也是发票的时间戳。
    • trial_end :在此时间戳之前,包含订阅的任何发票都将用于试用。
    • customer :如果您不喜欢其他客户,则可以在处理$ 0发票时查询客户logging。 在试用期内的客户有trialingstatus
  • 如果您通过invoice.created事件发送电子邮件,则只会将初始订阅发票创build为closures状态。 所有其他订阅发票在Stripe创build时打开。 (这样您可以在处理发票之前做出调整。)一个发票$ 0和closures很有可能是一个试用 – 100%,事实上,如果你不是另外创build已经closures的发票。

尝试听取收费事件 。 事件charge.succeeded仅当用户已经成功充电时才被触发。