getpaykit/paykit

TypeScript 앱에 내장되는 빌링 프레임워크 - 코드로 요금제를 정의하고 사용량을 추적하세요

개발 재료맘대로 써도 됨 · MIT투자·금융난이도
988+0이번 주3932TypeScript
데모·홈페이지 열기paykit.sh
중간맛 분석

스택: TypeScript, Node.js, Stripe 연동, 데이터베이스 자체 관리

난이도: 중급 - 기본 TypeScript 문법과 데이터베이스 개념 이해 필요

바로 쓸 수 있는가: 예. npx paykitjs init 명령어로 빠르게 시작 가능

주요 흐름: 요금제(plan)와 기능(feature)을 코드로 선언 → 구독 관리 → 사용량 추적 → 자동 웹훅 처리

이런 레포예요

이럴 때 쓰면 좋아요

  • SaaS 애플리케이션의 구독 및 사용량 기반 청구 시스템 구축
  • 기존 TypeScript 애플리케이션에 빠르게 유료화 기능 추가
  • API 기반 서비스의 단계별 요금제와 사용량 제한 관리

핵심 기능

코드로 요금제 및 기능 정의자동 웹훅 처리사용량 기반 청구(metered billing) 지원

대안 대비 차별점

앱 내부에서 실행되는 오픈소스 프레임워크로, 청구 데이터를 완전히 자신의 데이터베이스에서 관리할 수 있으면서도 Stripe 통합의 복잡성을 크게 단순화합니다.

준비물
  • TypeScript 지식
  • Stripe 계정 및 API 키
  • 데이터베이스 (PostgreSQL 등)
바로 시작하기
  1. PayKit 초기화 (프로젝트 루트에서)
npx paykitjs init
  1. 환경 변수 설정 (.env 파일에 Stripe API 키와 데이터베이스 URL 추가)
STRIPE_SECRET_KEY=your_key
STRIPE_WEBHOOK_SECRET=your_secret
DATABASE_URL=your_database_url
  1. 요금제와 기능 정의 (paykit.ts 또는 유사 파일)
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({
  stripe: {
    secretKey: process.env.STRIPE_SECRET_KEY!,
    webhookSecret: process.env.STRIPE_WEBHOOK_SECRET!,
  },
  database: process.env.DATABASE_URL!,
  products: [free, pro],
});
  1. 설치 가이드의 추가 단계는 https://paykit.sh/docs/get-started/installation 참조
별 추이 · 7일
988+0 / 7일
활용성 · 따라 만들기 좋은가
따라 하기 좋음샘플 점수 46/100
  • 관대한 라이선스
  • 테스트 있음
  • 예제 디렉토리
  • 최근 활동
  • AGENTS.md
  • llms.txt
  • 템플릿

🟢 최근 활동 있음 · 2026년 생성

AI가 README 기반으로 요약했습니다 · 원문 보기