getpaykit/paykit
TypeScript 앱에 내장되는 빌링 프레임워크 - 코드로 요금제를 정의하고 사용량을 추적하세요
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 등)
바로 시작하기
- PayKit 초기화 (프로젝트 루트에서)
npx paykitjs init
- 환경 변수 설정 (.env 파일에 Stripe API 키와 데이터베이스 URL 추가)
STRIPE_SECRET_KEY=your_key
STRIPE_WEBHOOK_SECRET=your_secret
DATABASE_URL=your_database_url
- 요금제와 기능 정의 (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],
});
- 설치 가이드의 추가 단계는 https://paykit.sh/docs/get-started/installation 참조
별 추이 · 7일
988+0 / 7일
활용성 · 따라 만들기 좋은가
따라 하기 좋음샘플 점수 46/100
- 관대한 라이선스
- 테스트 있음
- 예제 디렉토리
- 최근 활동
- AGENTS.md
- llms.txt
- 템플릿
🟢 최근 활동 있음 · 2026년 생성
AI가 README 기반으로 요약했습니다 · 원문 보기