Payment
5개의 글
#Development@2025-05-05
주문/결제 이중 상태 머신과 트랜잭션 분리 전략
OrderStatus 5개로 시작했다가 환불 요구사항에 8개로 늘리고, PG 승인-주문 상태 불일치 사고를 겪은 뒤 트랜잭션을 분리한 이야기
#Payment#State Machine#Transaction#Spring Boot
#Development@2025-04-28
PaymentEvent 이벤트 소싱과 PaymentDetail 다형성
결제 상태만 저장했다가 고객 문의를 못 풀게 된 뒤, 모든 상태 변화를 이벤트로 기록하게 된 이야기
#Payment#Event Sourcing#Java#Spring Boot
#Development@2025-04-21
Toss Payments 연동: 3계층 구조와 에러 처리 전략
PG 연동 코드를 UseCase에 직접 넣었다가 테스트 불가능해진 뒤, 3계층으로 분리하고 에러 처리를 체계화한 이야기
#Payment#Toss Payments#Clean Architecture#Spring Boot
#Development@2025-04-14
Domain Model과 JPA Entity를 분리한 이유
OrderEntity에 비즈니스 로직을 넣었다가 테스트가 지옥이 되어, 도메인 모델을 따로 빼게 된 이야기
#Clean Architecture#Domain Driven Design#JPA#Spring Boot
#Development@2025-04-07
임시 주문 → 실주문 2단계 결제 모델 설계하기
주문 테이블 하나로 시작했다가 PENDING 주문 폭탄을 맞고, TemporaryOrder를 분리하게 된 이야기
#Payment#Domain Driven Design#Spring Boot#Java