TIL

TIL - 결제 서비스 도메인 설계 및 구현

kinim329 2026. 3. 3. 22:44

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

Payment 엔티티 설계

 

각 필드별 설계 의도

id : 결제 도메인 PK

orderId : 주문 도메인과 연결되는 식별자

paymentKey : 토스에서 승인된 이후 결제를 식별하는 키

status : READY, APPROVED등으로 현재 결제상태를 나타냄

amount : 결제 금액(원화)
paymentLog : 승인/취소 응답 로그 저장

createdAt, approvedAt, canceledAt : 결제 생명주기의 기점들을 기록

PaymentStatus로 상태 분리

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

Repository 계층 구성

정리

결제 도메인은 저장이 아니라 생명주기와 상태 흐름을 표현하는 모델링이 핵심이다.