서비스 소개
Toss Payments 인스턴트 온보딩 API를 연동하여 상점 생성 및 가입 신청을 처리하고 Callback을 검증하는 서버리스 기반 상점 관리 플랫폼입니다. AWS Lambda + API Gateway 서버리스 아키텍처로 구축하여 인프라 관리 비용을 최소화하고, FastAPI 비동기 처리와 DynamoDB NoSQL로 빠른 응답 성능을 구현했습니다.
주요 기능
- Toss Payments 온보딩 — 상점 생성, 가입 신청, Callback 처리
- 상점 관리 — 상점 생성·조회·수정·삭제, 상태 관리
- Callback 검증 — SHA-256 해시 기반 시그니처 검증, 온보딩 정보 무결성 보장
- JWT 인증 — OAuth2 Password Flow 기반 토큰 인증
- 민감정보 관리 — AWS SSM Parameter Store로 API 키 및 시크릿 관리
핵심 개발 내용
- FastAPI 비동기 REST API — async/await 기반 비동기 처리, Pydantic 데이터 검증
- AWS Lambda 서버리스 아키텍처 — Lambda + API Gateway 구성, Mangum ASGI 어댑터
- Toss Payments API 연동 — 인스턴트 온보딩 API 완전 연동, Callback 시그니처 검증
- DynamoDB NoSQL 설계 — 테이블 설계, CRUD 추상화 레이어, boto3 연동
- JWT 인증 시스템 — OAuth2 Password Flow, python-jose JWT 생성 및 검증
- AWS SAM IaC — template.yaml로 Lambda·API Gateway·DynamoDB 정의, 배포 자동화
- GitHub Actions CI/CD — 코드 푸시 시 자동 테스트 및 SAM 배포
기술적 도전과 해결
- 서버리스 아키텍처 구축 — Lambda Cold Start 최소화, Mangum으로 FastAPI ASGI 어댑터 구현
- Toss Payments Callback 검증 — SHA-256 해시 시그니처 검증으로 위변조 방지
- DynamoDB 데이터 모델링 — NoSQL 특성 활용한 유연한 스키마 설계, 빠른 조회 성능