- Flowglad는 웹훅 없이 작동하는 오픈소스 결제 처리 플랫폼으로, 개발자가 최소한의 코드로 청구·결제 기능을 통합할 수 있는 구조
-
Stateless 아키텍처를 통해
subscriptions테이블이나customer_id관리 없이 자체 사용자 ID로 결제 상태를 조회 가능 -
Full-Stack SDK를 제공해 백엔드에서는
flowgladServer.getBilling(), 프론트엔드에서는useBilling()훅으로 고객 상태를 실시간 반영 - 테스트 모드에서 가격 모델을 실험하고 클릭 한 번으로 프로덕션에 반영할 수 있으며, 앱 재배포 없이 요금제 전환 가능
- 결제 통합의 복잡성과 비용을 줄여 개발자 경험(DX) 을 개선하고, 다양한 결제 제공자와의 연결을 단일 통합으로 확장하는 기반 제공
주요 기능
-
Stateless 구조로 웹훅, 구독 테이블, 고객 ID, 환경 변수 관리가 불필요
- 가격과 기능 매핑을 수동으로 관리할 필요 없이 Flowglad에서 직접 처리
- 단일 진실 소스(Single Source of Truth) 로 고객의 최신 청구 상태, 기능 접근 권한, 사용량 크레딧을 조회 가능
- 사용자 정의 ID 기반 접근을 지원해 기존 인증 시스템의 사용자·조직 ID로 고객 상태를 조회
-
Full-Stack SDK 제공
- 백엔드에서
flowgladServer.getBilling()호출 - React 프론트엔드에서
useBilling()훅으로 실시간 결제 상태 반영
- 백엔드에서
-
유연한 가격 모델 관리
- 테스트 모드에서 새로운 요금제를 실험하고 클릭 한 번으로 프로덕션 반영
- 앱 재배포 없이 요금제 회전 가능
설치 및 통합
- 프로젝트 유형에 따라
@flowglad/nextjs,@flowglad/react,@flowglad/express,@flowglad/server패키지를 설치 -
Next.js 통합 예시
-
FlowgladServer인스턴스를 생성해 자체 고객 ID를 전달 - API 라우트에서
nextRouteHandler를 사용해 Flowglad와 안전하게 통신 - 루트 레이아웃에
FlowgladProvider를 추가해 프론트엔드에서 결제 상태 자동 로드
-
-
B2C는
user.id, B2B는organization.id또는team.id를 고객 ID로 사용 - Flowglad는 별도의 고객 ID 관리나 인증 시스템 변경을 요구하지 않음
프론트엔드 예시
-
useBilling()훅으로 기능 접근 여부(checkFeatureAccess)와 사용량(checkUsageBalance) 확인 - 기능 접근이 제한된 경우 업그레이드 안내 메시지 표시
- 사용량이 부족할 경우
createCheckoutSession으로 결제 세션 생성
백엔드 예시
-
flowglad(user.id).getBilling()으로 서버 측에서 기능 접근 및 사용량 확인- 예:
fast_generations기능 접근 여부 확인 후 처리 분기 - 예:
chat_messages사용량 크레딧 부족 시 오류 발생
- 예:
시작하기
- 대시보드에서 템플릿을 이용해 가격 모델 생성
- 제공 템플릿 유형
- 사용량 제한 + 구독 하이브리드 (Cursor 유사)
- 무제한 사용 (ChatGPT 소비자형)
- 계층형 접근 + 사용 크레딧 (Midjourney 유사)
- 기능 잠금형 구독 (Linear 유사)
- 필요 시 템플릿 없이 직접 모델 생성 가능
기술 스택
- Next.js, tRPC, React.js, Tailwind CSS, Drizzle ORM, Zod, Trigger.dev, Supabase, Better Auth 기반
프로젝트 목표
- 지난 15년간 개발 스택은 다양해졌지만 결제 영역의 혁신은 거의 없었음
- 대부분의 결제 서비스는 계정 설정조차 영업팀을 거쳐야 하며, 셀프서비스 결제 옵션이 부족
- 그 결과 결제 관련 개발자 경험(DX) 과 비용 개선이 정체 상태
- Flowglad는 결제 통합과 유지보수 시간을 최소화하고, 단일 통합으로 여러 결제 제공자 활용을 목표로 함
- AI 확산으로 복잡해지는 스타트업 청구 환경 속에서 개발자 친화적 결제 레이어 구축을 지향