如何在 Stripe 中报告计费周期结束前客户已使用该服务的量?
我在文档中发现可以定期报告使用情况,但在我的用例中,我只想根据用户使用服务的次数向他们收费。例如,如果用户在计费期间(在我的情况下每月)使用了 900(任意单位),那么我想向他们收取例如 900 美元的 3%。我无法报告使用情况,因为它发生得太频繁,并且获取它的 sql 查询有点昂贵。但我可以在月底获得该月的总使用量。
我想我可以通过为具有计量使用量的产品创建每月定期价格来实现此目的,然后在月底使用 Webhook 事件来报告使用情况。但我不确定我应该监听哪个 webhook 事件。
最佳答案
我通过完全放弃计量价格并为产品创建正常的每月价格(每月 0 美元)来实现这一目标。然后,我监听 invoice.created
webhook,并检查发票是否适用于这个新价格,如果是,我会使用内联将 invoiceItems
添加到发票中描述用户应支付多少费用的价格(当然是根据客户记录的使用情况计算的):
$stripe->invoiceItems->create(
[
'customer' => $customer,
'invoice' => $invoiceId,
'price_data' => [
'currency' => 'usd',
'product' => $product,
'unit_amount_decimal' => $howMuchToPay * 100 //because in cents
]
]
);
这是可能的,因为创建发票后,在最终确定
之前仍然可以对其进行编辑。
关于stripe-payments - 在 Stripe 中的计费周期结束之前报告使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73852820/