결제 상태 관리·라이선스 만료 처리·결제 실패 재시도 설계로 시스템 신뢰성 확보 결
결제·라이선스 시스템에서 가장 집중한 것은 상태 전이의 무결성이었습니다. 결제 처리 중 실패가 생겼을 때 상태가 애매하게 남으면 사용자도 서비스도 판단하기 어려운 상황이 생기기 때문에, 각 상태가 명확히 정의되고 전이 조건이 코드로 강제되는 구조를 설계했습니다.
라이선스 만료 처리에서는 만료 예정 알림→유예 기간→만료 후 기능 제한 순서의 단계적 처리 흐름을 구현했습니다. 한 번에 기능이 차단되는 것보다 단계적 전환이 사용자 이탈을 줄이는 데 효과적이었습니다.
결제 실패 재시도 설계에서는 멱등성을 핵심 원칙으로 삼았습니다. 같은 결제 요청이 여러 번 전송됐을 때도 한 번만 처리되도록, 고유 키를 생성해 처리 여부를 먼저 확인하는 로직을 파이프라인 앞에 배치했습니다.