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 키
30 lines
1.3 KiB
SQL
30 lines
1.3 KiB
SQL
-- Phase 3.2-B: Payple 결제 연동을 위한 스키마 확장
|
|
-- 기존 Stripe 필드를 보존하면서 Payple 결제 수단을 추가
|
|
|
|
-- 1. payment_provider 컬럼 — 어떤 결제 수단으로 구독했는지
|
|
ALTER TABLE public.subscriptions
|
|
ADD COLUMN IF NOT EXISTS payment_provider text NOT NULL DEFAULT 'none';
|
|
|
|
-- 기존 Stripe 구독자는 payment_provider = 'stripe' 로 갱신
|
|
UPDATE public.subscriptions
|
|
SET payment_provider = 'stripe'
|
|
WHERE stripe_customer_id IS NOT NULL
|
|
AND payment_provider = 'none';
|
|
|
|
-- CHECK 제약 추가
|
|
ALTER TABLE public.subscriptions
|
|
ADD CONSTRAINT subscriptions_payment_provider_check
|
|
CHECK (payment_provider IN ('none', 'stripe', 'payple'));
|
|
|
|
-- 2. Payple 결제 정보 컬럼
|
|
ALTER TABLE public.subscriptions
|
|
ADD COLUMN IF NOT EXISTS payple_payer_id text, -- 빌링키 (PCD_PAYER_ID)
|
|
ADD COLUMN IF NOT EXISTS payple_pay_oid text; -- 최근 주문번호 (PCD_PAY_OID)
|
|
|
|
-- 3. 인덱스: 빌링키로 구독 조회 (갱신 시 사용)
|
|
CREATE INDEX IF NOT EXISTS idx_subscriptions_payple_payer
|
|
ON public.subscriptions(payple_payer_id)
|
|
WHERE payple_payer_id IS NOT NULL;
|
|
|
|
-- 4. RLS: 기존 subscriptions 정책 그대로 적용 (user_id = auth.uid())
|
|
-- 새 컬럼은 기존 RLS 정책이 자동 커버하므로 추가 정책 불필요
|