Skip to content

[DB-842] feat: 월 구독 결제와 AI 사용량 제한 추가 - #491

Open
guesung wants to merge 3 commits into
masterfrom
guesung/결제-기능

Hidden character warning

The head ref may contain hidden characters: "guesung/\uacb0\uc81c-\uae30\ub2a5"
Open

guesung wants to merge 3 commits into
masterfrom
guesung/결제-기능

Conversation

@guesung

@guesung guesung commented Sep 13, 2026

Copy link
Copy Markdown
Owner

설명

  • 월 500원 토스 카드 빌링을 위한 구독 원장, 멱등 청구, 갱신·해지·재조정 흐름을 추가했습니다.
  • 무료 클라우드 메모 50개 제한과 유료 AI 30회·원가 100원 상한을 서버와 DB에서 강제합니다.
  • 웹 요금제·구독 관리 화면, 확장 AI 권한 안내, 앱 동기화 원본 보존 동작을 연결했습니다.

관련 이슈

  • DB-842

변경 유형

  • 신규 기능
  • 데이터베이스 마이그레이션
  • 문서 및 다국어 문구 변경

체크리스트

  • pnpm type-check
  • pnpm check (기존 경고 11건, 오류 없음)
  • pnpm exec vitest run (37개 파일, 332개 테스트)
  • pnpm -F @web-memo/web build
  • 임시 PostgreSQL에서 메모 한도와 청구·해지 동시성 검증
  • 토스 테스트 상점에서 최초 결제·갱신·거절·취소 검증
  • 웹 320px·다크 모드·키보드 접근성 수동 검증
  • iOS App Review 결제 정책 호환성 확인
  • 운영 RLS·별도 테스트 DB·Cron·서버 시크릿 설정 확인

검증

  • 자동 QA: PASS 332 · FAIL 0
  • 테섭 배포: Vercel 배포가 CANCELED 상태로 종료됨 (3de00be0)
  • 원장 검사·리뷰어: 해당 없음 (개인 프로젝트 — gs 파이프라인)
  • 독립 코드 검토에서 P0/P1 잔여 항목이 없음을 확인했습니다.

출시 게이트

  • BILLING_ENABLED=true와 결제·암호화·Cron 시크릿을 설정하기 전에는 청구 API가 비활성화됩니다.
  • 토스 빌링 계약, 500원 거래 조건과 수수료, 환불·약관, iOS 정책을 확인하기 전에는 운영 출시하지 않습니다.
  • 현재 Vercel 프로젝트가 Hobby 요금제이므로 상업용 요금제로 전환해야 합니다.

AI가 정한 것

  • [높음] 무료 클라우드 메모는 휴지통을 포함하여 50개로 제한하고 기존 데이터는 보존합니다.
  • [높음] AI는 세 기능 합산 주기당 30회와 원가 100원 중 먼저 도달하는 한도를 적용합니다.
  • [높음] 토스 카드 빌링과 Supabase Cron·DB 원장 기반 반복 청구를 조건부로 채택합니다.
  • [높음] 현재 페이지·유튜브 원문 채팅과 수정 가능한 자동 분류만 허용합니다.
  • [높음] iOS 결제 구축은 제외하고 심사 호환성 확인 전 전역 유료화는 보류합니다.

구독 청구를 멱등하게 처리하고 DB 저장 한도와 AI 비용 상한을 서버에서 강제한다.
월 500원 상품 안내부터 카드 등록, 결제 복구, 기간 말 해지까지 한 흐름으로 제공한다.
AI 요청을 로그인 계정과 현재 페이지에 격리하고 저장 한도 오류에서도 로컬 원본을 보존한다.
@notion-workspace

Copy link
Copy Markdown

결제 기능 추가

@guesung guesung self-assigned this Sep 14, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant