sm 기술 블로그
[스프링부트] 결제시스템 도입 본문
아임포트(iamport)
PG 결제 연동 서비스. 무료로 PG 결제를 연동해주는 서비스
PG
PG(Payment Gateway)란 전자지급결제대행으로 온라인에서 상품이나 서비스를 결제할 때 다양한 결제수단으로 안전하게 결제하도록 지원하는 서비스
아임포트 연동 순서
- 아임포트 계정 생성
- 아임포트 관리자 페이지에서 가맹점 키 가져오기
- PG사 설정
- 아임포트에서 제공하는 javascript를 이용하여 테스트 결제 해보기
1. 계정생성
다음 사이트에서 회원가입을 진행한다.
2. 결제 연동 클릭
로그인하면 보이는 결제 연동을 클릭해준다.
3. 내 식별코드 클릭
내 식별 코드를 클릭하면 가맹점 코드가 보일 것이다.
그 코드는 나중에 사용 할 것이니 잘 알아두자.
4. PG사 선택
이 포스트에서는 테스트 카카오페이로 진행할 것이며, 각자 원하는 PG사를 선택하여 진행하면 된다.
단, 각 가맹점의 코드는 쓰기 때문에 기억해 두자.
5. 결제 테스트
HTML
<!DOCTYPE html>
<html lang="ko">
<head> </head>
<body>
<!-- jQuery -->
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js" ></script>
<!-- iamport.payment.js -->
<script type="text/javascript" src="https://cdn.iamport.kr/js/iamport.payment-1.2.0.js"></script>
<div>
<h2>IAMPORT 결제 데모</h2>
<li>
<button id="iamportPayment" type="button">결제테스트</button>
</li>
</div>
</body>
</html>
JS
//문서가 준비되면 제일 먼저 실행
$(document).ready(function(){
$("#iamportPayment").click(function(){
payment(); //버튼 클릭하면 호출
});
})
//버튼 클릭하면 실행
function payment(data) {
IMP.init('가맹점 식별코드');//아임포트 관리자 콘솔에서 확인한 '가맹점 식별코드' 입력
IMP.request_pay({// param
pg: "kakaopay.가맹점CID", //pg사명 or pg사명.CID (잘못 입력할 경우, 기본 PG사가 띄워짐)
pay_method: "card", //지불 방법
merchant_uid: "iamport_test_id", //가맹점 주문번호 (아임포트를 사용하는 가맹점에서 중복되지 않은 임의의 문자열을 입력)
name: "도서", //결제창에 노출될 상품명
amount: 13700, //금액
buyer_email : "testiamport@naver.com",
buyer_name : "홍길동",
buyer_tel : "01012341234"
}, function (rsp) { // callback
if (rsp.success) {
alert("완료 -> imp_uid : "+rsp.imp_uid+" / merchant_uid(orderKey) : " +rsp.merchant_uid);
} else {
alert("실패 : 코드("+rsp.error_code+") / 메세지(" + rsp.error_msg + ")");
}
});
}
합본
<!DOCTYPE html>
<html lang="ko">
<head> </head>
<body>
<!-- jQuery -->
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js" ></script>
<!-- iamport.payment.js -->
<script type="text/javascript" src="https://cdn.iamport.kr/js/iamport.payment-1.2.0.js"></script>
<div>
<h2>IAMPORT 결제 데모</h2>
<li>
<button id="iamportPayment" type="button">결제테스트</button>
</li>
</div>
</body>
<script>
//문서가 준비되면 제일 먼저 실행
$(document).ready(function(){
$("#iamportPayment").click(function(){
payment(); //버튼 클릭하면 호출
});
})
//버튼 클릭하면 실행
function payment(data) {
IMP.init('가맹점 식별코드');//아임포트 관리자 콘솔에서 확인한 '가맹점 식별코드' 입력
IMP.request_pay({// param
pg: "kakaopay.가맹점CID", //pg사명 or pg사명.CID (잘못 입력할 경우, 기본 PG사가 띄워짐)
pay_method: "card", //지불 방법
merchant_uid: "iamport_test_id", //가맹점 주문번호 (아임포트를 사용하는 가맹점에서 중복되지 않은 임의의 문자열을 입력)
name: "도서", //결제창에 노출될 상품명
amount: 13700, //금액
buyer_email : "testiamport@naver.com",
buyer_name : "홍길동",
buyer_tel : "01012341234"
}, function (rsp) { // callback
if (rsp.success) {
alert("완료 -> imp_uid : "+rsp.imp_uid+" / merchant_uid(orderKey) : " +rsp.merchant_uid);
} else {
alert("실패 : 코드("+rsp.error_code+") / 메세지(" + rsp.error_msg + ")");
}
});
}
</script>
</html>
테스트
See the Pen Untitled by 소망 (@denist2322) on CodePen.
코드펜에 들어가서 가맹점 식별코드(3번코드) 와 가맹점CID(4번코드)를 선택하여 결제가 되는지 확인해보자.
'스프링부트' 카테고리의 다른 글
[스프링 부트] 리액트와 스프링부트 연결 (0) | 2022.08.29 |
---|---|
[스프링 부트] 동일한 name으로 controller로 값 받아오기 (0) | 2022.08.27 |
[스프링부트] Query 사용 (JPA) (0) | 2022.08.11 |
[스프링부트] thymeleaf로 클래스 변경 (0) | 2022.08.10 |
[스프링부트] 다중 파일 업로드 (0) | 2022.08.10 |
Comments