Raw body signature gate is explicit
The report names the handler path, fixture, signing header, expected HMAC behavior, and the reason request JSON parsing must happen after verification.
Pre-purchase evidence
BillingWebhookKit Pro is not a vague starter archive. It is meant to leave a reviewable trail: signed fixture checks, duplicate replay evidence, entitlement decisions, CI commands, and release notes that can sit inside a billing webhook pull request.
What the sample proves
The report names the handler path, fixture, signing header, expected HMAC behavior, and the reason request JSON parsing must happen after verification.
The sample expects the same event to replay more than once while side effects still run once for delivery, license, entitlement, or email actions.
Paid, unpaid, refunded, cancellation, license, and unknown events are mapped to clear access decisions instead of buried in handler code.
The report points reviewers to fixture tests, contract tests, replay tests, and GitHub Actions checks that can run without paid provider API calls.
Sample Markdown
This is representative public copy. It does not expose private Pro archive files, customer data, API keys, or webhook secrets.
# Billing Webhook Review Report Provider: Lemon Squeezy Route: app/api/webhooks/lemonsqueezy/route.ts Fixture: fixtures/lemon/order_created.paid.json Release scope: first public checkout link ## Verdict Status: READY WITH WATCH ITEMS Reason: signature verification, duplicate replay, paid-state grant, and CI contract checks have explicit evidence. Fulfillment delivery still needs one production smoke event before the public buy link is announced. ## Evidence - Raw body signature test: PASS - Paid order contract fields: PASS - Duplicate replay side effect count: PASS - Unknown event quarantine: PASS - Refund rollback path: REVIEWED - Private delivery checksum note: PRESENT - GitHub Actions webhook-checks.yml: PRESENT ## Reviewer Notes 1. Verify `x-signature` against the exact raw body before JSON parsing. 2. Store provider event id and entitlement target inside the idempotency key. 3. Grant access only when payment status is paid. 4. Replay the same fixture three times and expect one fulfillment write. 5. Keep API keys, signing secrets, checkout URLs, and customer records out of public logs. ## Next Launch Gate Run one live checkout-to-webhook smoke test, attach the paid event id privately, and update the release note before making the buy link public.
Fixtures, route templates, idempotency helpers, review report templates, and CI workflows are the assets that make this evidence repeatable.
Real production checkout smoke tests, private delivery, support responses, refund decisions, and account setup stay under owner control.
A buyer can see the exact kind of launch artifact they are buying, then decide with the free sample, manifest, fit checker, and buyer checklist.
Use this page when
You need proof that the Pro Kit saves review work, not just a longer file list.