# Stripe + ChatGPT 매출 분석 프로젝트 ## 프로젝트 개요 Stripe Sandbox API를 활용하여 TypeScript로 랜덤 결제 데이터를 생성하고, ChatGPT API를 통해 오늘의 매출 내역을 자동으로 분석하고 설명하는 시스템을 구축합니다. ## 최종 목표 - Stripe Sandbox에서 테스트 결제 데이터 생성 - TypeScript 기반의 클린한 코드 작성 - ChatGPT를 활용한 비즈니스 인사이트 도출 - 블로그 포스트로 전체 과정 공유 ## 기술 스택 - **결제 처리**: Stripe API (Sandbox) - **언어**: TypeScript - **AI 분석**: OpenAI ChatGPT API - **런타임**: Node.js - **주요 라이브러리**: stripe, openai, dotenv ## 단계별 전략 (v1-v10) ### v1: 프로젝트 소개 및 목표 - 프로젝트의 배경과 동기 - 해결하고자 하는 문제 - 사용할 기술 스택 소개 - 예상 결과물 ### v2: Stripe 계정 설정 - Stripe 계정 생성 과정 - Sandbox 모드 이해하기 - API 키 발급 (Publishable key, Secret key) - Stripe Dashboard 둘러보기 - 보안 고려사항 ### v3: 개발 환경 설정 - TypeScript 프로젝트 초기화 (`npm init`, `tsconfig.json`) - 필요한 패키지 설치 - `stripe`: Stripe SDK - `openai`: OpenAI API 클라이언트 - `dotenv`: 환경 변수 관리 - `@types/node`: TypeScript 타입 정의 - 프로젝트 디렉토리 구조 설계 - `.env` 파일 설정 ### v4: Stripe SDK 연동 - Stripe 클라이언트 초기화 - API 키 설정 및 검증 - 기본 연결 테스트 (계정 정보 조회) - TypeScript 타입 정의 확인 ### v5: 랜덤 결제 데이터 생성 - 랜덤 데이터 생성 함수 작성 - 결제 금액 (1,000원 ~ 100,000원) - 상품명 (다양한 카테고리) - 고객 정보 (이름, 이메일) - Stripe Payment Intent 생성 - 결제 성공 처리 - 여러 건의 테스트 결제 생성 (10-20건) ### v6: Stripe 데이터 조회 - 오늘 날짜의 결제 내역 조회 - Payment Intent 필터링 - 데이터 집계 - 총 매출액 - 결제 건수 - 평균 결제 금액 - 상품별 분류 - 데이터 구조화 및 정리 ### v7: ChatGPT API 연동 - OpenAI API 키 설정 - ChatGPT 클라이언트 초기화 - 기본 연결 테스트 - 모델 선택 (gpt-4, gpt-3.5-turbo 등) ### v8: 매출 분석 요청 - 결제 데이터를 ChatGPT 프롬프트로 변환 - 효과적인 프롬프트 엔지니어링 - 매출 요약 요청 - 트렌드 분석 요청 - 비즈니스 인사이트 요청 - ChatGPT API 호출 - 응답 받기 ### v9: 결과 포맷팅 및 출력 - ChatGPT 응답 파싱 - 결과를 보기 좋게 포맷팅 - 콘솔 출력 개선 (색상, 구조화) - 필요시 파일로 저장 ### v10: 통합 및 마무리 - 전체 플로우 통합 - 에러 핸들링 추가 - 코드 리팩토링 - README.md 작성 - 사용 방법 문서화 - 블로그 포스트 작성을 위한 정리 - 배운 점과 개선 사항 ## 진행 상황 - [x] v1: 프로젝트 소개 및 목표 ✅ (2025-11-28) - [x] v2: Stripe 계정 설정 ✅ (2025-11-28) - [x] v3: 개발 환경 설정 ✅ (2025-11-28) - [x] v4: Stripe SDK 연동 ✅ (2025-11-28) - [x] v5: 랜덤 결제 데이터 생성 ✅ (2025-11-28) - [x] v6: Stripe 데이터 조회 ✅ (2025-11-28) - [x] v7: ChatGPT API 연동 ✅ (2025-11-28) - [x] v8: 매출 분석 요청 ✅ (2025-11-28) - [x] v9: 결과 포맷팅 및 출력 ✅ (2025-11-28) - [x] v10: 통합 및 마무리 ✅ (2025-11-28) 🎉 ## 주의사항 1. **보안**: API 키는 절대 GitHub에 커밋하지 않기 (.env 파일 사용) 2. **Sandbox 모드**: 실제 결제가 발생하지 않도록 반드시 Sandbox 모드 사용 3. **API 비용**: OpenAI API 사용량 모니터링 4. **타입 안정성**: TypeScript의 장점을 최대한 활용 5. **문서화**: 각 단계마다 스크린샷과 코드 설명 포함 ## 예상 결과물 ``` === 오늘의 매출 분석 (2025-11-28) === 총 매출: 850,000원 결제 건수: 15건 평균 결제 금액: 56,667원 [ChatGPT 분석] 오늘 하루 총 15건의 결제가 발생했으며, 전체 매출은 85만원을 기록했습니다. 평균 결제 금액은 약 5만 7천원으로, 중간 가격대의 상품들이 고르게 판매되었습니다. 주요 인사이트: - 오후 시간대에 결제가 집중됨 - 전자제품 카테고리가 가장 높은 매출 기여 - 고객당 평균 구매액이 안정적임 개선 제안: - 오전 시간대 프로모션을 통한 매출 증대 가능 - 고가 상품 번들링 전략 고려 ``` ## 완료된 작업 1. ✅ ~~v1 문서 작성: 프로젝트 소개 및 목표~~ 완료 2. ✅ ~~v2 문서 작성: Stripe 계정 설정~~ 완료 3. ✅ ~~v3 문서 작성: 개발 환경 설정~~ 완료 4. ✅ ~~v4 문서 작성: Stripe SDK 연동~~ 완료 5. ✅ ~~v5 문서 작성: 랜덤 결제 데이터 생성~~ 완료 6. ✅ ~~v6 문서 작성: Stripe 데이터 조회~~ 완료 7. ✅ ~~v7 문서 작성: ChatGPT API 연동~~ 완료 8. ✅ ~~v8 문서 작성: 매출 분석 요청~~ 완료 9. ✅ ~~v9 문서 작성: 결과 포맷팅 및 출력~~ 완료 10. ✅ ~~v10 문서 작성: 통합 및 마무리~~ 완료 ## 🎉 프로젝트 완료! 모든 문서 작성이 완료되었습니다. 다음 단계로 블로그 포스트를 작성하거나 실제 구현을 시작할 수 있습니다.