This product was not featured by Product Hunt yet. It will not be visible on their landing page and won't be ranked (cannot win product of the day regardless of upvotes).
Product upvotes vs the next 3
Waiting for data. Loading
Product comments vs the next 3
Waiting for data. Loading
Product upvote speed vs the next 3
Waiting for data. Loading
Product upvotes and comments
Waiting for data. Loading
Product vs the next 3
Loading
Stripe Webhook Kit for Laravel
Idempotent, queue-based Stripe webhooks for Laravel 11
Stripe retries your webhooks, which means `invoice.paid` can arrive twice. Two queue workers can grab the same event at the same moment. And a declined card can lock your customer out while Stripe is still retrying the charge. 40 passing tests as proof. You get signature verification over the raw request body, idempotency enforced by a unique database index, queue-based processing with exponential backoff, full Cashier subscription sync, and a configurable grace period for failed payments.
Hi Product Hunt 👋
I built this after watching a client's billing silently break for three weeks.
The trigger was mundane: a Stripe webhook handler that did real work inline
(calling the API, sending a welcome email). A slow response made Stripe time out
and retry, the retry overlapped the original execution, and `invoice.paid` ran
twice. Nobody noticed until a customer asked why they'd been charged twice.
Fixing that properly taught me three things that most Laravel/Stripe
implementations get wrong:
1. **An `if exists` check is not idempotency.** It's a race. Two overlapping
deliveries both pass the check, and the second `INSERT` throws a duplicate key
error that becomes a 500 — which makes Stripe retry *more*. You need a unique
index and you need to treat the duplicate key as success.
2. **Webhook handlers must not do real work.** Verify the signature, write one
row, queue one job, return 200. Everything else happens in a worker with a
retry policy you control.
3. **Never revoke access on the first failed payment.** Stripe's Smart Retries
are already trying again for days. Revoking immediately throws away a customer
Stripe was about to recover. This is called involuntary churn and it's the
largest *recoverable* revenue loss in subscription billing.
So I packaged the correct version of all of it. 40 tests, and they run against
MySQL rather than SQLite — because the unique index and the concurrency
behaviour are the entire point, and those are exactly what differ between
engines.
Happy to answer anything about webhooks, Cashier, or the general misery of
debugging billing. And if you've got a webhook horror story, I'd genuinely like
to hear it — I'm collecting them.
→ https://boukataya.gumroad.com/l/...
About Stripe Webhook Kit for Laravel on Product Hunt
“Idempotent, queue-based Stripe webhooks for Laravel 11”
Stripe Webhook Kit for Laravel was submitted on Product Hunt and earned 2 upvotes and 1 comments, placing #154 on the daily leaderboard. Stripe retries your webhooks, which means `invoice.paid` can arrive twice. Two queue workers can grab the same event at the same moment. And a declined card can lock your customer out while Stripe is still retrying the charge. 40 passing tests as proof. You get signature verification over the raw request body, idempotency enforced by a unique database index, queue-based processing with exponential backoff, full Cashier subscription sync, and a configurable grace period for failed payments.
On the analytics side, Stripe Webhook Kit for Laravel competes within Payments, SaaS and Developer Tools — topics that collectively have 577.2k followers on Product Hunt. The dashboard above tracks how Stripe Webhook Kit for Laravel performed against the three products that launched closest to it on the same day.
Who hunted Stripe Webhook Kit for Laravel?
Stripe Webhook Kit for Laravel was hunted by Mohamed Sadok. A “hunter” on Product Hunt is the community member who submits a product to the platform — uploading the images, the link, and tagging the makers behind it. Hunters typically write the first comment explaining why a product is worth attention, and their followers are notified the moment they post. Around 79% of featured launches on Product Hunt are self-hunted by their makers, but a well-known hunter still acts as a signal of quality to the rest of the community. See the full all-time top hunters leaderboard to discover who is shaping the Product Hunt ecosystem.
For a complete overview of Stripe Webhook Kit for Laravel including community comment highlights and product details, visit the product overview.