# v1: Stripe + ChatGPT로 매출 분석하기 - 프로젝트 소개 ## 프로젝트를 시작하며 안녕하세요! 이번 프로젝트는 **Stripe API**와 **ChatGPT API**를 결합하여 매출 데이터를 자동으로 분석하고 비즈니스 인사이트를 도출하는 시스템을 만들어보는 여정입니다. ## 왜 이 프로젝트를 시작했나? 많은 온라인 비즈니스에서 결제 처리를 위해 Stripe를 사용합니다. Stripe Dashboard는 훌륭하지만, 매일매일의 매출을 사람이 이해하기 쉬운 언어로 설명해주는 기능은 없습니다. **"오늘 매출이 어땠어?"** 이 간단한 질문에 대한 답을 얻기 위해: - 대시보드에 로그인하고 - 여러 차트를 확인하고 - 수치를 비교하고 - 머릿속으로 분석해야 합니다 만약 AI가 이 모든 과정을 대신해준다면 어떨까요? ## 프로젝트 목표 이 프로젝트에서 만들 시스템은: 1. **Stripe Sandbox에서 테스트 결제 데이터 생성** - 실제 돈을 사용하지 않고 안전하게 테스트 - 다양한 패턴의 결제 데이터 생성 2. **TypeScript로 클린한 코드 작성** - 타입 안정성 확보 - 유지보수 가능한 구조 3. **ChatGPT로 매출 분석** - 수치를 사람이 읽기 쉬운 문장으로 변환 - 트렌드와 인사이트 도출 - 개선 제안 받기 ## 기술 스택 ### Stripe API - **역할**: 결제 처리 및 데이터 관리 - **사용 모드**: Sandbox (테스트 환경) - **왜 선택했나**: 업계 표준 결제 솔루션, 강력한 API ### TypeScript - **역할**: 메인 개발 언어 - **왜 선택했나**: 타입 안정성, 개발 경험 향상 ### OpenAI ChatGPT API - **역할**: 매출 데이터 분석 및 인사이트 생성 - **왜 선택했나**: 자연어로 비즈니스 인사이트 제공 ### Node.js - **역할**: 런타임 환경 - **추가 라이브러리**: - `stripe`: Stripe SDK - `openai`: OpenAI API 클라이언트 - `dotenv`: 환경 변수 관리 ## 예상 결과물 프로젝트가 완성되면 다음과 같은 결과를 얻을 수 있습니다: ```bash $ npm run analyze === 오늘의 매출 분석 (2025-11-28) === 📊 기본 통계 총 매출: 850,000원 결제 건수: 15건 평균 결제 금액: 56,667원 🤖 ChatGPT 분석 오늘 하루 총 15건의 결제가 발생했으며, 전체 매출은 85만원을 기록했습니다. 평균 결제 금액은 약 5만 7천원으로, 중간 가격대의 상품들이 고르게 판매되었습니다. 💡 주요 인사이트: • 오후 2-5시 사이에 결제가 집중되었습니다 • 전자제품 카테고리가 전체 매출의 45%를 차지했습니다 • 신규 고객 비율이 60%로 높은 편입니다 📈 개선 제안: • 오전 시간대 프로모션을 통해 매출 분산 가능 • 전자제품과 관련 액세서리 번들 판매 고려 • 신규 고객 재구매율 향상을 위한 리텐션 전략 필요 ``` ## 프로젝트 구조 ``` 20251128-stripe-chatgpt/ ├── src/ │ ├── stripe/ │ │ ├── client.ts # Stripe 클라이언트 초기화 │ │ ├── generate-data.ts # 랜덤 결제 데이터 생성 │ │ └── fetch-data.ts # 결제 데이터 조회 │ ├── chatgpt/ │ │ ├── client.ts # ChatGPT 클라이언트 초기화 │ │ └── analyze.ts # 매출 분석 요청 │ ├── utils/ │ │ └── formatter.ts # 결과 포맷팅 │ └── index.ts # 메인 엔트리 포인트 ├── .env # 환경 변수 (API 키) ├── .env.example # 환경 변수 예시 ├── package.json ├── tsconfig.json └── README.md ``` ## 학습 목표 이 프로젝트를 통해 다음을 배울 수 있습니다: 1. **Stripe API 활용** - Payment Intent 생성 및 관리 - Sandbox 환경 활용 - 결제 데이터 조회 및 필터링 2. **ChatGPT API 통합** - 프롬프트 엔지니어링 - API 호출 및 응답 처리 - 비즈니스 컨텍스트에 맞는 분석 요청 3. **TypeScript 모범 사례** - 타입 정의 - 모듈 구조화 - 환경 변수 관리 4. **API 통합 패턴** - 여러 외부 API 연동 - 에러 핸들링 - 비동기 처리 ## 주의사항 ### 보안 - API 키는 절대 코드에 하드코딩하지 않기 - `.env` 파일은 `.gitignore`에 추가 - Stripe는 반드시 Sandbox 모드로 사용 ### 비용 - Stripe Sandbox는 무료 - OpenAI API는 사용량에 따라 과금 - GPT-3.5-turbo 사용 시 비용 절감 가능 ### 테스트 - 실제 카드 정보 절대 사용 금지 - Stripe 테스트 카드 번호 사용 (`4242 4242 4242 4242`) ## 다음 단계 v2에서는 Stripe 계정을 만들고 Sandbox API 키를 발급받는 과정을 다룹니다. 준비물: - [ ] Stripe 계정 (무료) - [ ] OpenAI API 키 - [ ] Node.js 설치 (v18 이상 권장) --- **작성일**: 2025-11-28 **상태**: ✅ 완료