결제 서비스 고도화에서 멱등성 설계를 핵심으로 보는 이유를 사례로 정리한 결
저는 결제 서비스 고도화에서 가장 중요한 요소를 거래 원자성과 멱등성이라고 봅니다. 사이드 프로젝트에서 간편 결제 모듈을 직접 구현하면서, 결제 요청이 중간에 끊겼을 때 재시도하면 이중 결제가 발생하는 버그를 경험했습니다. 결제 요청 ID를 고유하게 발급해 서버가 같은 ID의 두 번째 요청을 무시하도록 설계한 뒤 이 문제가 사라졌습니다. 고도화는 새 기능 추가보다 장애 시나리오 커버리지를 먼저 챙기는 방향이 더 중요하다고 보는 이유입니다. 단, 결제는 외부 PG사 연동이 포함되므로 외부 시스템의 멱등성 지원 여부를 먼저 파악한 뒤 설계 방향을 잡는 것이 현실적이라고 봅니다.