I recently looked into how to build out robust usage reporting with Stripe.
This comes basically from the set of challenges around:
- Workaround Stripe API Rate Limits
- Handle billing cycles and minimize usage drift into the next billing cycle
- Deliver usage exactly once to avoid under and over-billing
- Stripe requires to report usage on Subscription Items
You can read the full blog post here:
https://openmeter.io/blog/how-to-report-usage-to-stripe
I'm curious about what people do to build our usage reporting.
Do you use message queues? Workflow management software like Temporal? Simple CRON job?
...listing charges (or most resources) can be quite slow as you need to render many objects. The Charge API especially is quite a large object to render and paginate through.[3]
Overall, getting 100 records from Stripe's charges endpoint takes 3 to 4 seconds
[1] https://github.com/hbcondo/revenut-app
[2] https://stripe.com/docs/api/pagination#pagination-limit
[3] https://github.com/stripe/stripe-dotnet/issues/2284#issuecom...