결제를 단건 조회합니다. 다량의 결제내역을 조회하는 API는 지원하지 않습니다.
PG 결제창을 통해 결제가 진행될 경우 결제 후 검증 과정이 필요합니다. 이는 결제 정보의 위변조 가능성을 없애고 보안을 높이기 위함입니다. 클라이언트의 결제 요청 정보는 암호화되어 전송되지만, 웹 브라우저 상의 초기 값들은 여전히 위변조될 수 있습니다. 따라서 결제가 완료된 후에는 서버에서 이 정보를 다시 확인하는 과정이 필요합니다.
사용하는 상황
아래와 같은 상황에서 결제 조회 API를 사용할 수 있습니다.
분리 승인 사용시
클라이언트에서 confirm 이벤트 수신 후 받은 결제정보 data.receipt_id 를 가맹점 서버로 전송합니다. 전송받은 receipt_id 값을 기반으로 결제단건조회 API로 결제를 조회합니다. 결제 단건조회 API가 응답한 데이터 중 price 결제 요청한 값과 승인 전 상태의 값이 일치하는지 확인하고, status 결제가 승인대기 전 상태 결제값 status === 2 인지 확인합니다.
분리 승인을 사용하지 않는 경우
클라이언트에서 done 이벤트 수신 후 받은 결제정보 data.receipt_id 를 가맹점 서버로 전송합니다. 전송받은 receipt_id 값을 기반으로 결제단건조회 API로 결제를 조회합니다. 결제 단건조회 API가 응답한 데이터 중 price 결제 요청한 값과 승인된 값이 일치하는지 확인하고, status 결제가 실제로 승인되고 결제값의 상태가 status === 1 인지 확인합니다.
SDK 설치하기
먼저 연동할 서버사이드 SDK를 선택해주세요.
다음과 같이 결제를 조회할 수 있습니다.
요청 파라미터
- receipt_id필수string부트페이에서 부여하는 영수증 ID로 고유한 값을 가집니다. 이 값은 데이터베이스에 반드시 저장되어야 합니다.
응답 파라미터
- receipt_idstring부트페이에서 부여하는 영수증 ID로 고유한 값을 가집니다. 결제 요청 시 생성되며, confirm, done, error 이벤트 및 관리자 페이지의 결제내역에서 확인할 수 있습니다. 데이터베이스에 반드시 저장해야 합니다.
- order_idstring결제 요청 시 가맹점에서 보낸 주문 ID입니다. 중복 결제를 방지하기 위해 사용될 수 있습니다.
- pricenumber결제 요청 및 승인된 금액입니다.
- tax_freenumber비과세 요청 및 승인된 금액입니다. 전체 price 중 비과세 금액만 지정합니다.
- cancelled_pricenumber결제 취소된 금액입니다. 최초 결제 완료 시에는 0원으로 표시됩니다.
- cancelled_tax_freenumber비과세 취소된 금액입니다. 최초 결제 완료 시에는 0원으로 표시됩니다.
- order_namestring결제 요청 시 전달된 판매 상품명입니다.
- company_namestring부트페이에 등록된 가맹점명입니다.
- gateway_urlstringPG로 요청된 부트페이 URL입니다. 이 값은 부트페이 내부적으로 사용되며, PG사에 referer로 전달됩니다.
- metadatahash결제 요청 시 전달된 메타데이터입니다. 전송된 데이터는 그대로 반환됩니다.
- sandboxbooleantrue는 테스트 결제 모드, false는 실제 결제 모드입니다.
- pgstring결제가 완료된 PG사의 이름입니다.
- methodstring결제에 사용된 결제 수단의 이름입니다.
- method_symbolstring결제 수단의 영문 심볼입니다.
- method_originstring결제 완료 시 원본 결제 수단명입니다.
ex) 카드자동결제는 method_origin이 카드자동, method가 카드로 표시됩니다. - method_origin_symbolstring원본 결제 수단의 영문 심볼입니다.
- currencystring결제 완료 시 사용된 통화입니다. 예: KRW는 원화, USD는 달러입니다.
- purchased_atdate결제 완료 시간입니다. * PG에서 제공하는 데이터입니다.
- cancelled_atdate결제 취소 시간입니다. * PG에서 제공하는 데이터입니다.
- requested_atdate결제가 최초 요청된 시간입니다. ISO 8601형식으로 제공됩니다. * 부트페이 서버 시간 기준입니다.
- receipt_urlstringPG사 또는 부트페이에서 제공하는 영수증 URL입니다.
- statusnumber현재 결제 상태입니다.
- -61현금영수증 발행 취소가 실패한 상태입니다.
- -60현금영수증 발행이 실패한 상태입니다.
- -40자동결제 빌링키 발급이 실패한 상태입니다.
- -11자동결제 빌링키 발급이 취소된 상태입니다.
- -4결제 요청이 실패된 상태입니다.
- -2결제 승인 실패로 오류가 발생된 상태입니다.
- 0결제가 최초로 생성되어 요청이 대기 중인 상태입니다.
- 1결제가 완료된 상태입니다. 부분취소가 된 상태에서 전체금액이 취소되지 않았다면, 결제완료 상태입니다.
- 2결제 승인 중인 상태입니다. 분리 옵션으로 클라이언트 또는 서버 승인 전의 상태입니다.
- 4PG로 결제 승인이 요청된 상태이며, 부트페이 내부에서 사용되는 값입니다.
- 5가상계좌 발급 및 입금 대기 상태입니다.
- 11자동결제를 위한 빌링키 발급이 완료된 상태입니다.
- 12본인 인증이 완료된 상태입니다.
- 20결제 취소가 된 상태입니다. 결제된 금액이 전액 취소되면 결제 취소 상태가 됩니다.
- 40자동결제를 위한 빌링키 발급 준비 상태입니다.
- 41자동결제 빌링키 발급 이전 상태입니다. 생체인증, 비밀번호, 위젯 시나리오에서 서버승인 전 상태이기도 합니다.
- 42자동결제를 위한 빌링키 발급 성공 상태입니다.
- 50본인 인증 시작 준비 상태입니다.
- 60현금영수증을 별도 발행 시, 현금영수증 발행이 완료된 상태입니다.
- 61현금영수증 별도 발행 시, 현금영수증 발행이 취소된 상태입니다.
- escrow_datahash에스크로 결제 정보입니다. 에스크로 결제가 아닐 경우 이 값은 없습니다.
- statusnumber에스크로 진행 상태입니다.
- escrow_status_localestring에스크로 진행 상태를 요청 언어로 표시된 값입니다.
- shipping_started_atdate배송 시작 시간입니다.
- receipt_confirmed_atdate구매자가 배송을 확인하고 구매 승인한 시간입니다.
- card_datahash카드 결제 시 전달되는 데이터입니다.
- tidstringPG에서 발급한 결제 고유 식별 ID입니다. 문의 시 이 값을 사용하세요.
- card_approve_nostring카드사에서 전달하는 승인 번호입니다.
- card_nostring결제 승인 시 마스킹 처리된 카드 번호입니다.
- card_quotastring구매자가 선택한 카드 할부 개월 수입니다.범위: 00, 02, 03, 04, 05, 06, 07, 08 등
- card_company_codestringPG사에서 정의한 카드사 코드입니다.
- card_companystring결제 완료된 카드사의 이름입니다.
- card_interest일부 PG만 제공string카드 무이자 할부 개월 수입니다.
- card_type일부 PG만 제공string결제 완료된 카드의 종류입니다.
0: 신용카드
1: 체크카드 - receipt_url다날, 나이스페이만 제공stringPG에서 제공하는 카드 영수증 URL입니다.
- card_owner_type일부 PG만 제공string카드 소유자 유형입니다.
1: 개인카드
2: 법인카드
3: 해외카드 - point일부 PG만 제공number결제 시 사용된 카드사 포인트 금액입니다.
- cancelled_point일부 PG만 제공number결제 취소된 누적 포인트입니다.
- coupon일부 PG만 제공number결제 시 사용된 카드사 쿠폰 금액입니다.
- cancelled_coupon일부 PG만 제공number결제 취소된 누적 쿠폰 금액입니다.
- cancel_tid일부 PG만 제공string결제 취소 시 PG사에서 발급한 고유 식별 ID입니다.
- phone_datahash휴대폰 결제 시 전달되는 데이터입니다.
- tidstringPG에서 발급한 결제 고유 식별 ID입니다. 문의 시 이 값을 사용하세요.
- auth_no일부 PG만 제공string휴대폰 소액결제 승인 번호입니다.
- phone일부 PG만 제공string소액결제된 휴대폰 번호입니다.
- receipt_url나이스페이 제공stringPG에서 제공하는 영수증 URL입니다.
- bank_datahash실시간 계좌이체 시 전달되는 데이터입니다.
- tidstringPG에서 발급한 결제 고유 식별 ID입니다. 문의 시 이 값을 사용하세요.
- bank_codestring공통 은행 코드입니다.
- bank_namestring계좌이체가 진행된 은행 이름입니다.
- bank_account일부 PG만 제공string계좌이체된 계좌 번호입니다.
- bank_usernamestring계좌이체된 계좌의 계좌주 이름입니다.
- cash_receipt_typestring계좌이체 시 발행된 현금영수증 유형입니다.
0 : 소득공제
1 : 지출증빙 - cash_receipt_nostring발행된 현금영수증 번호입니다.
- cash_receipt_tidstringPG사에서 발급한 고유 현금영수증 TID입니다.
- receipt_url나이스페이 제공stringPG에서 제공하는 영수증 URL입니다.
- cash_receipt_url나이스페이 제공stringPG에서 제공하는 현금영수증 발행 URL입니다.
- vbank_datahash가상계좌 발급 또는 결제 완료 시 전달되는 데이터입니다.
- tidstringPG에서 발급한 결제 고유 식별 ID입니다. 문의 시 이 값을 사용하세요.
- bank_namestring가상계좌가 발급된 은행 이름입니다.
- bank_accountstring입금해야 할 가상계좌 번호입니다.
- bank_usernamestring가상계좌의 계좌주 이름입니다. 보통 가맹점명이나 PG사 대표 이름으로 노출됩니다.
- expired_atdate가상계좌 입금 기한입니다. 이 시간 이후에는 계좌번호로 입금이 불가능합니다.
- sender_name일부 PG만 제공string입금 완료 후 입금자명으로 통지됩니다.
- cash_receipt_typestring계좌이체 시 발행한 현금영수증 유형입니다.
0 : 소득공제
1 : 지출증빙 - cash_receipt_nostring발행된 현금영수증 번호입니다.
- cash_receipt_tidstringPG사에서 발급한 고유 현금영수증 TID입니다.
- receipt_url나이스페이 제공stringPG에서 제공하는 영수증 URL입니다.
- cash_receipt_url나이스페이 제공stringPG에서 제공하는 현금영수증 발행 URL입니다.
- kakao_money_data카카오페이 카드결제 시 card_data로 전달됩니다hash카카오머니 결제 시 전달되는 데이터입니다.
- tidstringPG에서 발급한 결제 고유 식별 ID입니다. 문의 시 이 값을 사용하세요.
- naver_point_data네이버페이 카드결제 시 card_data로 전달됩니다hash네이버페이 포인트 결제 시 전달되는 데이터입니다.
- tidstringPG에서 발급한 결제 고유 식별 ID입니다. 문의 시 이 값을 사용하세요.
- payco_point_data페이코 카드결제 시 card_data로 전달됩니다hash페이코 포인트 결제 시 전달되는 데이터입니다.
- tidstringPG에서 발급한 결제 고유 식별 ID입니다. 문의 시 이 값을 사용하세요.
- toss_point_data토스 카드결제 시 card_data로 전달됩니다hash토스 포인트 결제 시 전달되는 데이터입니다.
- tidstringPG에서 발급한 결제 고유 식별 ID입니다. 문의 시 이 값을 사용하세요.