문제 상황
서비스 오픈 이전 데이터는 결제 정보가 없는 상태이고, 오픈 이후 데이터는 결제 정보를 포함하여 동일한 취소 요청이라도 처리 방식이 달랐습니다.
기존 구조의 한계
결제 데이터 유무에 따른 취소/환불 처리 기준이 불명확했습니다. 코드 곳곳에 if 분기가 산재해 있어 유지보수가 어렵고 버그가 발생하기 쉬운 구조였습니다.
상태 기반 분기 설계
결제 데이터 존재 여부를 기준으로 취소 처리 로직을 두 가지 경로로 명확하게 분리했습니다. 각 경로의 진입 조건과 처리 방식을 명세로 문서화했습니다.
TID 기반 처리
결제 데이터 존재 시 TID(Transaction ID)와 결제 금액을 검증 후 환불 처리를 진행합니다. 결제 데이터 미존재 시 환불 없이 예약만 취소합니다.
결과
결제 상태 기반 취소/환불 정합성 확보. 오픈 전/후 혼재 환경에서도 안정적인 처리가 가능해졌습니다. 예외 상황에 대한 일관된 비즈니스 로직이 적용됐습니다.