문제 상황
승인 요청 뒤 통신이 끊기면 PG의 결제 결과를 알 수 없습니다. 실패로 간주해 다시 승인하면 중복 결제가 발생할 수 있었습니다.
제가 정한 기준
타임아웃을 UNKNOWN으로 보존하고 계약 활성화를 보류했습니다. 같은 멱등 키의 요청은 기존 결과를 반환하고, 외부 승인 호출을 반복하지 않습니다. PG 조회 결과를 주문·금액과 대조해 상태를 확정합니다. 행 잠금으로 대사 대상을 선점하고, Outbox에 후속 이벤트를 남겨 중단된 작업도 추적할 수 있게 했습니다.











