Back to blog
Engineering June 3, 2025 14 min
Designing Reliable Billing Webhooks
Idempotency, retries, ordering, and delivery guarantees — how to build webhooks that never lose a billing event.
Webhooks are how your product learns about billing events — checkout completed, invoice paid, subscription canceled. If they are unreliable, your app drifts out of sync with reality.
Every event must carry a stable idempotency key. Your handler should be safe to invoke multiple times, because networks and retries will invoke it more than once.
Use exponential backoff with jitter for redelivery, and persist a cursor so you can recover from outages without replaying the entire history.
Orvlin signs every webhook, retries with backoff, and guarantees at-least-once delivery with idempotent event IDs.