@GetMapping("/")
public String kakaoPay(Model model) {
log.info(“kakaopay () 실행”);
RestTemplate restTemplate = new RestTemplate();
// 서버로 요청할 Header
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "SECRET_KEY DEVC9D58FF66FEB4E104C4AD832A61ECBC4B917B");
headers.add("Content-Type", "application/json;charset=UTF-8");
// 서버로 요청할 Body
MultiValueMap<String, String> params = new LinkedMultiValueMap<String, String>();
params.add("cid", "TC0ONETIME");
params.add("partner_order_id", "1001");
params.add("partner_user_id", "test01");
params.add("item_name", "초코파이");
params.add("quantity", "1");
params.add("total_amount", "0");
params.add("tax_free_amount", "500");
params.add("approval_url", "http://localhost:9080/payment/success");
params.add("cancel_url", "http://localhost:9080/payment/cancel");
params.add("fail_url", "http://localhost:9080/payment/fail");
params.add("msg", "결제가 완료되었습니다.");
HttpEntity<MultiValueMap<String, String>> body =
new HttpEntity<MultiValueMap<String, String>>(params, headers);
System.out.println(body);
try {
KakaoReadyResponse vo = restTemplate.postForObject(
new URI("https://open-api.kakaopay.com/online/v1/payment/ready"),
body,
KakaoReadyResponse.class);
log.info("" + vo);
// return kakaoPayReadyVO.getNext_redirect_pc_url();
} catch (RestClientException e) {
e.printStackTrace();
} catch (URISyntaxException e) {
e.printStackTrace();
}
return "kakaoPay";
}
<{cid=[TC0ONETIME], partner_order_id=[1001], partner_user_id=[test01], item_name=[초코파이], quantity=[1], total_amount=[0], tax_free_amount=[500], approval_url=[http://localhost:9080/payment/success], cancel_url=[http://localhost:9080/payment/cancel], fail_url=[http://localhost:9080/payment/fail], msg=[결제가 완료되었습니다.]},[Authorization:“SECRET_KEY DEVC9D58FF66FEB4E104C4AD832A61ECBC4B917B”, Content-Type:“application/json;charset=UTF-8”]>
org.springframework.web.client.HttpClientErrorException$BadRequest: 400 Bad Request: “{“extras”:null,“error_message”:“invalid param(cid has invalid value)”,“error_code”:-400}”
at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:101)
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:168)
실행했을 때 계속 이 에러가 발생합니다. 어떻게 해결해야될까요 post맨으로는 결과가 잘나오는데
스프링부트로 만하면 이렇게 나오네요. 테스트계정을 이용하려고 합니다. 그리고 비즈앱은 등록해놨는데 cid를 어디서 받아야되는지도 모르겠습니다. 제꺼 계약이 된건지
확인도 부탁드립니다.