카카오페이api 관련 질문

20230610194911
등록후에
@RequestMapping(“kakaopay”)
@ResponseBody
public String kakaoPay() {
try {
URL url = new URL(“https://kapi.kakao.com/v1/payment/ready”);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod(“POST”);
connection.setRequestProperty(“Authorization”, “KakaoAK 070c771b567f337d6694caa9488ed0e0”);
connection.setRequestProperty(“Content-type”, “Content-type: application/x-www-form-urlencoded;charset=utf-8”);
connection.setDoOutput(true);

            String parameter = "cid=TC0ONETIME" // 가맹점 코드
					+ "&partner_order_id=partner_order_id" // 가맹점 주문번호
					+ "&partner_user_id=partner_user_id" // 가맹점 회원 id
					+ "&item_name=초코파이" // 상품명
					+ "&quantity=1" // 상품 수량
					+ "&total_amount=5000" // 총 금액
					+ "&vat_amount=200" // 부가세
					+ "&tax_free_amount=0" // 상품 비과세 금액
					+ "&approval_url=https://localhost:8080/cafe/admin/complet" // 결제 성공 시
					+ "&fail_url=https://localhost:8080/cafe/admin/complet" // 결제 실패 시
					+ "&cancel_url=https://localhost:8080/cafe/admin/complet"; // 결제 취소 시
			OutputStream send = connection.getOutputStream(); // 이제 뭔가를 를 줄 수 있다.
			DataOutputStream dataSend = new DataOutputStream(send); // 이제 데이터를 줄 수 있다.
			dataSend.writeBytes(parameter); // OutputStream은 데이터를 바이트 형식으로 주고 받기로 약속되어 있다. (형변환)
			dataSend.close(); // flush가 자동으로 호출이 되고 닫는다. (보내고 비우고 닫다)

			int result = connection.getResponseCode(); // 전송 잘 됐나 안됐나 번호를 받는다.
			InputStream receive; // 받다
			
			if(result == 200) {
				receive = connection.getInputStream();
			}else {
				receive = connection.getErrorStream(); 
			}
			// 읽는 부분
			InputStreamReader read = new InputStreamReader(receive); // 받은걸 읽는다.
			BufferedReader change = new BufferedReader(read); // 바이트를 읽기 위해 형변환 버퍼리더는 실제로 형변환을 위해 존제하는 클레스는 아니다.
			// 받는 부분
			return change.readLine(); // 문자열로 형변환을 알아서 해주고 찍어낸다 그리고 본인은 비워진다.
			
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	 	return "{\"result\":\"NO\"}";
    }

@GetMapping(“complet”)
public String complet() {
return “admin/complet”;
}

이렇게 만들었는데
WARN : org.springframework.web.servlet.PageNotFound - No mapping for GET /cafe/admin/undefined 자꾸 이렇게 나옵니다 뭐가 문제일까요

안녕하세요. 카카오페이 입니다.

카카오페이 API 호출에는 문제가 없는것으로 보이며,
결제수단 선택 / 인증완료후 approval_url로 redirect 되게 되는데, 로컬 또는 테스트 pc에서 해당 url이 정상동작 하지 않으시는것 같습니다.
해당 url에 대해 호출여부 확인해보시기 바랍니다.
https://localhost:8080/cafe/admin/complet

감사합니다.