부트페이란?
부트페이(Bootpay)는 무료로 서비스되는 결제 연동 API입니다.
장점으로는 PG 계약과 상관없이 즉시 개발이 가능하며, 웹, 앱 SDK 모두 지원합니다. 뿐만 아니라 국내외 여러 PG(복수 선택 가능)와 결제수단을 소스코드 한 줄로 사용할 수 있으며, PG사 변경으로 인한 개발이 필요 없을뿐더러 PG기반의 무료 로그 분석 서비스 또한 제공합니다.
단점으로는 결제 검증이 필요합니다.
부트페이 사용방법(계정) ①
부트페이를 사용하기 위해서는 회원가입이 필요합니다. 회원가입 후 프로젝트를 만들어 줍니다.
상단의 결제설치 탭에서 결제수단 활성화를 클릭합니다.
(테스트를 위해
'NICEPAY' , '카드결제' , 선택한 '결제수단을 활성화' 실결제모드를 비활성화로 진행을 했습니다.)
참고 URL : docs.bootpay.co.kr/before
부트페이 사용방법(view) ②
웹을 통해 연동하는 방법은 script를 부트페이에서 제공하는 CDN에서 불러오거나 npm에서 다운로드하여 이용할 수 있습니다. 저는 CDN을 사용하여 이용했습니다.
부트페이로 연결에 필요한 페이지의 상단에 해당 코드를 붙여줍니다.
1
|
<script src="https://cdn.bootpay.co.kr/js/bootpay-3.3.1.min.js" type="application/javascript"></script>
|
cs |
그리고 동일한 페이지에 자바스크립트를 작성합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <script> //실제 복사하여 사용시에는 모든 주석을 지운 후 사용하세요 BootPay.request({ price: '1000', //실제 결제되는 가격 // 관리자로그인 -> 결제설치 -> 인증키 및 보안 -> WEB Application ID application_id: "5f**************", name: '블링블링 마스카라', //결제창에서 보여질 이름 pg: 'nicepay', method: 'card', //결제수단, 입력하지 않으면 결제수단 선택부터 화면이 시작합니다. show_agree_window: 0, // 부트페이 정보 동의 창 보이기 여부 items: [ { item_name: '나는 아이템', //상품명 qty: 1, //수량 unique: '123', //해당 상품을 구분짓는 primary key price: 1000, //상품 단가 } ], order_id: '고유order_id_1234', //고유 주문번호로, 생성하신 값을 보내주셔야 합니다. }).error(function (data) { //결제 진행시 에러가 발생하면 수행됩니다. console.log(data); }).cancel(function (data) { //결제가 취소되면 수행됩니다. console.log(data); }).close(function (data) { // 결제창이 닫힐때 수행됩니다. (성공,실패,취소에 상관없이 모두 수행됨) console.log(data); }).done(function (data) { //결제가 정상적으로 완료되면 수행됩니다 //비즈니스 로직을 수행하기 전에 결제 유효성 검증을 하시길 추천합니다. console.log(data); }); </script> | cs |
참고 URL : docs.bootpay.co.kr/online/pg?pg=nicepay&pm=card&language=web
(참고 url과 다르게 심플하게 제가 필요한 것들만 작성했습니다.)
여기서 중요하게 볼 부분은 application_id와 pg입니다.
application_id는 부트페이를 로그인하신 후, 결제설치 -> 인증키 및 보안 -> WEB Application ID 복사
한 것을 입력해 주셔야 하며, pg는 우리가 활성화한 pg사를 입력해 주시면 됩니다.
실제 카드로 결제를 정상적으로 진행하면
.done 에서 주는 data가 json형식으로 return 해 줍니다.
해당 data를 가공해서 사용하시면 됩니다.
결제 취소
TEST이므로 결제가 정상적으로 진행이 되면 관리자 페이지 -> 결제내역에 들어가서 취소하시면 됩니다.
(통상적으로는 하루 지나면 자동 취소가 된다고 하지만 안 되는 경우도 있다고 합니다.)
검증 하기
위 내용까지는 검증을 하지 않은 상태에서의 결제까지의 과정입니다.
검증을 하지 않더라도 결제를 진행할 수 있고, 개발도 마무리할 수 있습니다. 하지만 부트페이에서는 검증하기 과정을 반드시 진행하라고 '권장'하고 있습니다.
부트페이의 단점일 수도 있는 검증하기를 해야 하는 이유는 개발자들이 사용하기 쉽게 자바스크립트 형태로 제공하고 있어, 결제 금액 및 결제 상태에 대한 변조가 가능하다고 합니다. 그러므로 처음 요청했던 금액과 결제과 올바르게 이루어졌는지에 대해 부트페이 서버로 영수증키를 보내 확인하는 과정을 거쳐야 합니다.
참고 URL : docs.bootpay.co.kr/rest/verify
부트페이 검증하기(다음 글) : tyrannocoding.tistory.com/11
'Language > Spring' 카테고리의 다른 글
[JAVA, SPRING, Iamport] 아임포트 검증하기(WEB,APP) (440) | 2021.03.17 |
---|---|
[JAVA, SPRING, Iamport] 아임포트 연동(WEB,APP) (397) | 2021.03.17 |
Maven 과 Gradle의 차이 [JAVA, SPRING, GRADLE, ECLIPSE] (1095) | 2020.12.11 |
[JAVA, SPRING, BOOTPAY] 부트페이 정기결제(자동결제) (1313) | 2020.12.03 |
[JAVA, SPRING, BOOTPAY] 부트페이 검증하기(SERVER) (1796) | 2020.11.30 |
댓글