我应该每个月使用什么作为计算用户消耗的资源量的起点?

比方说,我为我的用户使用条带订阅,其中一个计划是100个API请求每月10美元,这是标准价格。 但是,如果用户使用了150个API请求,我会在10美元的最高价格上再收取3美元。 对于200多个请求,总共17美元。

说,我已于10月9日订阅了用户。 11月9日,Stripe将再次收取费用。 我应该何时“冻结”用户在本月使用的API数量来计算总体价格,并从11月9日到12月9日的新时期再次从零开始计算?

就我而言,它位于我的条带Web钩子控制器中的payment.successinvoice.success事件上。 但是,我认为这不可靠,因为:

  1. 它究竟是哪一个 – payment.successinvoice.success – 我需要的那个? 它们同时发生,据我所知有时payment.success 首先发生,有时 – invoice.success并且不知道哪一个在每个特定情况下首先出现。

  2. Theres是这两个事件之间的时间段,我不知道到底有多长,可能是几分钟。 但在这几分钟内,用户可能会消耗至少一个发票

  3. 我不确定是否保证每个用户的事件payment.successinvoice.success每月发生一次 。 他们真的吗? 如果不是,使用它们实现我的目标就更不可靠了。

  4. invoice.created事件发生在发票关闭前1小时。

嗯。 为什么不是用户点击“购买”的那一刻? 收到付款需要一个小时/天的事实是不相关的呢? 想想iOS应用程序。 我现在可以买这个应用程序,但大部分时间我都没有收到Apple的发票好几天(有时甚至一周)。

我认为你试图将它计入支付提供商的活动时会感到沮丧。 恕我直言,应该在你的应用程序内完成。