구독 기본

내용 변경

활성 계약도 금액·주기·구성을 끊김 없이 바꿔 이어가요.

활성 구독 계약의 내용을 변경해요. 상품 구성, 수량, 회차 수, 결제 금액​, 수령인 정보, 서비스 기간 등을 수정할 수 있어요. 바뀐 값만 보내면 나머지는 그대로 유지돼요.

API 엔드포인트

PUThttps://api.bootapi.com/v1/order_subscriptions/:idBasic Auth (supervisor)
금액을 바꾸는 두 가지 방법

price는 회차마다 청구되는 기준금액​​이에요. 계약 자체의 금액이 바뀐 것이라, 이미 잡혀 있는 결제예정 회차의 청구액까지 즉시 다시 계산​​되고 이후 회차도 이 금액으로 만들어져요.

일부 회차만 깎거나 더하고 싶다면 회차 금액 조정의 조정 항목을 쓰세요. 기준금액은 그대로 두고 한 회차·회차 범위·특정 회차부터 끝까지 중에 골라 가감해요.

요청 파라미터

파라미터 타입 필수 설명
id String 필수 구독 계약 ID (URL 경로)
product_id String 선택 변경할 상품 ID
product_option_id String 선택 변경할 상품 옵션 ID
order_name String 선택 주문명
price Integer 선택 회차별 결제 금액(기준금액). 0보다 커야 해요. 결제예정 회차부터 반영돼요
quantity Integer 선택 수량
total_subscription_duration Integer 선택 총 구독 회차 수
address_id String 선택 배송지 ID
username String 선택 수령인 이름
phone String 선택 수령인 연락처
email String 선택 수령인 이메일
use_free_trial Boolean 선택 무료 체험 사용 여부
free_trial_day Integer 선택 무료 체험 일수
service_start_at String 선택 서비스 시작일
service_end_at String 선택 서비스 종료일

코드 예제

const { BootpayCommerce } = require('@bootpay/backend-js')

const commerce = new BootpayCommerce({
    client_key: 'your-commerce-client-key',
    secret_key: 'your-commerce-secret-key',
    mode: 'production'
})

const response = await commerce.orderSubscription.update('687a1b2c3d4e5f6789012345', {
    quantity: 2,
    total_subscription_duration: 12,
    price: 45000
})
console.log(response)javascript

응답

성공 응답

{
  "id": "687a1b2c3d4e5f6789012345",
  "status": 1,
  "price": 45000,
  "updated_at": "2025-07-11T14:00:00Z"
}json

에러 코드

공통 에러

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

코드 메시지 대처 방법
ORDER_SUBSCRIPTION_NOT_FOUND 구독결제 건을 찾을 수 없어요. order_subscription_id를 확인해요
ORDER_SUBSCRIPTION_PAYMENT_DATE_INVALID 유효하지 않는 결제일이에요, 다른 일자로 선택해요. 다른 일자로 선택해요
ORDER_SUBSCRIPTION_PAYMENT_DATE_TODAY_UNCHANGEABLE 당일 결제 예정건은 변경할 수 없어요 다음날 이후로 변경해요
ORDER_SUBSCRIPTION_PRICE_INVALID 유효하지 않은 가격이에요. price를 0보다 큰 값으로 보내요
SUBSCRIPTION_ADJUSTMENT_NEGATIVE_PRICE 기본 결제 금액이 음수가 돼요. 회차 조정 금액을 함께 확인해요
price가 적용되는 범위

바뀐 기준금액은 결제예정 회차​​에 즉시 다시 계산돼 반영되고, 그 이후 회차도 이 금액으로 만들어져요. 이미 결제가 끝난 회차는 그대로예요. 관리자 화면에서 금액을 바꿀 때와 같은 동작이에요.

최종 청구액은 기준금액 + 배송비 + 회차 조정이라서, 회차 조정이 걸려 있으면 그만큼 더해지거나 빠져요. 어떤 회차에서든 최종 금액이 음수가 되면 변경이 거절돼요.