본문 바로가기
Language/Spring

[JAVA, SPRING, BOOTPAY] 부트페이 연동(WEB,APP)

by tyrannojung 2020. 11. 30.
반응형
부트페이란?

 부트페이(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 해 줍니다.

결제성공시 return된 data

해당 data를 가공해서 사용하시면 됩니다.

 

결제 취소

TEST이므로 결제가 정상적으로 진행이 되면 관리자 페이지 -> 결제내역에 들어가서 취소하시면 됩니다.

(통상적으로는 하루 지나면 자동 취소가 된다고 하지만 안 되는 경우도 있다고 합니다.)

 

결제취소

검증 하기

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

검증을 하지 않더라도 결제를 진행할 수 있고, 개발도 마무리할 수 있습니다. 하지만 부트페이에서는 검증하기 과정을 반드시 진행하라고 '권장'하고 있습니다.

부트페이의 단점일 수도 있는 검증하기를 해야 하는 이유는 개발자들이 사용하기 쉽게 자바스크립트 형태로 제공하고 있어, 결제 금액 및 결제 상태에 대한 변조가 가능하다고 합니다. 그러므로 처음 요청했던 금액과 결제과 올바르게 이루어졌는지에 대해 부트페이 서버로 영수증키를 보내 확인하는 과정을 거쳐야 합니다.

 

참고 URL : docs.bootpay.co.kr/rest/verify

 

 

부트페이 검증하기(다음 글) : tyrannocoding.tistory.com/11

반응형

댓글