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 Thumbnail

Stripe Webhook Kit for Laravel

Idempotent, queue-based Stripe webhooks for Laravel 11

Payments
SaaS
Developer Tools
Visit WebsiteSee on Product HuntGumroad

Hunted byMohamed SadokMohamed Sadok

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.

Top comment

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/...

Comment highlights

No comment highlights available yet. Please check back later!

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.

Stripe Webhook Kit for Laravel was featured in Payments (13.2k followers), SaaS (44.3k followers) and Developer Tools (519.7k followers) on Product Hunt. Together, these topics include over 146k products, making this a competitive space to launch in.

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.

Want to see how Stripe Webhook Kit for Laravel stacked up against nearby launches in real time? Check out the live launch dashboard for upvote speed charts, proximity comparisons, and more analytics.