결제 취소하기
결제가 완료된 건을 취소할 수 있습니다.
취소 완료 시 고객이 결제한 금액은 환불 처리됩니다.
취소 기한이 지나 요청이 거절될 경우, 가맹점이 고객에게 직접 입금해서 환불처리를 하셔야 합니다. 각 PG 및 결제 수단마다 취소 방법과 정책이 다르므로, 취소 정책을 확인하시기 바랍니다.
1
결제 수단별 취소 정책
휴대폰부분 취소 불가
카드결제부분 취소 가능
계좌이체부분 취소 가능
가상계좌부분 취소 일부 가능
네이버페이부분 취소 가능
카카오페이부분 취소 가능
페이코부분 취소 가능
2
취소 전 PG 설정
KCP결제 서버 IP 등록 필요
3
취소 API 호출
서버에서 부트페이 취소 API를 호출하여 결제를 취소합니다. 오른쪽 코드 예제를 참고하세요.
요청 파라미터
- receipt_idstring취소할 부트페이 고유 영수증 ID입니다.
- cancel_pricenumber기본값 0취소할 금액입니다. 지정하지 않거나 0원을 입력하면 전액 취소됩니다.
- cancel_tax_freenumber기본값 0취소할 비과세 금액입니다. 지정하지 않을 경우 cancel_price와 전체 금액 비율로 자동 계산됩니다.
- cancel_idstring가맹점에서 사용하는 취소 ID입니다. 중복된 cancel_id 사용 시 에러가 발생합니다.
- cancel_usernamestring취소자명입니다. 고객 지원을 위해 사용됩니다.
- cancel_messagestring취소 사유입니다. 고객 지원을 위해 기록됩니다.
- refundhash가상계좌 환불 시 환불받을 은행 정보입니다.
- bank_accountstring환불 받을 계좌번호입니다.
- bank_usernamestring환불 받을 계좌주 이름입니다.
- bank_codestringPG사에서 정의한 은행 코드나 은행명입니다. 예: 국민, 우리.
- items페이코 전용array<hash>페이코 PG를 사용하는 부분 취소 시 취소할 상품 정보입니다.
* 일반 PG에서는 해당 사항 없습니다.
4
응답 결과 처리
취소 API 응답으로 취소된 결제 정보를 확인할 수 있습니다.
응답 데이터 예시
- 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입니다. 문의 시 이 값을 사용하세요.