1nwan22 / withdog

0 stars 0 forks source link

결제 페이지 API #5

Open 1nwan22 opened 9 months ago

1nwan22 commented 9 months ago

https://developer.pay.naver.com/docs/v1/api/payments https://developer.pay.naver.com/docs/v2/api#common-common_certi

1nwan22 commented 9 months ago

결제 페이지 orderview 뿌리기

1nwan22 commented 9 months ago
1nwan22 commented 9 months ago
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로 들어온다

1nwan22 commented 9 months ago
    @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에 넣고 지우는 식으로 해결했다