결제 요청하기
이 페이지는부트페이 위젯을 사용하지 않고, 결제창을 직접 띄우는 방법을 설명합니다.
위젯 vs 직접 호출
위젯은 결제수단 선택 UI를 제공하고, 직접 호출은 pg와 method를 직접 지정하여 결제창을 바로 띄웁니다.
1
Payload 설정하기
Client
결제 요청에 필요한 파라미터를 설정합니다. 주문 정보, 결제수단, 사용자 정보 등을 포함합니다.
필수 파라미터
application_id부트페이 관리자에서 발급받은 Application IDprice결제 금액order_name주문명 (결제창에 표시)order_id가맹점 고유 주문번호pgPG사 선택 (nicepay, kcp, tosspayments 등)method결제수단 (card, phone, bank, vbank 등)
선택 파라미터
user구매자 정보 (id, username, phone, email)items주문 상품 목록extra추가 옵션 (할부, 에스크로, 결제창 타입 등)tax_free비과세 금액
2
결제 요청하기
Client
Bootpay.requestPayment()를 호출하여 결제창을 표시합니다.
JavaScript SDK는 Promise를 반환하며, 모바일 SDK는 콜백 함수를 통해 결과를 받습니다.
extra 옵션
open_type결제창 타입:'iframe'(팝업),'redirect'(페이지 이동)card_quota할부 개월수 (예: "0,2,3,4,5,6")escrow에스크로 결제 여부separately_confirmed분리승인 모드 (true시 confirm 이벤트 호출)
3
결제 결과 처리하기
Client
결제 완료, 취소, 오류 등 다양한 결과를 처리합니다.
결제 이벤트
done결제 완료 (서버 검증 필요)issued가상계좌 발급 완료confirm분리승인 모드에서 승인 전 호출 (재고 확인 용도)cancel사용자가 결제창을 닫음error결제 중 오류 발생
응답 데이터
receipt_id부트페이 결제 고유 ID (서버 검증 시 필요)order_id가맹점 주문번호price결제 금액status결제 상태 (1: 완료, 2: 취소)
4
서버에서 검증하기
Server
결제 완료 후 반드시 서버에서 결제를 검증해야 합니다.
프론트엔드에서 받은 결제 정보는 위변조될 수 있으므로, 서버에서 부트페이 API로 결제 조회 후 금액을 대조해야 합니다.
검증 순서
- 프론트엔드에서
receipt_id를 서버로 전송 - 서버에서 부트페이 액세스 토큰 발급
receipt_id로 결제 조회 API 호출- 조회된 금액과 DB에 저장된 주문 금액 대조
- 금액 일치 시 주문 완료 처리, 불일치 시 결제 취소
파라미터 상세
payload 파라미터
| application_id | 부트페이 관리자에서 발급받은 Application ID (필수) |
| price | 결제 금액 (필수) |
| order_name | 주문명 - 결제창에 표시됨 (필수) |
| order_id | 가맹점 고유 주문번호 (필수) |
| pg | PG사 선택: nicepay, kcp, tosspayments, danal 등 (필수) |
| method | 결제수단: card, phone, bank, vbank, easy_pay 등 (필수) |
| tax_free | 비과세 금액 (기본값: 0) |
user 파라미터
| id | 구매자 고유 ID |
| username | 구매자 이름 |
| phone | 구매자 연락처 (휴대폰 결제 시 필수) |
| 구매자 이메일 |
extra 파라미터
| open_type | 결제창 타입: iframe, redirect, popup |
| card_quota | 할부 개월수 (예: "0,2,3" - 일시불/2개월/3개월) |
| escrow | 에스크로 결제 여부 (true/false) |
| separately_confirmed | 분리승인 모드 - confirm 이벤트로 승인 제어 |
| display_success_result | 결제 성공 화면 표시 여부 |
| display_error_result | 결제 실패 화면 표시 여부 |