테스트 환경의 결제 취소 API 호출 실패에 대한 기술문의
안녕하세요, 스프링 프레임워크(EgovFramework) 환경에서 '토스페이먼츠' Javascript SDK를 이용하여 카드/가상계좌/계좌이체 결제건에 대한 결제 취소 API 연동중에 있습니다.
우선 결제 취소 페이지를 구성하고 토스페이먼츠측
[결제 취소 API 문서]
를 참고하여 요청 처리기 개발중에 있습니다.
현재는 API 호출 부분까지 개발이 되어 전체 취소
의 경우에 대해 테스트를 진행해 보았지만 403 HTTP Status Code
와 함께 실패하여 기술문의 드립니다.
테스트 환경이기에 클라이언트/시크릿 키 모두 토스페이먼츠 상점 관리자 페이지를 통해 발급된 키를 사용하고 있습니다.
응답 상태 코드를 보아 인가
실패로 생각이 드는요. 혹시 테스트 환경에서는 상점상의 결제 취소 테스트를 할 수 없는 것인지요?
내용에 도움이 되실까 싶어 관련 이미지를 첨부드립니다!
[참고]
1. 테스트 환경: Local(localhost:8080)
2. 취소 시도 PaymentKey: qjvX2KBP9QADpexMgkW36m7ZnKmKp8GbR5ozO06yLYlaEJ7d
3. 취소 시도 상점 정의 주문번호: L22111122229395



11 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
Exception Response: {"code":"NOT_CANCELABLE_AMOUNT","message":"취소 할 수 없는 금액 입니다."}
cancelAmount를 0으로 보내주고 계신대요!
값을 안보내주셔야 전체취소입니다~!
아, 그렇군요! 곧 바로 코드 수정 후 실행 해 보겠습니다.
전체 취소의 경우 'cancelAmount'라는 key 자체가 없어야 한다는 말씀이시지요?
네네!
소스코드 수정 후 재시도 하였고 정상적으로 처리되었습니다.
감사합니다!
상점 정의 '결제 취소 요청 데이터' 상의 cancelAmount(Integer type) 값이 0으로 전달된 경우 '전체 취소'로 간주하고, 요청 데이터 중 'cancelAmount'라는 key에 해당하는 값을 아예 요청 데이터에서 지워 버림으로써 해결되었습니다.

❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
해당 답변에 대해 이 포스트에서 추가적으로 질문드려도 될까요?
담당자님과 같이 에러코드를 저의 개발 환경에서도 로그로써 볼 수 있는 방법이 있을까요?
다른 이슈로 다룰까하다가 여기에서 여쭙습니다.
현재 에러 발생시 return해드리는 것 외에 지나간 에러를 확인할 수 있는 방법은 없습니다.
cc @냥과장
답변 감사드립니다.
이 말은 즉, 첨부된 이미지와 같이 결제 취소 API 호출 시 발생한 에러(예외)에 대한 상세 내용은 확인이 불가능하다라는 말씀이신가요!
예를 들어,
전체 취소 후 또 전체 취소를 요청
하는 것에 대한 에러 메시지를 상점 상의 회원(관리자 페이지를 이용하는 사람)에게 띄워주려고 합니다.
(Java에서는 에러(예외) 발생 시 try ~ catch라는 문법을 사용하여 catch문을 통해 에러(예외)를 처리할 수 있으므로 이 방식을 응용해 보려고 합니다.)
네 API호출하실 때 return해드리는 에러메세지로만 확인가능합니다.
그렇군요! 감사합니다.