Ship subscriptions.
Not billing code.
PayKit sits between your product and your payment gateway (plans, trials, dunning, invoicing, and an append-only ledger), so you integrate a small API instead of building a billing system.
PayKit is in beta. We are onboarding a small group of businesses ourselves.
Pro monthly
sub_8Q2R · acme retail
Amount
R 249.00
Attempt
2 of 4
Next retry
in 3d
Dunning policy
Why PayKit
The billing system you'd build if you had the time
Opinionated where correctness matters, additive everywhere else, so a small team can run a two-level billing platform without it collapsing under configuration.
A ledger that reconciles by construction
Every charge, fee, and refund is a balanced double-entry journal. Nothing is ever updated or deleted. Corrections are reversing entries, so your books always tie out.
A real lifecycle engine
Trials, renewals, retries, grace, suspension: a strict state machine driven by a single next-charge sweep. Every transition is an immutable, timestamped event.
Entitlements, not raw state
Your app asks what a customer can do. Features, limits, and metered items merge across active subscriptions, so you can reprice a tier without touching billing.
You never touch the money
PayKit is not the merchant of record. Funds settle directly between the gateway and you. We meter fees from the ledger and stay out of the flow.
Multi-tenant to the core
Clients, projects, and customers are isolated at every layer, with test and live environments per project. Cross-tenant access returns zero rows, by design.
Built for developers
Idempotent mutations, signed webhooks, cursor pagination, and additive-only changes. Integrate against your own customer references, never our identifiers.
How it works
Three moves to live billing
Model your catalog
Define plans, immutable versions, and the features each grants. Repricing never changes an existing subscriber’s terms.
Integrate a small API
Create customers by your own reference, start subscriptions, and read entitlements. Hosted checkout handles the gateway.
We run the lifecycle
Charging, retries, dunning, invoicing, and ledger, off one indexed sweep, each step one atomic transaction.
Dunning, done right
A failed charge isn’t the end of a customer
When a renewal fails, PayKit works a configurable recovery track (timed retries, a grace window where access continues, then suspension) instead of dropping the subscriber on the first decline. The policy is a fixed, versioned vocabulary, so it’s auditable and testable, never a free-form rules engine.
- ✓Timed retry schedule
- ✓Configurable grace window
- ✓Every step an immutable event
Effective policy
The dunning timeline is the product’s visual signature. The same track renders anywhere a billing policy appears in your dashboard.
Now in beta
Contact us to sign up
PayKit is in beta, so we are setting up each new business ourselves for now. Tell us about your product and how you bill today, and we will create your workspace and walk you through test mode.