계좌 빌링키 발급하기

고객이 계좌 정보를 등록하면 인증 절차 후 빌링키를 발급받아요. ARS나 알림톡으로 출금 동의 진행 후, 출금 동의 확인 요청으로 빌링키를 받습니다.

가맹점은 고객의 계좌 정보를 직접 저장할 수 없으며, 이를 저장하면 여전법 위반이에요. 따라서 은행기관은 계좌 정보를 대체할 수 있는 빌링키를 발급하며, 가맹점은 이 빌링키를 저장 후 사용해야 해요.

현재 계좌 빌링키 발급 방식은백엔드만지원합니다.브랜드페이사용시 계좌 정보 입력창을 부트페이가 제공합니다.
1
전체 흐름
Server

결제창을 가맹점이 제공합니다. 구매자가 입력한 계좌 정보는 저장해서는 안 되며, 안전하게 부트페이 서버로 전달되어야 합니다.

지원 PG사:나이스페이먼츠
2
빌링키 발급 요청
Server
수집해야 하는 정보

가맹점 결제창에서 수집해야 하는 계좌 정보:

  • bank_name계좌 은행명
  • bank_account계좌번호
  • identity_no생년월일 6자리 또는 사업자등록번호
  • phoneARS/본인인증 받을 전화번호
  • username계좌주 이름 혹은 법인명
API 정보
POSThttps://api.bootpay.co.kr/v2/request/subscribe/automatic-transfer
응답값 처리

응답값에서 다음 항목을 확인하세요:

  • status === 41빌링키 발급 요청 완료 상태
  • receipt_id출금동의확인에 필요한 필수 파라미터
3
출금 동의 확인
Server

사용자가ARS혹은본인인증을 통해 인증이 진행되었는지 확인하는 API입니다.

  • 인증이 완료되면 응답값에 빌링키가 포함됩니다.
  • error_codeSUBSCRIBE_REQUEST_FAILED인 경우 아직 인증 진행 전입니다.
API 정보
POSThttps://api.bootpay.co.kr/v2/request/subscribe/automatic-transfer/publish
4
빌링키 저장
Server

출금 동의 확인 API 응답으로 빌링키가 전달됩니다. 빌링키를 데이터베이스에 저장하고, 결제 요청 시 해당 빌링키를 사용하세요.

계좌 정보 보안 주의: 고객의 계좌 정보(계좌번호, 계좌주 등)는 절대 데이터베이스에 저장하지 마세요.
5
결제 요청
Server

발급받은 빌링키로 결제를 진행하세요.

빌링키로 결제하기
백엔드
빌링키 발급 요청
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
import { Bootpay } from '@bootpay/backend-js' Bootpay.setConfiguration({    application_id: '[ REST API용 Application ID ]',    private_key:    '[ Private KEY ]'}) try {    await Bootpay.getAccessToken()    const response = await Bootpay.requestSubscribeAutomaticTransferBillingKey({        pg:                       '나이스페이',        order_name:               '테스트결제',        subscription_id:          (new Date()).getTime(),        price:                    1000,        username:                 '홍길동',        bank_name:                '국민',        bank_account:             '67561234123492472',        identity_no:              '901014',        cash_receipt_identity_no: '01012341234',        phone:                    '01012341234',        user:                     {            username: '홍길동',            phone:    '01012345678'        }    })    console.log(response)} catch (e) {    // 발급 실패시 오류    console.log(e)}