Open 1nwan22 opened 9 months ago
결제 페이지 orderview 뿌리기
public KakaoPayApproveResponse kakaoPayApprove(String pgToken, int orderId, int accountId) {
log.error("$$$$$$$$$$$$$$$$: kakaoPayReadyResponse.getTid() = {}", kakaoPayReadyResponse.getTid());
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
params.add("cid", CID);
params.add("tid", kakaoPayReadyResponse.getTid());
params.add("partner_order_id", String.valueOf(orderId));
params.add("partner_user_id", String.valueOf(accountId));
params.add("pg_token", pgToken);
KakaoPayApproveResponse kakaoPayApproveResponse = webClient.post()
.uri("https://kapi.kakao.com/v1/payment/approve")
.header("Authorization", "KakaoAK " + ADMINKEY)
.header("Content-type", "application/x-www-form-urlencoded;charset=utf-8")
.body(BodyInserters.fromFormData(params))
.retrieve()
.bodyToMono(KakaoPayApproveResponse.class)
.block();
log.info("$$$$$$$$$$$$$$$ kakaoPayApproveResponse = {}", kakaoPayApproveResponse);
return kakaoPayApproveResponse;
}
tid가 null로 들어온다
@RequestMapping("/success")
public String kakaoPaySuccess(@RequestParam("pg_token") String pgToken, HttpSession session, Model model) {
int orderId = (int) session.getAttribute("orderId");
int accountId = (int) session.getAttribute("accountId");
String tid = (String) session.getAttribute("tid");
log.info("@@@@@@@@@@@@@@ pgToken = {}", pgToken);
log.info("@@@@@@@@@@@@@@ tid = {}", tid);
KakaoPayApproveResponse kakaoPayApproveResponse = kakaoPayBO.kakaoPayApprove(pgToken, tid, orderId, accountId);
log.info("$$$$$$$$$$$$$$$ kakaoPayApproveResponse = {}", kakaoPayApproveResponse);
session.removeAttribute("orderId");
session.removeAttribute("tid");
model.addAttribute("viewName", "pay/paymentSuccess");
model.addAttribute("viewNameR", "include/rightSide");
return "template/layout";
}
그냥 session에 넣고 지우는 식으로 해결했다
https://developer.pay.naver.com/docs/v1/api/payments https://developer.pay.naver.com/docs/v2/api#common-common_certi