Self-hosted billing

Self-hosted payment layer

Run one small payment layer for all your side projects while Stripe or Polar keeps handling checkout, invoices, taxes, and payment methods.

Self-hostedStripePolarPostgresWebhooks
One Next.js app and one Postgres database.
Provider webhooks verified in one place.
Projects, products, wallets, and orders managed from one dashboard.

What self-hosting buys you

A self-hosted payment layer lets you keep the app-facing billing state close to your projects. You still outsource payment complexity to Stripe or Polar, but you own the bridge between provider events and product access.

  • Use your own domain for dashboard, API, pay routes, and registry files.
  • Keep provider keys encrypted in your deployment.
  • Share one deployment across many small tools.
  • Inspect the data model and operational behavior directly.

What neonFin runs

neonFin is a small billing service, not a payment processor. It runs the dashboard, public API, checkout creation, webhook ingestion, wallet ledger, product catalog, and shadcn registry.

  • Dashboard pages for projects, providers, products, prices, orders, wallets, and webhooks.
  • Public client APIs for wallets, checkout, credits, and feature access.
  • Webhook routes for Stripe and Polar provider accounts.
  • Registry files for installing app-side components.

The app integration stays small

Each project only needs its publishable key, allowed origins, installed components, and the paid actions that call neonFin. The provider wiring stays inside the shared payment layer.

npx shadcn@latest add https://pay.example.com/r/neonfin-client.json
npx shadcn@latest add https://pay.example.com/r/neonfin-provider.json
npx shadcn@latest add https://pay.example.com/r/neonfin-credits.json

FAQ

Does self-hosting mean I handle card data?

No. Checkout still happens with Stripe or Polar. neonFin stores app-facing billing state and provider references, not card details.

Can one neonFin deployment power multiple projects?

Yes. A project maps to one app and has its own API keys, products, prices, and allowed origins.

Do I need a dedicated Stripe or Polar account?

A dedicated provider account is recommended when possible because neonFin manages catalog objects and webhooks for the connected account.

Run billing once, reuse it everywhere

Deploy neonFin on your domain, connect a provider, then plug each new side project into the same payment layer.

Related