본문 바로가기
Language/Spring

[JAVA, SPRING, Iamport] 아임포트 연동(WEB,APP)

by tyrannojung 2021. 3. 17.
반응형
아임 포트란?

아임 포트(Iamport)는 무료로 서비스되는 결제 연동 API입니다.

장점으로는 PG 계약과 관계없이 즉시 개발 가능하며, 웹, 앱 SDK 모두 지원합니다. 뿐만 아니라 국내외 여러 PG(복수 선택 가능)와 결제수단을 소스코드 한 줄로 사용할 수 있으며, PG사 변경으로 인한 개발이 필요 없습니다.

 

아임 포트 사용방법(계정)

아임 포트를 사용하기 위해서는 회원가입이 필요합니다.

우측 상단에 대시보드를 클릭한 후 간단하게 아이디 비밀번호만 입력하면 회원가입이 완료됩니다.

 

로그인을 한 후 시스템 설정 -> PG설정(일반 결제 및 정기결제)을 클릭해 원하는 PG사를 선택하고 테스트 모드를 ON으로 활성화 한 뒤 전체 저장을 클릭해 줍니다.

 

 

그 후 내 정보로 들어가 PG연동을 위해 가맹점 식별 코드를 복사해 줍니다.

 

 

아임 포트 사용방법(view) - 자바스프링 javaspring

결제가 필요한 곳에 아임 포트의 한 줄 자바스크립트 라이브러리를 추가해줘야 합니다. 이 라이브러리를 통해 window.IMP변수에 접근이 가능해집니다.

<script type="text/javascript" src="https://cdn.iamport.kr/js/iamport.payment-1.1.5.js"></script>
<!-- 아래 제이쿼리는 1.0이상이면 원하는 버전을 사용하셔도 무방합니다. -->
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js" ></script>

그리고 동일한 페이지에 자바스크립트를 작성합니다.

 

function iamport(){
		//가맹점 식별코드
		IMP.init('imp30146952');
		IMP.request_pay({
		    pg : 'kcp',
		    pay_method : 'card',
		    merchant_uid : 'merchant_' + new Date().getTime(),
		    name : '상품1' , //결제창에서 보여질 이름
		    amount : 100, //실제 결제되는 가격
		    buyer_email : 'iamport@siot.do',
		    buyer_name : '구매자이름',
		    buyer_tel : '010-1234-5678',
		    buyer_addr : '서울 강남구 도곡동',
		    buyer_postcode : '123-456'
		}, function(rsp) {
			console.log(rsp);
		    if ( rsp.success ) {
		    	var msg = '결제가 완료되었습니다.';
		        msg += '고유ID : ' + rsp.imp_uid;
		        msg += '상점 거래ID : ' + rsp.merchant_uid;
		        msg += '결제 금액 : ' + rsp.paid_amount;
		        msg += '카드 승인번호 : ' + rsp.apply_num;
		    } else {
		    	 var msg = '결제에 실패하였습니다.';
		         msg += '에러내용 : ' + rsp.error_msg;
		    }
		    alert(msg);
		});
	}

참고 URL : github.com/iamport/iamport-manual/blob/master/%EC%9D%B8%EC%A6%9D%EA%B2%B0%EC%A0%9C/README.md

 

여기서 중요하게 볼 부분은 IMP.init과 PG입니다. IMP.init에 들어갈 인자는 위에서 복사한 가맹점 식별코드를 넣는 것이며, PG는 또한 위에서 설정한 원하는 PG사를 넣어주시면 됩니다.

 

해당 함수를 호출해서 카드를 결제하게 되면,

 

정상적으로 결제가 진행되며, 로그를 확인했을 때도 정상적으로 결제가 진행된 부분을 확인해 볼 수 있습니다.

 

 

 

실제로 결제한 부분은 관리자 페이지의 결제승인내역에서 확인할 수 있으며 취소도 가능합니다. (kcp테스트 모드는 실제로 결제가 진행되지 않습니다.)

 

검증하기

위 내용까지는 검증을 하지 않은 상태에서의 결제까지의 과정입니다.

검증을 하지 않더라도 결제를 진행할 수 있고, 개발도 마무리할 수 있습니다. 하지만 아임 포트(Iamport)에서는 검증하기 과정을 반드시 진행하라고 '권장'하고 있습니다. 검증하기를 해야 하는 이유는 개발자들이 개발(사용) 하기 쉽게 자바스크립트 형태로 제공하고 있어, 결제 금액 및 결제 상태에 대한 변조가 가능하다고 합니다. 그러므로 처음 요청했던 금액과 결제과 올바르게 이루어졌는지에 대해 아임 포트 서버로 아임포트 거래 고유번호(imp_uid)나 주문 고유번호(merchant_uid)를 보내 확인하는 과정을 반드시 거쳐야 합니다.

 

아임포트 검증하기(다음 글) : tyrannocoding.tistory.com/44

 

[JAVA, SPRING, Iamport] 아임포트 검증하기(WEB,APP)

아임포트 연동 : tyrannocoding.tistory.com/43 [JAVA, SPRING, Iamport] 아임포트 연동(WEB,APP) 아임 포트란? 아임 포트(Iamport)는 무료로 서비스되는 결제 연동 API입니다. 장점으로는 PG 계약과 관계없이 즉..

tyrannocoding.tistory.com

 

마치며

 이 정도정도 예제로 잘 가공해서 사용한다면 java spring DB에 CRUD는 문제없이 사용할 수 있을 겁니다. 혹시라도 구현 진행 중 안 되는 부분이 있으시면 댓글 남겨주시면 소스 보내드리겠습니다.

반응형

댓글