Skip to content

getpaykit/paykit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

644 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


PayKit

The billing framework for TypeScript

Define products in code. Any provider. Gate features. Track usage.

Website · Docs · Discord · Twitter

npm version License npm downloads


What is PayKit?

PayKit is an embedded billing framework for TypeScript apps. It sits inside your app, uses your database, and gives you a single API to manage products, subscriptions, entitlements, and usage billing without touching provider dashboards.

import { stripe } from "@paykitjs/stripe";
import { createPayKit, feature, plan } from "paykitjs";

const messages = feature({ id: "messages", type: "metered" });

const free = plan({
  id: "free",
  group: "base",
  default: true,
  includes: [messages({ limit: 100, reset: "month" })],
});

const pro = plan({
  id: "pro",
  group: "base",
  price: { amount: 19, interval: "month" },
  includes: [messages({ limit: 2_000, reset: "month" })],
});

export const paykit = createPayKit({
  provider: stripe({
    secretKey: process.env.STRIPE_SECRET_KEY!,
    webhookSecret: process.env.STRIPE_WEBHOOK_SECRET!,
  }),
  database: process.env.DATABASE_URL!,
  products: [free, pro],
});

Getting started

npx paykitjs init

Or follow the installation guide.

Why PayKit

Billing in the TypeScript ecosystem is either handled through low-level provider SDKs that require a lot of glue code, or through hosted platforms that own your billing data and sit between you and your customers. PayKit takes a different approach: it's an open-source framework that runs inside your app, keeps billing state in your own database, and handles the Stripe lifecycle so you don't have to.

Contribution

PayKit is a free and open source project licensed under the MIT License. You are free to do whatever you want with it.

You can help continue its development by:

Security

If you discover a security vulnerability within PayKit, please send an email to security@paykit.sh.

All reports will be promptly addressed, and you'll be credited accordingly.

About

The billing framework for TypeScript. Code-first products, handles Stripe, webhooks, and usage state, runs in your app.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors