$ls -la ./posts/Payment
Payment
5 posts
2025.05.05
주문/결제 이중 상태 머신과 트랜잭션 분리 전략
OrderStatus 5개로 시작했다가 환불 요구사항에 8개로 늘리고, PG 승인-주문 상태 불일치 사고를 겪은 뒤 트랜잭션을 분리한 이야기
2025.04.28
PaymentEvent 이벤트 소싱과 PaymentDetail 다형성
결제 상태만 저장했다가 고객 문의를 못 풀게 된 뒤, 모든 상태 변화를 이벤트로 기록하게 된 이야기
2025.04.21
Toss Payments 연동: 3계층 구조와 에러 처리 전략
PG 연동 코드를 UseCase에 직접 넣었다가 테스트 불가능해진 뒤, 3계층으로 분리하고 에러 처리를 체계화한 이야기
2025.04.14
Domain Model과 JPA Entity를 분리한 이유
OrderEntity에 비즈니스 로직을 넣었다가 테스트가 지옥이 되어, 도메인 모델을 따로 빼게 된 이야기