Show HN: Stripe-no-webhooks – Stripe 데이터를 Postgres DB에 동기화

발행: (2026년 2월 11일 오전 02:14 GMT+9)
4 분 소요

Source: Hacker News

Overview

stripe-no-webhooks은 Stripe 결제 데이터를 자체 Postgres 데이터베이스와 동기화하는 오픈소스 라이브러리입니다.

  • Repository:
  • Demo video:

Why it’s useful

  1. No webhook plumbing – 라이브러리는 Stripe에 필요한 웹훅 엔드포인트를 자동으로 생성하고 모든 이벤트를 stripe.* 스키마에 저장하므로, 어떤 웹훅을 들어야 할지 결정하거나 직접 리스너를 작성할 필요가 없습니다.
  2. Avoid rate limits – Stripe API는 분당 100 요청으로 제한됩니다. 로컬 Postgres를 조회하면 이 제한을 우회할 수 있어 내부 도구나 빈번한 구독 확인에 편리합니다.
  3. Secure AI access – AI 에이전트에게 stripe.* 스키마에 대한 읽기 전용 권한을 부여해 결제 문제(실패한 청구, 환불 등)를 디버깅할 수 있으며, Stripe 대시보드를 노출할 필요가 없습니다.
  4. Custom analytics – Stripe 데이터를 자체 테이블과 조인해 LTV 계산, 맞춤 보고서 등 다양한 분석을 수행할 수 있습니다.

How it works

  1. 라이브러리는 Stripe 계정에 웹훅 엔드포인트를 등록합니다.
  2. 들어오는 Stripe 이벤트는 백엔드로 전달되고, 리스너가 데이터를 Postgres의 새로운 stripe.* 스키마에 기록합니다.
  3. TypeScript로 플랜을 정의하고 동기화 명령을 실행합니다. 라이브러리는 해당 Stripe 제품 및 가격을 생성하고, 웹훅을 처리하며, 데이터베이스를 동기화 상태로 유지합니다.
  4. 기존 Stripe 데이터는 이미 존재하는 계정에 대해 백필(backfill)할 수 있습니다.

Features

  • 선불 사용 크레딧, 계정 지갑, 사용량 기반 청구
  • 자동 생성, 커스터마이징 가능한 가격표 컴포넌트
  • 청구 정보를 접근하기 위한 간단한 API
// Example API calls
billing.subscriptions.get({ userId });
billing.credits.consume({ userId, key: "api_calls", amount: 1 });
billing.usage.record({ userId, key: "ai_model_tokens_input", amount: 4726 });

Plan definition (TypeScript)

{
  name: "Pro",
  description: "Cursor Pro plan",
  price: [{ amount: 2000, currency: "usd", interval: "month" }],
  features: {
    api_completion: {
      pricePerCredit: 1,          // 1 cent per unit
      trackUsage: true,          // Enable usage billing
      credits: { allocation: 500 },
      displayName: "API Completions",
    },
    tab_completion: {
      credits: { allocation: 2000 },
      displayName: "Tab Completions",
    },
  },
}

Consuming credits

await billing.credits.consume({
  userId: user.id,
  key: "api_completion",
  amount: 1,
});

await billing.credits.topUp({
  userId: user.id,
  key: "api_completion",
  amount: 500, // buy 500 credits, charges $5.00
});

Additional capabilities

  • 좌석 수준 크레딧 및 금전 지갑(마이크로 센트 정밀도)
  • 자동 충전, 견고한 실패 복구, 세금 징수, 인보이스
  • 바로 사용할 수 있는 가격표 UI

Demo app

테스트용 토이 앱이 제공됩니다:

  • App: (no validation; feel free to sign up with a dummy email)
  • Test card: 4242 4242 4242 4242, any future expiry, any 3‑digit CVV
  • Screenshot:

편하게 사용해 보세요! 라이브러리를 사용한다면 저장소에 버그를 보고해 주세요. 도움이 필요하거나 토론하고 싶다면 HN 프로필을 통해 연락할 수 있습니다.

0 조회
Back to Blog

관련 글

더 보기 »