카카오페이 결제 취소 500 에러

안녕하세요. 카카오페이 결제 취소 관련해서 문의드립니다.
결제 완료 승인을 받고 결제한 해당 상품 tid로 결제를 취소하려고 합니다.

static final String cid = "TC0ONETIME";

public KakaoCancelResponse kakaoCancel(RefundDto refundDto) throws BaseException {
        // 카카오페이 요청
        /**
         * todo: refundDto 받음
         * refundDto: String tid, int cancel_amount
         * pay 엔티티(이용자의 결제 내역): String tid, int quantity, int total, int rent, int deposit
         */

        Optional<Pay> optional = payRepository.findByTid(refundDto.getTid());
        if (optional.isEmpty()) {
            throw new BaseException(BaseResponseStatus.NON_EXIST_PAYMENT);
        }

        Pay requestPay = optional.get();

        MultiValueMap<String, String> parameters = new LinkedMultiValueMap<>();
        parameters.add("cid", cid);
        parameters.add("tid", requestPay.getTid());     // 결제 고유 번호
        parameters.add("cancel_amount",String.valueOf(refundDto.getCancel_amount()));        // 환불, 취소 금액
        parameters.add("cancel_tax_free_amount", "0");  // 취소 비과세 금액
//        parameters.add("cancel_vat_amount", "0");       // 환불 부가세 금액
//        parameters.add("cancel_available_amount", "0");

        HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(parameters, this.getHeaders());

        // 외부에 보낼 url
        RestTemplate restTemplate = new RestTemplate();

        KakaoCancelResponse kakaoCancelResponse = null;
        try {
            kakaoCancelResponse = restTemplate.postForObject(
                    "https://kapi.kakao.com/v1/payment/cancel",
                    requestEntity,
                    KakaoCancelResponse.class
            );
        } catch (RestClientException e) {
            throw e;
        }

        return kakaoCancelResponse;
    }

다음과 같이 결제 취소 로직을 작성했는데 500에러가 발생합니다.

org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 Internal Server Error: "{"msg":"internal server error!","code":-1}"
	at org.springframework.web.client.HttpServerErrorException.create(HttpServerErrorException.java:102) ~[spring-web-6.0.16.jar:6.0.16]
	at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:186) ~[spring-web-6.0.16.jar:6.0.16]
	at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:137) ~[spring-web-6.0.16.jar:6.0.16]
	at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) ~[spring-web-6.0.16.jar:6.0.16]
	at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:915) ~[spring-web-6.0.16.jar:6.0.16]
	at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:864) ~[spring-web-6.0.16.jar:6.0.16]
	at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:764) ~[spring-web-6.0.16.jar:6.0.16]
	at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:481) ~[spring-web-6.0.16.jar:6.0.16]
	at com.example.BackendServer.kakaopay.KakaoPayService.kakaoCancel(KakaoPayService.java:152) ~[main/:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]

2024-03-09T14:10:37.529+09:00  INFO 38180 --- [nio-8080-exec-1] c.e.B.kakaopay.KakaoPayService           : parameter: {cid=[TC0ONETIME], tid=[T5...], cancel_amount=[1], cancel_tax_free_amount=[0]}
2024-03-09T14:10:37.529+09:00  INFO 38180 --- [nio-8080-exec-1] c.e.B.kakaopay.KakaoPayService           : requestEntity: <{cid=[TC0ONETIME], tid=[T5...], cancel_amount=[1], cancel_tax_free_amount=[0]},[Authorization:"KakaoAK (adminkey입니다)", Content-type:"application/x-www-form-urlencoded;charset=utf-8"]>

kakaoCancelResponse = restTemplate.postForObject(…) 이 부분에서 문제가 발생하는 거 같아 확인해 봤는데 문제점을 파악하기 어려워 문의드립니다.

안녕하세요. 카카오페이입니다.

전달주신 코드 및 에러로그만으로는 확인이 어렵습니다.
취소하고자 하는 TID 를 공유부탁드립니다.

감사합니다.

T5efefa61c025b0faaa2
취소하고자 하는 tid입니다

감사합니다

안녕하세요. 카카오페이입니다.

전달주신 거래번호는, 3/12 15:12:25, 15:12:55 에 각각 1원씩 부분취소 정상처리되었습니다.
그외 추가로 취소 인입된 이력은 없으며, 에러가 발생된 이력도 없습니다.

만약 에러가 발생하셨다면, 취소 정상응답된 정보를 매핑하거나 처리함에 있어서 에러가 발생되신듯합니다.
어제 15:12:55분 취소 정상응답된 body 정보는 아래와 같습니다.

{
   "tid":"T5efefa61c025b0faaa2",
   "item_name":"PicnicFlick",
   "approved_at":"2024-03-12T15:01:36",
   "approved_cancel_amount":{
      "total":1,
      "discount":0,
      "green_deposit":0,
      "vat":0,
      "tax_free":0,
      "point":0
   },
   "payment_method_type":"MONEY",
   "canceled_amount":{
      "total":2,
      "discount":0,
      "green_deposit":0,
      "vat":0,
      "tax_free":0,
      "point":0
   },
   "cancel_available_amount":{
      "total":8,
      "discount":0,
      "green_deposit":0,
      "vat":1,
      "tax_free":0,
      "point":0
   },
   "partner_user_id":"가맹점 회원 ID",
   "canceled_at":"2024-03-12T15:12:55",
   "quantity":1,
   "partner_order_id":"가맹점 주문 번호",
   "status":"PART_CANCEL_PAYMENT",
   "amount":{
      "total":10,
      "discount":0,
      "green_deposit":0,
      "vat":1,
      "tax_free":0,
      "point":0
   },
   "aid":"A5eff2671c025b0faab3",
   "created_at":"2024-03-12T15:01:10",
   "cid":"TC0ONETIME"
}

내부로직을 다시 확인부탁드립니다.

감사합니다.

확인해보겠습니다.

답변 감사합니다.