- Spring에서 kakaoPay 간단하게 구현!
- 참고사항(필독!)
- Kakao Developers에서 애플리케이션 설정을 먼저 해주세요
- i'mport를 사용하므로 i'mport 회원가입 및 설정을 먼저 해주세요
- 결제창 띄우기 & 테스트용 결제만 하는 코드이므로, 각자의 용도에 맞게 내용을 변경해서 써주세요.
- 예) 판매할 물건 정보, 구매자 정보를 가져와 사용 및 결제 성공시 구매자 정보를 보내 저장
- Kakao Developers
- i'mport
- 참고 사이트
jsp 이름은 예시로 kakaoPay로 만들었을 뿐, 원하는 이름으로 하세요 :D
실질적인 결제를 하는 페이지로 쓸 jsp입니다.
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="https://service.iamport.kr/js/iamport.payment-1.1.5.js"></script>
<!-- id는 check_module를 쓰겠습니다. -->
<button id="check_module" type="button">테스트 결제</button>
<script>
$("#check_module").click(function () {
var IMP = window.IMP; // 생략가능
IMP.init('가맹점식별코드');
// i'mport 관리자 페이지 -> 내정보 -> 가맹점식별코드
// ''안에 띄어쓰기 없이 가맹점 식별코드를 붙여넣어주세요. 안그러면 결제창이 안뜹니다.
IMP.request_pay({
pg: 'kakao',
pay_method: 'card',
merchant_uid: 'merchant_' + new Date().getTime(),
/*
* merchant_uid에 경우
* https://docs.iamport.kr/implementation/payment
* 위에 url에 따라가시면 넣을 수 있는 방법이 있습니다.
*/
name: '주문명 : 아메리카노',
// 결제창에서 보여질 이름
// name: '주문명 : ${auction.a_title}',
// 위와같이 model에 담은 정보를 넣어 쓸수도 있습니다.
amount: 2000,
// amount: ${bid.b_bid},
// 가격
buyer_name: '이름',
// 구매자 이름, 구매자 정보도 model값으로 바꿀 수 있습니다.
// 구매자 정보에 여러가지도 있으므로, 자세한 내용은 맨 위 링크를 참고해주세요.
buyer_postcode: '123-456',
}, function (rsp) {
console.log(rsp);
if (rsp.success) {
var msg = '결제가 완료되었습니다.';
msg += '결제 금액 : ' + rsp.paid_amount;
// success.submit();
// 결제 성공 시 정보를 넘겨줘야한다면 body에 form을 만든 뒤 위의 코드를 사용하는 방법이 있습니다.
// 자세한 설명은 구글링으로 보시는게 좋습니다.
} else {
var msg = '결제에 실패하였습니다.';
msg += '에러내용 : ' + rsp.error_msg;
}
alert(msg);
});
});
</script>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>KakaoPay</title>
<meta charset="UTF-8">
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="https://service.iamport.kr/js/iamport.payment-1.1.5.js"></script>
</head>
<body>
<button id="check_module" type="button">테스트 결제</button>
<script>
$("#check_module").click(function () {
var IMP = window.IMP; // 생략가능
IMP.init('가맹점식별코드');
// i'mport 관리자 페이지 -> 내정보 -> 가맹점식별코드
// ''안에 띄어쓰기 없이 가맹점 식별코드를 붙여넣어주세요. 안그러면 결제창이 안뜹니다.
IMP.request_pay({
pg: 'kakao',
pay_method: 'card',
merchant_uid: 'merchant_' + new Date().getTime(),
/*
* merchant_uid에 경우
* https://docs.iamport.kr/implementation/payment
* 위에 url에 따라가시면 넣을 수 있는 방법이 있습니다.
*/
name: '주문명 : 아메리카노',
// 결제창에서 보여질 이름
// name: '주문명 : ${auction.a_title}',
// 위와같이 model에 담은 정보를 넣어 쓸수도 있습니다.
amount: 2000,
// amount: ${bid.b_bid},
// 가격
buyer_name: '이름',
// 구매자 이름, 구매자 정보도 model값으로 바꿀 수 있습니다.
// 구매자 정보에 여러가지도 있으므로, 자세한 내용은 맨 위 링크를 참고해주세요.
buyer_postcode: '123-456',
}, function (rsp) {
console.log(rsp);
if (rsp.success) {
var msg = '결제가 완료되었습니다.';
msg += '결제 금액 : ' + rsp.paid_amount;
// success.submit();
// 결제 성공 시 정보를 넘겨줘야한다면 body에 form을 만든 뒤 위의 코드를 사용하는 방법이 있습니다.
// 자세한 설명은 구글링으로 보시는게 좋습니다.
} else {
var msg = '결제에 실패하였습니다.';
msg += '에러내용 : ' + rsp.error_msg;
}
alert(msg);
});
});
</script>
</body>
</html>
여기까지 성공적으로 하셨으면 kakaoPay 결제 진행이 될겁니다.
자세한 내용은 카카오 & i'mport 홈페이지 및 맨 위에 참고한 링크를 봐주시면 감사하겠습니다.