배달 앱 프로젝트에서 결제파트를 담당하여 결제 도메인 엔티티와 상태 관리, 그리고 Repository 계층을 구현했다.
Payment 엔티티 설계

각 필드별 설계 의도
id : 결제 도메인 PK
orderId : 주문 도메인과 연결되는 식별자
paymentKey : 토스에서 승인된 이후 결제를 식별하는 키
status : READY, APPROVED등으로 현재 결제상태를 나타냄
amount : 결제 금액(원화)
paymentLog : 승인/취소 응답 로그 저장
createdAt, approvedAt, canceledAt : 결제 생명주기의 기점들을 기록
PaymentStatus로 상태 분리

결제는 상태변화가 고정되기 때문에 Enum으로 분리됐다.
Repository 계층 구성

정리
결제 도메인은 저장이 아니라 생명주기와 상태 흐름을 표현하는 모델링이 핵심이다.
'TIL' 카테고리의 다른 글
| TIL - 결제 승인·취소 서비스 구현과 PaymentController API 구성 (0) | 2026.03.05 |
|---|---|
| TIL - 결제 파트 구조 정리 (0) | 2026.03.04 |
| TIL - Redis TTL 개념정리 (0) | 2026.03.02 |
| TIL - PostgreSQL과 MySQL의 차이점 정리 (0) | 2026.02.28 |
| TIL - CI/CD 개념이해 및 CI구축 (0) | 2026.02.27 |