Take payments this weekend.
Auth, checkout, webhooks, billing and i18n, already wired. For devs Stripe won’t onboard.
Everything between “Buy” and “Access granted”.
The payment flow, done
Signed, idempotent, typed.
Better Auth
Email, password, GitHub
Plan gating
One call, anywhere
Test mode
Fake cards, real webhooks
Stack
Tested
115 unit tests + 33-check E2E smoke
Real screens, out of the box.



// api/webhooks/creem/route.ts
Code you can read in a minute.
Simplified from the real file. No wrappers.
export async function POST(req: Request) { const raw = await req.text(); // raw body for the HMAC check const event = parseWebhook(raw, req.headers.get(CREEM_SIGNATURE_HEADER), secret); // Creem retries, so the same event can arrive twice if (!(await markEventProcessed(event.id, event.eventType))) return NextResponse.json({ duplicate: true }); const result = await applyBillingChange(toBillingChange(event)); return NextResponse.json({ received: true, result }); }
One price. Unlimited projects.
$49 launch price · regular $99
- Full source code
- 6 docs pages + tests
- Email support from the author
- 14-day refund
Launching after payment review. One email when checkout opens.
// license
- Personal and commercial use
- Client projects are fine
Don’t resell the starter itself. Full terms
Just need one-time checkout? Try the free, MIT-licensed PayReady Lite on GitHub.
FAQ
Why Creem?
Stripe doesn’t onboard sellers in many countries. Creem pays out to more of them and handles sales tax as merchant of record.
How fast is setup?
About 30 minutes locally. Fill in .env, run the migration, then npm run dev.
What do I get?
Full source, six docs pages, tests, and English + Spanish built in.
Refunds?
Full refund within 14 days. Policy