At Least One Webhooks
2026-08-09
Webhooks are really interesting and necessary in today’s webserver building. I think they are mainly used for asynchronous processing or events.
There are many use cases for them, I think some of them are more casual, like there might be a webhook when a user opens a marketing email, then your server gets an HTTP call (there isn’t a great standard so sometimes it is a GET or POST) and you need to handle it. There are some more serious cases for webhooks, one that immediately comes to mind is payments, most payment and payment processing are asynchronous and so when you charge a user for something or set up a recurring subscription Stripe (or some other service) will send you a webhook after it is completed successfully.
And this blog is more for the payments style of webhook, if you get a payment, subscription, refund request, or cancellation you need that data in your system. It needs to be ingested 100% of the time. And so hence the title, we need this webhook to fire at least once successfully.
And this is where I have some constructive criticism because I have built a few of these types of systems.
First it, it is pretty hard to develop webhooks locally, you can’t ask stripe to send a POST call to ‘http://localhost:4000’. And so how do you make sure things are working well, formatting properly? It is locked down for a reason and I dont want to be testing on production, there needs to be an easy way to test locally. I think stripe ships with a CLI tool but that is kind of a bandaid for webhooks.
Secondly, if the systems and network are working well then the system works great.