구모듈 S021 "이미 사용된 주문번호입니다. 새로운 주문번호로 결제를 시도해 주십시요" 에러에 대한 질문입니다.
00:05분부터 사용자가 접속하여 결제하는 시스템입니다.
PC와 모바일 연동해서 쓰고 있습니다.
동시에 접속해서 그런지 '국민,하나,롯데'카드로 결제시 실패하는 확률이 높은 것같습니다. 보통 시간대는 그렇지 않은데 결제시 오류가 나서 다시 결제하려고 하면
주문번호 중복으로 인해 결제진행입니다. 라는 문구가 계속뜨면서
해당 결제를 하지 못하고 있는 상황입니다.
이런 경우에 카드사의 응답지연에 따른 오류인지 (다른카드는 괜찮습니다)
이걸 방지하기 위해서 어떠한 로직을 바꿔야하는지 알고싶습니다.
이미 먼저 선점한 사람에게 해당 결제를 계속 시도할 수 있는 거라
주문번호가 새롭게 생성이 되도록해서 대기 시간안에 처리해야할 것같네요.
새로운 주문번호를 생성하는 방법에는 어떤게 있을까요?

9 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
그리로 카드실패시 최종결제 요청 결과 실패 DB 처리하시기 바랍니다. ERORR -> NO DATA -> db_update_data 라고 사용자페이지에 뜬다고 합니다.
이미 동일한 주문번호로 00:05:44에 승인완료된 건이 있는데 동일한 주문번호가 다시 요청되었기 때문입니다.
주문번호 생성로직을 살펴보셔야할 것 같아요.
주문번호를 시간이나 timestamp로 사용하시는 것으로 보이는데요, 뒤에 random 함수등을 이용해서 추가 숫자를 붙여주시는 방식으로 처리하시기 바랍니다.
감사합니다
그러면 카드실패시 이미 실패로 처리된 건이라 그걸로 다시 주문번호 재시도하면 중복이라 에러가 난다는거죠? 그래서 랜덤함수 붙여서 재시도시에 다른 번호로 처리하게끔 하라는 말씀인가요?
아녜요. 이미 결제완료된 건이 있기 때문에 에러가 발생하는 것입니다. "이미 사용된 주문번호입니다. " 라는 문구 자체가 승인완료된 건이 있다는 것입니다.
실패한 경우는 같은 주문번호로 재결제 요청하실 수 있습니다.
네 감사합니다. gpt 도움받아서 처리해보겠습니다
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
주문번호는 YYYYMMDD+랜덤4자리+예약seq 으로 해서 잘 처리하였습니다. 도움주셔서 감사합니다