카카오페이를 연동해보고 싶습니까?. 그럼 하면 되죠. 그럼 시작합니다. Show https://developers.kakao.com/docs/latest/ko/kakaopay/common Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 제공해주는 서비스도메인 등록카카오페이 API를 사용하려면 [내 애플리케이션] > [플랫폼] > [Web]에 서비스 웹 사이트 도메인을 등록해야 합니다. 도메인은 최대 10개까지 등록할 수 있습니다. 아래 경로로 들어갑니다. 요약 정보에는 앱 키가 보이는데, 카카오페이에서는 네 번째 항목인 Admin Key를 사용해야합니다. 또한, 카카오페이를 이용하기 위해서는 위 메뉴 -> 플랫폼 -> 하단에 사이트 도메인 추가 --> 자신의 도메인을 추가해줍니다. 로컬에서 작업중이라면 , localhost를 써줘도 됩니다. http://localhost:3000 이런식으로 포트까지 붙여주세요 제휴 안내카카오페이 API를 실제 서비스에서 이용하려면 제휴를 맺어야 합니다. 카카오페이 제휴 신청 페이지에서 제휴 제안할 수 있습니다. 물론, 제휴하지 않고 카카오페이 API 테스트는 가능하므로 걱정은 하지 마세요. 단, 실제 서비스를 사용하기 위해서는 제휴해야한다는 사실!! kakao제휴안내 with.kakao.com 결제 프로세스카카오페이를 통한 결제는 크게 네 단계로 나뉩니다. 1. 결제 준비: - 가맹점 코드, 가맹점이 부여한 주문번호, 상품 총액 등 상세 정보를 카카오페이 서버에 전달하고 결제 과정을 시작하는 단계.
- 사용자 정보 입력 및 카카오페이 결제 수단 선택과 인증이 이뤄지는 단계.
- 사용자의 인증이 완료되고, 승인에 필요한 인증 값을 응답주는 단계.
- 결제 필수 값으로 카카오페이 서버에 승인요청하여 최종적인 결제완료 처리를 하는 단계. 이번에 간편결제 기능인 카카오 페이 구현을 진행했으며 작업이 모두 끝나서 이를 정리해두려 한다. 준비하기
카카오 페이 API 에서는 아래 항목의 기능을 제공한다. 이 중에 이번에 필요한 건 단건결제 였다.
카카오페이 다이어그램시작하기참고: Kakao Developers참고 : Kakao Developers앱 이름과 사업자명 작성해주자 사업자명은 자신의 이름을 입력해주면 된다. 이미지는 넣어도 되고 안넣어도 상관없다. 참고 : Kakao DevelopersWeb에서만 사용할거면 Web에만 등록하시면 됩니다. 모바일에도 사용할 시 모바일 플랫폼 등록 하면 된다. 참고 : Kakao Developers참고 : kakao Developers해석해보자면 POST방식으로 https://kapi.kakao.com + /v1/payment/approve란 호스트(url 주소)로 Authorization(권한)과 Content-Type을 보내라는 것이다. 이 부분이 header에 해당되는 내용이고 밑에 있는 키와 설명, 타입으로 되어있는 부분은 body로 보내면 된다. 권한은 어디서 얻을 수 있을까? 먼저, KakaoDevelopers에 로그인을 해야한다. 내 애플리케이션 -> 개요 -> 앱정보 -> 앱 키 표시를 눌렀을 때 나오는 admin 키가 바로 권한 키이다. request는 카카오페이에서 요구하는 정보이다. kakaoPay.jsp 생성
kakaoPay.html카카오페이 html 부분이다. post 방식으로 보낼 버튼을 만들어 준다.
kakaoPay script 작성
Controller 구현
1) cid는 가맹점 코드로 카카오페이에 연락해서 받아야 한다. Test 코드이므로 TC0ONETIME를 넣었고 실결제를 하려면 카카오페이와 제휴 후 받은 cid 코드를 넣으면 된다. 2) Authorization에 위에서 설명한 admin 키를 넣어야 한다. 3) body 부분에는 내가 결제로 지정할 데이터들을 넣는다. kakao Developers에 필수라고 써있는 파라미터들은 꼭 넣어줘야한다. 4) HttpEntity<MultiValueMap<String, String>> body = new HttpEntity<MultiValueMap<String, String>>(params, headers); hearder와 body를 붙이는 방법이다. 5) kakaoPayReadyVO = restTemplate.postForObject(new URI(HOST + "/v1/payment/ready"), body, KakaoPayReadyVO.class); RestTemplate을 이용해 카카오페이에 데이터를 보내는 방법이다. post방식으로 HOST + "/v1/payment/ready"에 body(header+body)정보를 보낸다. 정보를 보내고 요청이 성공적으로 이루어지면 카카오페이에서 응답정보를 보내준다. KakaoPayReadyVO.class는 응답을 받는 객체를 설정한 것이다. reponse로 위와 같은 데이터가 들어오므로 이를 객체로 받기 위한 자바 빈을 만들어준다. kakaoPayReadVo
6) return kakaoPayReadyVO.getNext_redirect_pc_url(); 마지막 return 값으로 redirect url을 불러와 결제가 완료되면 해당 주소로 가게끔 설정해 놓는다. 카카오페이 Controller 만들자. SampleController
kakaoPaySuccess.html까지 만들어 놓으면 우선 카카오페이 결제가 정상적으로 작동이 될 것이다. 지금 부터 결제 완료 부분을 만들것이다. Controller구현
1) kakaoPayApprovalVO = restTemplate.postForObject(new URI(HOST + "/v1/payment/approve"), body, KakaoPayApprovalVO.class); 응답정보를 받기 위해 KakaoPayApprovalVO 클래스를 만든다. KakaoPayApprovalVO
여기서 amount 와 card_info는 JSONObject로 전송받기 때문에 따로 AmountVO, CardVO라는 객체를 만들어 준다. AmountVO, CardVO
Controller에서 model.addAttribute를 이용하여 화면 쪽에 정보를 전송한다. SampleController
이제 kakaoPaySuccess.html에 결제승인된 정보를 나타내보자. kakaoPaySuccess.html
여기 까지가 카카오페이 만드는 과정이다. 참고 자료https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com https://www.kakaocert.com/docs/tutorial?lang=java&service=verifyAuth&type=spring 카카오페이 인증 API kakaoCert kakaoCert는 카카오페이 인증 API 연동개발을 위해 Java, PHP, Laravel, .NET, .NET Core, Node.js, Python, Django, ASP 등 다양한 언어의 SDK 및 상세 매뉴얼을 제공합니다. www.kakaocert.com https://velog.io/@ohjs813/Spring-%EC%B9%B4%EC%B9%B4%EC%98%A4%ED%8E%98%EC%9D%B4-API |