Troubleshooting router

Lemon Squeezy webhook failures, mapped to the right fix

Start from the symptom your checkout or webhook route is showing, then open the matching browser-only debugger, report generator, or implementation guide. No API key, webhook secret, customer payload, or production log is uploaded.

Debug Vercel and Next.js routes Check 404, 405, 500, missing POST exports, raw-body regressions, env vars, and launch evidence. Generate launch readiness evidence Turn live key, CN¥69 price, PayPal checkout, signed paid webhooks, replay, delivery, and refund gates into a report. Audit x-signature raw-body safety Catch request.json(), body parser, runtime, and byte mutation issues before real orders depend on the route.

Search queries this page answers

These phrases mirror the high-intent errors a small SaaS developer types after checkout appears to work but fulfillment or access delivery fails.

Lemon Squeezy webhook not firing after checkout
Lemon Squeezy webhook Vercel 404
Next.js webhook 405 Lemon Squeezy
Lemon Squeezy x-signature invalid raw body
Lemon Squeezy duplicate webhook retry idempotency
Lemon Squeezy checkout 404 custom_price currency
Lemon Squeezy PayPal checkout webhook test
Lemon Squeezy production webhook troubleshooting
Next.js App Router webhook raw body audit

Pick the failure you see

Each path leads to a concrete checklist, local report, or browser-only generator instead of a generic blog post.

Route delivery

Webhook not firing after checkout

Use this when Lemon Squeezy checkout completes but no paid order event reaches your app, fulfillment worker, license grant, or access table.

Vercel deploy

Vercel 404, Next.js 405, or route 500

Use this when the local route works but the deployed webhook endpoint fails because of path, method, runtime, or environment configuration drift.

Signature gate

x-signature invalid or raw body mismatch

Use this when the event arrives but HMAC verification fails because bytes changed, the wrong secret is used, or the framework parsed JSON too early.

Checkout page

Checkout URL opens 404 or the wrong price

Use this when a generated checkout link is stale, the variant is not live, custom_price minor units do not match currency, or test/live mode is mixed.

Retry safety

Duplicate webhook delivery could repeat fulfillment

Use this when a retry or replay might send a second download email, create another license, or grant access twice after an order_created event.

Live launch

PayPal is enabled but production evidence is incomplete

Use this before making a buy link public: price, PayPal visibility, paid order event, signature, duplicate replay, private delivery, refund, and support notes.

Fulfillment

Paid order works but delivery or rollback is risky

Use this when a digital download, license key, or access grant needs private delivery, checksum evidence, idempotency, refund rollback, and support wording.

Recommended path by launch stage

The free tools handle diagnosis and evidence. The CN¥69 Pro Kit is positioned as a shortcut only when someone wants copy-ready fixtures, tests, and report templates.

Before checkout is public

  1. Run the production checkout readiness report.
  2. Confirm event coverage and signed webhook checks.
  3. Attach the launch evidence pack to the release.

After a failed deployment

  1. Run the Vercel webhook debugger.
  2. Audit raw-body signature handling.
  3. Replay a fake signed payload with cURL.

Before buying the Pro Kit

  1. Download the free sample.
  2. Inspect the public manifest and sample report.
  3. Use the Pro fit checker against your launch risk.

Safety boundary: this troubleshooting hub is browser-only and static. Do not paste production API keys, webhook signing secrets, customer data, full order payloads, or private checkout links into public reports.