snow
snow2mo ago

[에러코드 문의] 토스페이먼츠SDK USER_CANCEL 케이스가 궁금힙니다.

USER_CANCEL 에러 코드의 경우 에러코드 이름 및 설명을 보았을때는 유저가 결제창을 닫는 상황에서 발생하는 것으로 예상했는데 실제 동작은 서버 오류(재고 불일치)로 결제가 불가한 상황에서도 동일하게 결제취소가 발생하였습니다. 유저 취소 외에 USER_CANCEL을 에러코드로 내려주는 케이스가 또 뭐가 있을까요 ?
13 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
유부장
유부장2mo ago
카페24 사용 하시나요? 결제창 닫힐때 USER_CANCEL 내려준다 라고 이해해주시면 됩니다.
today.lastday
today.lastday2mo ago
사용자가 결제창에서 X버튼 클릭시 발생하는 에러인데요. 실제 동작은 서버 오류(재고 불일치)로 결제가 불가한 상황에서도 동일하게 결제취소가 발생하였습니다. <= 해당 건 주문번호 공유해주시면 추가 확인해보겠습니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
snow
snowOP2mo ago
@유부장 감사합니다 @today.lastday cubar_16237 입니다.
today.lastday
today.lastday2mo ago
해당 건은 정상 결제 후 취소된 것으로 확인 됩니다. 결제 취소는 결제 후 가맹점에서 API로 호출한 것입니다.
snow
snowOP2mo ago
@today.lastday 이해했습니다. 감사합니다. 혹시 sdk의 결제 승인단계에서 가맹점 취소와 유저의 취소를 구분할 수 있는 방법이 있을까요?
today.lastday
today.lastday2mo ago
승인단계에서 유저 취소는 발생하지 않습니다. 유저취소는 인증단계에서만 발생해요.
snow
snowOP2mo ago
@박정민 질문을 잘못 드린 것 같습니다. 인증 단계에서 발새하는 유저취소에서 가맹점에서 문제가 발생하여 발생하는 취소와 유저가 X 버튼을 누르는등 결제를 종료하는 행위에 의해 발생하는 취소를 구분가능한지 문의드립니다. USER_CANCEL 이 현재 두 케이스가 합쳐져 있는 것 같아 구분 방법이 있을지 궁금합니다.
이실장
이실장2mo ago
가맹점에서 문제가 발생하는 취소는 결제창에서 x를 누른게 아니라 그냥 브라우저를 종료하거나 이런 케이스이죠?
today.lastday
today.lastday2mo ago
USER_CANCEL로 X버튼을 확인할 수 있고 가맹점에서 문제가 발생하는 취소는 별도로 처리해주셔야할 것 같아요.
snow
snowOP2mo ago
답변 감사합니다.
해당 건은 정상 결제 후 취소된 것으로 확인 됩니다. 결제 취소는 결제 후 가맹점에서 API로 호출한 것입니다.
이 케이스 입니다. 아직 결제페이지를 벗어나지 않은 상태에서 정상결제 후 취소가 될 경우 USER_CANCEL 로 toss sdk에서 에러가 내려와서 구분이 필요한 상황입니다. 현재 구현된 프로세스는 아래와 같습니다. 결제 시도 -> toss sdk 토스 페이 결제 진행 -> 결제 완료 - (여기서 가맹점 취소 발생) -> sdk에서 USER_CANCEL을 응답으로 받음 -> UI 처리(사용자가 결제 취소하였습니다 에러 메세지 띄움) 별도 처리는 따로 저희 서비스 서버와 통신을 해야한다는 말씀이실까요 ? sdk 결제가 완전히 끝나지 않은 상태라 별도 처리 부분이 이해가 되지 않았습니다. 조금만 더 설명 부탁드려도 괜찮을까요 ?
today.lastday
today.lastday2mo ago
해당 결제건은 정상 결제 완료 후 결제 취소 API를 호출한 것입니다. 이 경우 USER_CANCEL인지는 가맹점에서 API 호출을 하였기 때문에 가맹점에서 해당 로직을 구현해주시면 됩니다. 별도 처리해야 한다는 부분은 취소 API를 가맹점에서 호출한 것이기 때문에 취소 응답을 받고 이후 로직을 처리해주면 된다는 의미에요.

Did you find this page helpful?