stripe-payments - 在 Stripe 中的计费周期结束之前报告使用情况

标签 stripe-payments

如何在 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/

相关文章:

stripe-payments - 如何在 jQuery.payment 中使用 stripe.js?

node.js - Stripe 无该客户(高速 channel 账户)

python - 如何创建基于事件(每 x 事件)的 Stripe 订阅计划,而不是基于时间间隔(每 x 个月)的订阅计划?

javascript - 如果 strip 支付成功,如何调用函数?在 Angular

php - Stripe API 帐户受到限制

laravel - 通过laravel在 Stripe 上创建计划

ios - 在 Swift 应用程序中支付给另一个用户

javascript - Stripe 似乎创建了弹出窗口,但在移动设备上将其关闭

javascript - STRIPE JS 支付网关的身份验证问题

ruby-on-rails - 在活跃商户应用程序中使用两步验证的卡(信用卡/借记卡)会发生什么情况?