구독 운영

구독 거절

대기 중인 구독 신청을 거절해요.

v1 API 상세 명세

대기 상태(status=contract_requested_completed)의 구독 계약을 거절하는 API예요. 거절된 구독은 거절(status=rejected) 상태로 변경되며, 더 이상 진행되지 않아요.

API 엔드포인트

PUThttps://api.bootapi.com/v1/order_subscriptions/:id/rejectBasic Auth (supervisor 권한 필요)
관리자 권한 필요

이 API는 Basic 인증과 supervisor:order_subscription_reject scope가 필요해요.

거절 vs 해지

거절​​은 승인 전 대기 상태의 구독을 취소하는 것이고, 해지​​는 이미 진행 중인 구독을 중단하는 것이에요. 진행 중인 구독을 중단하려면 해지 요청을 사용해요.

거절 시나리오

  1. 구독 요청 → 계약 대기(status=contract_requested_completed) 상태로 생성
  2. 관리자가 거절 API 호출 (사유 입력)
  3. 거절(status=rejected) 상태로 변경 — 선결제된 첫 결제는 취소되고 잡힌 재고는 복구돼요
  4. 고객에게 거절 알림 발송 (설정에 따라), subscription.rejected 웹훅 발송

요청 파라미터

파라미터 타입 필수 설명
order_subscription_id String 필수 구독 계약 고유 번호 (URL 파라미터). external_uid 로는 찾지 못해요
reason String 선택 거절 사유

코드 예제

# 부트페이 ID로 거절
curl -X PUT "https://api.bootapi.com/v1/order_subscriptions/{order_subscription_id}/reject" \
  -H "Authorization: Basic {base64(client_key:secret_key)}" \
  -H "Content-Type: application/json" \
  -d '{
    "reason": "재고 부족으로 인한 구독 거절"
  }'bash

응답

성공 응답

{
  "order_subscription_id": "687a1b2c3d4e5f6789012345",
  "status": "rejected",
  "approval_status": "approval_rejected",
  "approval_at": "2025-07-11T14:30:00+09:00",
  "approval_reason": "재고 부족으로 인한 구독 거절"
}json

응답 파라미터

파라미터 타입 설명
order_subscription_id String 구독 계약 고유 ID
status String 변경된 구독 상태 (rejected: 구독 거절)
approval_status String 승인 상태 (approval_rejected: 승인 거절)
approval_at String 거절 일시
approval_reason String 거절 사유

에러 코드

공통 에러

인증·권한 관련 에러는 에러 코드표를 참고해요.

코드 메시지 대처 방법
ORDER_SUBSCRIPTION_NOT_FOUND 구독결제 건을 찾을 수 없어요. order_subscription_id를 확인해요
ORDER_SUBSCRIPTION_ALREADY_PROCESSED 이미 처리된 구독이에요. 승인 대기·보류 상태인 계약만 거절할 수 있어요