카카오페이 API 테스트를 하려고 하는데
CID는 테스트ID : TC0ONETIME 으로 하고있습니다.
//결제 준비단계
public KakaoReadyResponseDto readyToKakaoPay(CreditReadyDto readyDto) {
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<>();
parameters.add("cid", cid);
parameters.add("partner_order_id", String.valueOf(readyDto.getOrderId()));
parameters.add("partner_user_id", String.valueOf(readyDto.getMemberId()));
parameters.add("item_name", readyDto.getProductName());
parameters.add("item_code", String.valueOf(readyDto.getRoomId()));
parameters.add("quantity", "1");
parameters.add("total_amount", Integer.toString(readyDto.getTotalPrice()));
parameters.add("tax_free_amount", "0");
parameters.add("approval_url", successUrl); // 성공 시 redirect url
parameters.add("cancel_url", cancelUrl); // 취소 시 redirect url
parameters.add("fail_url", failUrl); // 실패 시 redirect url
HttpHeaders headers = getHeaders();
// 파라미터, 헤더
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(parameters, headers);
RestTemplate restTemplate = new RestTemplate();
String url = "https://open-api.kakaopay.com/online/v1/payment/ready";
kakaoReadyResponseDto = restTemplate.postForObject(url, requestEntity, KakaoReadyResponseDto.class);
creditReadyDto = readyDto;
return kakaoReadyResponseDto;
}
private HttpHeaders getHeaders() {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("Authorization", "SECRET_KEY " + adminKey);
headers.set("Accept", "application/json");
return headers;
}
이렇게 해서 요청을 하면 401 Unauthorized: [no body] 오류가 나타납니다…
제대로 데이터도 넣은 것 같은데 body가 안보내지네요…
해결법을 알려주시면 감사하겠습니다.