PayHook

Payment succeeded. Subscription didn't activate. Why?

PayHook shows you exactly what Stripe, Paddle, Lemon Squeezy, Polar, or Dodo sent, what your app did with it, and how to fix it — in plain English.

Join the waitlist

PayHook is in early access: the signature-verification core is built and tested; the hosted app ships in 4–6 weeks. Pre-order now — full refund anytime, no questions asked: just email hello@payhook.co.

The problem

Webhook bugs are silent. Every clue is somewhere else.

Paid, but never activated

Stripe shows the charge. Your database shows a user on the free plan. There is no error anywhere, until the customer writes to you.

An error that explains nothing

Test secret in production, a parsed body instead of raw bytes, or a stale timestamp. The message never says which.

Five providers, five schemes

Each one signs, retries and times out in its own way. Stripe CLI only speaks Stripe.

No localhost in the cloud

Apps built on Lovable or Bolt have nothing to forward to, and every tunnel restart means a new URL in every dashboard.

Your AI is guessing too

Cursor and Claude Code wrote the handler, but they never see the event that broke it.

How it works

One URL in. A diagnosis out.

  1. 1Connect

    Paste one URL

    Point Stripe, Paddle, Lemon Squeezy, Polar or Dodo at your PayHook URL. Every event still reaches your app, byte for byte.

  2. 2Check

    Every event gets a verdict

    PayHook checks each signature the way that provider signs it, and records what your endpoint answered and how long it took.

  3. 3Fix

    Read what broke, paste the fix

    A plain-English diagnosis names the real cause. One click copies a fix prompt with the event inside, ready for Cursor or Claude Code.

After launch

  • Replay any event — re-signed with your secret so your verification still passes — optionally with an edited payloadSoon
  • payhook listen, straight to localhostSoon
  • MCP server, so your agent reads events itselfSoon
  • Alerts when a payment doesn't activateSoon

Providers

All five, one URL. Including the ones Stripe CLI doesn't cover.

  • Stripestripe-signatureHMAC-SHA256, 5-minute windowSupported at launch
  • Paddlepaddle-signatureHMAC-SHA256, 5-second windowSupported at launch
  • Lemon Squeezyx-signatureHMAC-SHA256, no timestampSupported at launch
  • Polarwebhook-signatureStandard Webhooks, both key formatsSupported at launch
  • Dodo Paymentswebhook-signatureStandard WebhooksSupported at launch

Pricing

Start free. Or lock in lifetime early.

Free

$0forever

Try PayHook on one project, with every signature check included.

Join the waitlist
  • 1 project
  • Signature checks for all five providers
  • Your endpoint's answer for every event
  • 3 days of history, daily event limit

Pro

$12per month

For builders with paying customers who need the answer fast.

Join the waitlist
  • Unlimited projects
  • Plain-English diagnosis of every failure
  • Fix prompts for Cursor and Claude Code
  • 30 days of history
  • Replay with an edited payloadSoon
  • CLI forwarding to localhostSoon

Lifetime

First 100 only

$99once

Everything in Pro, for life. One payment, no subscription.

Get lifetime access

PayHook is in early access: the signature-verification core is built and tested; the hosted app ships in 4–6 weeks. Pre-order now — full refund anytime, no questions asked: just email hello@payhook.co.

  • Everything in Pro, for life
  • AI diagnosis with a fair monthly limit
  • Early access before the public launch
  • Full refund anytime

Prices in USD. Lifetime includes a fair-use limit on AI diagnosis, with credits beyond it.

FAQ

Questions, answered.

Something else? Write to hello@payhook.co.

Do I need to change my code?

No. You paste your PayHook URL into the provider's webhook settings, and PayHook passes every event on to your endpoint with the original body and headers. Your handler keeps checking signatures exactly as it does today.

How is this different from Stripe CLI?

Stripe CLI is Stripe-only, terminal-only, and doesn't explain anything. PayHook covers five providers, works even when you have no localhost (Lovable, Bolt), and tells you why activation failed.

How is this different from Hookdeck or webhook.site?

They transport and display webhooks — great at it. PayHook is payment-specific: signature schemes per provider, expected event sequences, and activation diagnosis. We tell you what's wrong, not just what arrived.

Can PayHook break or delay my webhooks?

PayHook stores each event and answers the provider right away, then delivers it to your app with retries and shows every attempt. It is best effort with visible results, not guaranteed delivery with an SLA.

Can I replay an event? Won't my signature check reject it?

Replays are re-signed with your project's webhook secret using your provider's exact signature scheme and a fresh timestamp — so they pass the same verification your production code runs. Replayed events carry an X-PayHook-Replay header (with the original event id) so your handler can tell them apart.

I build with AI (Cursor / Claude Code / Lovable). Will this help me?

It's built for you. Every event comes with a plain-English explanation and a fix prompt you paste into your editor. An MCP server is coming so your agent can read events itself.

Do you see my customers' payment data?

Webhook events are stored for your debugging only — you can delete them anytime. The core is going open source, so you'll be able to self-host and keep everything on your own server.

What exactly does lifetime include?

Everything in Pro for one payment of $99, for as long as PayHook runs. AI diagnosis comes with a fair monthly limit, with credits beyond it. Only the first 100 buyers get it, then the offer closes for good.

Is this live today?

Not yet. The signature-verification core is built and mutation-tested. The hosted app ships in 4–6 weeks. You're pre-ordering early access — full refund anytime, just email hello@payhook.co.

Is PayHook open source?

The core opens at launch: event intake, the inspector, signature checks and the CLI. The hosted cloud and the AI diagnosis are the paid part.

Who's building this?

A solo fullstack developer with a fintech background, building in public — follow along on X.

Early access

Your next failed webhook, explained in one click.

Payments open once our merchant verification completes (days, not weeks). Leave your email — you'll get the early-bird link first, before the public.

Your email goes into our waitlist and nowhere else. No newsletters, no sharing, delete on request. Privacy policy