@thinkingcat/subscription-api
v1.0.1
Published
Subscription billing API route handlers for ThinkingCat services (SSO proxy)
Downloads
217
Maintainers
Readme
@thinkingcat/subscription-api
SSO 빌링 API로 프록시하는 구독 라우트 핸들러 팩토리. 타시스템(체크온 등)에서 동일한 구독/결제 API를 쓰기 위해 설정만 주입해 사용합니다.
설치
npm install @thinkingcat/subscription-api또는 로컬 패키지:
"@thinkingcat/subscription-api": "file:../CM_subscription-api"사용 (Next.js App Router)
각 라우트 파일에서 설정을 넘겨 핸들러를 생성한 뒤 re-export 합니다.
필수 env: SUBSCRIPTION_SERVER_URL, SUBSCRIPTION_SERVICE_KEY, SUBSCRIPTION_SERVICE_ID
예: pay/route.ts
import { NextRequest } from 'next/server';
import { getToken } from 'next-auth/jwt';
import { createPayHandler } from '@thinkingcat/subscription-api';
const handler = createPayHandler({
getToken: (req) => getToken({ req: req as NextRequest, secret: process.env.NEXTAUTH_SECRET! }),
serverUrl: process.env.SUBSCRIPTION_SERVER_URL!,
serviceKey: process.env.SUBSCRIPTION_SERVICE_KEY!,
serviceId: process.env.SUBSCRIPTION_SERVICE_ID || 'checkon',
cacheCookieName: '_subscription_cache',
});
export const POST = handler;제공 핸들러
| 함수 | 경로 | 메서드 |
|------|------|--------|
| createPlansHandler | 플랜 목록 | GET |
| createCardsHandler | 카드 목록/등록/삭제 | GET, POST, DELETE |
| createPayHandler | 구독 결제 | POST |
| createSubscriptionsHandler | 구독 조회/해지 | GET, DELETE |
| createPaymentsHandler | 결제 이력/취소 | GET, POST |
getToken은 호스트 앱 인증에 맞게 구현하면 됩니다 (예: next-auth getToken). 토큰에 id 필수, pay 시 name/email/phone 등 선택.
