feat(server+web+desktop): Phase 3.2-B Payple 결제 연동 + 대시보드 Premium 상태 표시
Payple PG 연동: - _shared/payple.ts: Payple API 래퍼 (auth/billing/cancel/deleteBillingKey) - payple-checkout Edge Function: 빌링키 결제 + 구독 활성화 - payple-webhook Edge Function: 결제완료/취소 이벤트 - payple-manage Edge Function: 구독 취소 (빌링키 해지) - DB migration: payment_provider + payple_payer_id + payple_pay_oid - 웹 billing 페이지: Payple JS SDK 결제창 + 관리 버튼 (Stripe 대체) - Electron LicenseModal: shell.openExternal → 웹 결제 페이지 대시보드 Premium 상태: - CrtDisplay services에 PREMIUM LLM LED 추가 - 백엔드 인디케이터 카드 (Local/Premium) + 티어 카드 - 사용량 섹션: 전 티어 표시 + 모델별 Premium 쿼터 - 12개 locale × 14개 i18n 키
This commit is contained in:
parent
b8cb665264
commit
c9baf031c9
27 changed files with 1318 additions and 98 deletions
|
|
@ -1,8 +1,51 @@
|
|||
# D3RO-VOICE 프로젝트 현황
|
||||
|
||||
> 마지막 갱신: 2026-04-12 (Phase 3.2 Premium LLM 완결 — 빅뱅 8/8 달성)
|
||||
> 마지막 갱신: 2026-04-12 (Phase 3.2-B Payple 결제 연동 + 대시보드 Premium 표시)
|
||||
> 규칙 13: 작업 완료 즉시 이 파일 갱신 의무
|
||||
|
||||
## Phase 3.2-B Payple 결제 연동 + 대시보드 Premium 상태 (2026-04-12) ✅
|
||||
|
||||
### A. Payple 결제 연동
|
||||
Stripe 기반 결제를 Payple(한국 PG)로 전면 교체. 웹(apps/web) 결제 페이지가 핵심.
|
||||
|
||||
**신규 파일:**
|
||||
- `server/supabase/functions/_shared/payple.ts` — Payple API 래퍼 (auth, billing, cancel, deleteBillingKey)
|
||||
- `server/supabase/functions/payple-checkout/index.ts` — 빌링키로 첫 결제 + 구독 활성화
|
||||
- `server/supabase/functions/payple-webhook/index.ts` — 결제완료/취소 이벤트 처리
|
||||
- `server/supabase/functions/payple-manage/index.ts` — 구독 취소 (빌링키 해지)
|
||||
- `server/supabase/migrations/20260412000002_payple_billing.sql` — payment_provider, payple_payer_id, payple_pay_oid 컬럼
|
||||
- `apps/web/src/components/billing/payple-checkout-button.tsx` — Payple JS SDK 결제창 호출
|
||||
- `apps/web/src/components/billing/payple-manage-button.tsx` — 구독 관리/취소 다이얼로그
|
||||
|
||||
**수정 파일:**
|
||||
- `apps/web/src/app/(app)/billing/page.tsx` — 티어 통일(team→pro_plus) + Payple 컴포넌트로 교체
|
||||
- `apps/desktop/src/renderer/components/LicenseModal.tsx` — 업그레이드 → shell.openExternal(웹 결제)
|
||||
- `packages/core/src/ipc-channels.ts` — LICENSE.OPEN_BILLING 추가
|
||||
- `apps/desktop/src/preload/index.ts` — license.openBilling() API
|
||||
- `apps/desktop/src/main/ipc/license-handlers.ts` — OPEN_BILLING 핸들러
|
||||
- `server/supabase/config.toml` — payple-* verify_jwt=false
|
||||
|
||||
### B. 대시보드 Premium 상태 표시
|
||||
- DashboardPage services 배열에 PREMIUM LLM LED 추가 → CrtDisplay 자동 렌더
|
||||
- 백엔드 인디케이터 카드(Local/Premium) + 티어 카드
|
||||
- 사용량 바: 모든 티어에서 표시 + Premium 모델별(Haiku/Sonnet/Opus) 쿼터 섹션
|
||||
|
||||
### i18n
|
||||
12개 locale에 14개 키 추가 (service.premiumLlm, dashboard.currentBackend 등)
|
||||
|
||||
### 알려진 이슈 (이월)
|
||||
1. **세션 만료 렌더러 미동기화** — 기존 이슈
|
||||
2. **LemonSqueezy 코드 잔존** — LicenseService.ts에 @deprecated 코드. 다음 사이클에서 정리
|
||||
3. **Payple 테스트 키** — 라이브 전환 시 PAYPLE_CST_ID/CUST_KEY/REFUND_KEY/CLIENT_KEY Supabase Secrets 등록 필요
|
||||
4. **Payple 정기 갱신 크론** — payple-renew 미구현. pg_cron 또는 외부 스케줄러 필요
|
||||
|
||||
### 백로그
|
||||
- **관리자 백엔드 서비스 웹페이지**: 사용자 관리 CRM, 구독 현황 대시보드, 쿼터 관리, 결제 이력 조회. 별도 admin/ 앱 또는 apps/web 내 admin 라우트 그룹으로 구현 예정.
|
||||
- **Payple 정기 갱신 크론** (payple-renew)
|
||||
- **SSE 스트리밍 Premium**
|
||||
|
||||
---
|
||||
|
||||
## Phase 3.2 Premium LLM 완결 (2026-04-12) — 빅뱅 8/8 마지막 성공 기준 ✅
|
||||
|
||||
Supabase Edge Function(llm-proxy)을 통해 Anthropic Claude를 호출하는 PremiumLLMService 구현. 사용자가 Settings에서 Local/Premium 백엔드를 선택하면 VoiceModeService가 자동 분기하고, Premium 실패 시 Local로 silent fallback + 상단 중앙 배너 알림.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue