테마
Story: 토스페이먼츠 결제 API 연동
메타
| 항목 | 값 |
|---|---|
| Story ID | E-06-S-01 |
| Epic | E-06 PG사 이관 |
| 상태 | ready-for-dev |
| 우선순위 | P0 |
| 규모 | L |
| 담당 개발자 | 창훈 (수석) |
사용자 스토리
As a 개발팀,
I want 토스페이먼츠 결제 API를 연동하고 싶다,
So that 새로운 결제 시스템의 기반을 구축할 수 있다.
수락 기준 (Acceptance Criteria)
AC-01: API 키 설정
| 항목 | 내용 |
|---|---|
| Given | 토스페이먼츠 계약이 완료되었을 때 |
| When | API 키를 환경 변수에 설정하면 |
| Then | clientKey, secretKey로 API 호출이 가능하다 |
AC-02: 결제 요청 API
| 항목 | 내용 |
|---|---|
| Given | 사용자가 결제를 요청할 때 |
| When | 결제 준비 API를 호출하면 |
| Then | orderId와 함께 결제 준비가 완료된다 |
AC-03: 결제 승인 API
| 항목 | 내용 |
|---|---|
| Given | 프론트에서 결제 인증이 완료되었을 때 |
| When | paymentKey로 승인 API를 호출하면 |
| Then | 결제가 완료되고 결과가 반환된다 |
AC-04: 결제 취소 API
| 항목 | 내용 |
|---|---|
| Given | 결제가 완료된 건이 있을 때 |
| When | 취소 API를 호출하면 |
| Then | 전액 또는 부분 취소가 처리된다 |
태스크 분해
Task 1: 환경 설정
- [ ] 1.1: 토스페이먼츠 API Key 환경변수 설정
- [ ] 1.2: TossPayments SDK/Client 설정
Task 2: 결제 API 연동
- [ ] 2.1: POST /payments - 결제 준비
- [ ] 2.2: POST /payments/confirm - 결제 승인
- [ ] 2.3: POST /payments/{paymentKey}/cancel - 결제 취소
Task 3: 결제 모델
- [ ] 3.1: Payment 테이블 설계
- [ ] 3.2: 결제 상태 관리 (PENDING, DONE, CANCELED, FAILED)
생성일: 2026-01-20
