결제 연동 흐름 설계·환불 예외 처리·결제 상태 동기화로 이커머스 결제 결
이커머스 기능 중 주로 담당한 것은 결제 시스템이었습니다. 결제 요청부터 승인, 취소, 환불까지 상태가 복잡하게 얽히기 때문에 각 상태 전이를 상태 머신으로 명확히 정의하는 것이 설계의 출발점이었습니다.
PG 연동에서는 웹훅 신뢰성 확보가 핵심 과제였습니다. PG사에서 결제 완료 알림이 누락될 수 있어 웹훅 수신과 별개로 주기적인 결제 상태 재조회 폴링을 병행했습니다. 이중 구조가 미처리 건을 줄이는 데 효과적이었습니다.
환불 처리는 부분 환불과 전액 환불의 분기 로직이 복잡했습니다. 프로모션 할인이 적용된 경우 환불 금액 계산 방식이 달라지기 때문에, 정책을 코드로 명확히 구현하고 단위 테스트로 케이스를 촘촘히 검증했습니다. 정책이 바뀔 때마다 테스트가 먼저 깨지도록 만든 것이 신뢰성을 유지하는 방법이었습니다.