구독 계약

수수료 계산

실제로 해지하기 전에 위약금과 환불액을 미리 뽑아 고객에게 안내해요.

v1 API 상세 명세

구독 해지 전 예상 수수료와 환불 금액을 사전에 조회해요. 실제 해지를 진행하기 전 고객에게 안내하기 위한 용도예요.

API 엔드포인트

GEThttps://api.bootapi.com/v1/order_subscriptions/requests/ing/calculate_termination_fee?order_subscription_id=:order_subscription_idBasic Auth

요청 파라미터

파라미터 타입 필수 설명
order_subscription_id String 선택 구독 계약 ID (쿼리). 없으면 order_number가 필수예요
order_number String 선택 구독 주문번호. order_subscription_id가 없으면 필수예요
user_id String 선택 로그인한 회원 ID 또는 이 몰의 외부 회원 ID. 보내면 구독 소유자와 대조해요. Bootpay-User-JWT 헤더로 보내도 돼요

코드 예제

curl -X GET "https://api.bootapi.com/v1/order_subscriptions/requests/ing/calculate_termination_fee?order_subscription_id={order_subscription_id}" \
  -H "Authorization: Basic {base64(client_key:secret_key)}" \
  -H "Content-Type: application/json"bash

응답

{
  "termination": {
    "order_subscription_id": "687a1b2c3d4e5f6789012345",
    "use_termination": true,
    "use_termination_approval": true,
    "remaining_duration": 3,
    "remaining_price": 90000,
    "termination_fee": 30000,
    "last_bill_refund_price": 15000,
    "final_fee": 15000,
    "final_tax_free": 0,
    "price": 30000,
    "service_end_at": "2025-08-31T23:59:59+09:00",
    "is_unlimited": false
  },
  "has_pending_request": false
}json

응답 파라미터

파라미터 타입 설명
termination Object 해지 계산 결과
  └─ order_subscription_id String 구독 계약 ID
  └─ remaining_duration Integer 남은 회차 수 (무제한 회차면 null)
  └─ remaining_price Number 남은 회차 금액
  └─ termination_fee Number 예상 해지 수수료
  └─ last_bill_refund_price Number 마지막 회차 환불 예상 금액
  └─ final_fee Number 최종 정산 금액 (termination_fee − last_bill_refund_price). 양수면 추가 결제, 음수면 환불
  └─ final_tax_free Number 최종 정산 금액 중 비과세
  └─ service_end_at String 서비스 종료 예정일
  └─ is_unlimited Boolean 무제한 회차 계약 여부
has_pending_request Boolean 처리 대기 중인 요청이 있는지

해지 요청을 보낼 때는 여기서 받은 termination_fee·last_bill_refund_price·final_fee 를 그대로 넣어요.

에러 코드

공통 에러

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

코드 메시지 대처 방법
ORDER_SUBSCRIPTION_NOT_FOUND 구독결제 건을 찾을 수 없어요. order_subscription_id를 확인해요
ORDER_SUBSCRIPTION_TERMINATE_UNABLE 이미 해지되었거나 해지할 수 없는 구독 상태예요 구독 상태를 확인해요

이 API는 조회 전용이에요. 실제 해지는 해지 요청 API를 사용해요.