안녕하세요. 알파몰 개발팀입니다.
(구)카카오페이 API 사용하고 있었습니다.
해당관련된 id는 266307 입니다.
현재 기존에 사용하고 있는 웹서버에서 트래픽 분산을 위해서 AWS에 확장 개발을 하고있습니다.
그래서 kakao Developers → 플랫폼 → AWS 신규 도메인 작성하여 적용 후 → 아래 코드처럼 헤더와 Body 파라미터를 말아서 https://kapi.kakao.com/v1/payment/ready 로 요청하면 동작이안됩니다.
기존에 사용하고 있는 웹서버에서는 카카오페이 팝업이 잘 뜨고 있으나 AWs 신규 도메인에서는 카카오페이 팝업이 뜨지않습니다.
또한 AWS에 기존서버와 동일하게 카카오페이 결제를하려고하나 return 값 자체가 없이 넘어오고있습니다.
해당 코드는 아래와 같습니다.
//연동 준비 - 헤더
HttpHeaders headers_ready = new HttpHeaders();
headers_ready.add(“Authorization”, "KakaoAK " + KakaoAK);
headers_ready.add(“Content-Type”, “application/x-www-form-urlencoded” + “;charset=UTF-8”);
//서버로 요청할 Body
MultiValueMap<String, String> params_ready = new LinkedMultiValueMap<String, String>();
params_ready.add(“cid”, cid);
params_ready.add(“partner_order_id”, partner_order_id);
params_ready.add(“partner_user_id”, partner_user_id);
params_ready.add(“item_name”, item_name);
params_ready.add(“quantity”, quantity);
params_ready.add(“total_amount”, total_amount);
params_ready.add(“tax_free_amount”, tax_free_amount);
params_ready.add(“approval_url”, approval_url);
params_ready.add(“cancel_url”, cancel_url);
params_ready.add(“fail_url”, fail_url);
HttpEntity<MultiValueMap<String, String>> body_ready = new HttpEntity<MultiValueMap<String, String>>(params_ready, headers_ready);
try {
//카카오페이 결제준비 연동
res = restTemplate.postForObject(new URI("https://kapi.kakao.com/v1/payment/ready"), body_ready, String.class);
System.out.println("kakaoPayReady8 : " + res);
return res;
}
위 코드에서 res 값이 빈상태로 넘어오는데 별도로 설정이 필요한 부분이있을까요?
admin key는 기존 웹사이트와 동일하게 사용하고있습니다.
에러 메세지는 아래와 같습니다.
org.springframework.web.client.ResourceAccessException: I/O error on POST request for “https://kapi.kakao.com/v1/payment/ready”: sun.security.validator.ValidatorException: PKIX path building failed: sun.securi
ty.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target