고객 또는 외부 시스템에서 요청한 결제 취소 요청을 관리자가 거절하는 API예요. 취소 요청이 내부 정책, 거래 조건, 결제 상태 등의 사유로 승인될 수 없는 경우 사유와 함께 거절 처리해요.
API 엔드포인트
PUT
https://api.bootapi.com/v1/order/cancel/:id/rejectBasic Auth이 API는 관리자(supervisor) 권한이 필요해요. 일반 사용자 토큰으로는 호출할 수 없어요.
요청 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
order_cancel_request_history_id |
String | 필수 | 취소 요청 고유 번호 (URL 파라미터) |
message |
String | 필수 | 관리자 거절 메시지 (사용자에게 전달됨) |
거절 메시지는 사용자에게 전달되므로 명확하고 이해하기 쉽게 작성해요.
코드 예제
const { BootpayCommerce } = require('@bootpay/backend-js');
const commerce = new BootpayCommerce({
client_key: '{client_key}',
secret_key: '{secret_key}'
});
const response = await commerce.orderCancel.reject({
order_cancel_request_history_id: '687a1b2c3d4e5f6789012345',
message: '환불 정책에 따라 취소가 불가합니다.'
});
console.log(response);javascriptfrom bootpay_backend.commerce import BootpayCommerce
commerce = BootpayCommerce('{client_key}', '{secret_key}')
response = commerce.order_cancel.reject({
'order_cancel_request_history_id': '687a1b2c3d4e5f6789012345',
'message': '환불 정책에 따라 취소가 불가합니다.'
})
print(response)pythonuse Bootpay\ServerPhp\BootpayCommerceApi;
$commerce = new BootpayCommerceApi('{client_key}', '{secret_key}');
$response = $commerce->orderCancel->reject([
'order_cancel_request_history_id' => '687a1b2c3d4e5f6789012345',
'message' => '환불 정책에 따라 취소가 불가합니다.'
]);
print_r($response);phpimport kr.co.bootpay.store.BootpayStore;
import kr.co.bootpay.store.model.request.TokenPayload;
TokenPayload tp = new TokenPayload("{client_key}", "{secret_key}");
BootpayStore commerce = new BootpayStore(tp);
HashMap<String, Object> params = new HashMap<>();
params.put("order_cancel_request_history_id", "687a1b2c3d4e5f6789012345");
params.put("message", "환불 정책에 따라 취소가 불가합니다.");
HashMap<String, Object> response = commerce.orderCancel.reject(params);
System.out.println(response);javacommerce = BootpayStore::Api.new('{client_key}', '{secret_key}')
response = commerce.order_cancel_reject(
order_cancel_request_history_id: '687a1b2c3d4e5f6789012345',
message: '환불 정책에 따라 취소가 불가합니다.'
)
puts responserubyimport "github.com/bootpay/backend-go/v2"
commerce := bootpay.NewCommerceApi("{client_key}", "{secret_key}")
response, err := commerce.OrderCancel.Reject(bootpay.OrderCancelRejectParams{
OrderCancelRequestHistoryId: "687a1b2c3d4e5f6789012345",
Message: "환불 정책에 따라 취소가 불가합니다.",
})
fmt.Println(response)gousing Bootpay.Commerce;
var commerce = new BootpayCommerceApi("{client_key}", "{secret_key}");
var response = await commerce.OrderCancel.Reject(new {
order_cancel_request_history_id = "687a1b2c3d4e5f6789012345",
message = "환불 정책에 따라 취소가 불가합니다."
});
Console.WriteLine(response);csharp응답
성공 응답
{
"id": "687a1b2c3d4e5f6789012345",
"order_id": "68707c59b0eacea5cd974efd",
"status": 2,
"rejected_at": "2025-07-11T03:30:00Z",
"rejected_message": "환불 정책에 따라 취소가 불가합니다."
}json에러 코드
공통 에러
인증·권한 관련 에러는 에러 코드표를 참고해요.
| 코드 | 메시지 | 대처 방법 |
|---|---|---|
ORDER_CANCEL_REQUEST_NOT_FOUND |
취소 요청 정보가 없어요. | cancel_request_id를 확인해요 |
ORDER_CANCEL_REQUEST_REJECT_UNABLE |
이미 취소가 처리 되었거나 혹은 다른 상태로 변경되어 취소 요청 철회가 불가능한 요청이에요. | 요청 상태를 확인해요 |
ORDER_CANCEL_REQUEST_REJECT_CRITICAL_ERROR |
중대한 오류로 인해 취소 철회요청을 하지 못했어요. 부트페이 관리자에서 주문 정보에서 확인해요. | 관리자에 문의해요 |
