3
3 Comments

Shipped a fix for the webhook failures nobody notices until a customer complains

A silent webhook failure cost a client their invoice — and they only found out when a customer complained. Here's what I built to stop it happening again.

Last month a client told me a payment webhook from Stripe just... never arrived on their end. No error, no alert, nothing. Their server had a cold start, timed out, and the webhook was gone forever. They only found out because a customer emailed asking where their invoice was.

That's the part that got me — it wasn't a bug in their code. It was silence. No log, no retry, no way to even know it happened until a real person complained.

So I built Webhook Proxy. It sits between Stripe/Make/Zapier and your actual endpoint, logs every payload instantly, and retries failed deliveries automatically (or with one click if you want to trigger it yourself). Zero SDK — you just swap the destination URL.

Free tier is 5,000 webhooks/month, no card needed, mainly because I wanted real feedback before locking in pricing.

Still early days — no paid users yet, just trying to get this in front of people who've actually been burned by a silent webhook failure. If that's you, curious what you did about it (manual Stripe dashboard replay? custom logging? nothing, and found out the hard way?).

posted toAvatar for product Webhook Proxy
Webhook Proxy
  1. 1
    The missing invoice is a good example of why I’d check the resulting application state as well as webhook delivery. A proxy can show that an endpoint returned 2xx, but that alone may not prove the invoice was created or access changed. Do you have a way to detect and reconcile events that were acknowledged but never produced the expected downstream state? That seems like a useful complement to retries.
  2. 1
    That silent failure → customer complaining about a missing invoice is a brutal discovery path. On the freelancer side I see a parallel: the invoice exists, but after a bad week nobody owns the next chase, so the “failure” is just as invisible until cash gets weird. I’m recruiting a few ADHD/ADHD-ish freelancers for a free ~20-min observed silent watch. I’ll provide a fake sample overdue (e.g. Northstar Studio, $1,240, due Sep 16, 14 days late) so you don’t use real client data. You enter it, and we watch what next action + chase message the system surfaces. Not a sales call. Reply YES + your timezone (optional window this week) — I’ll confirm a slot.
  3. 1
    Stripe already retries failed deliveries, so the key distinction seems to be what happens after those retries. Have you identified that specific gap in the client incident?