활성 구독 계약의 내용을 변경해요. 결제 금액, 결제 주기, 상품 구성 등을 수정할 수 있어요.
API 엔드포인트
PUT
https://api.bootapi.com/v1/order_subscriptions/:idBasic Auth요청 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
String | 필수 | 구독 계약 ID (URL 경로) |
price |
Integer | 선택 | 변경할 결제 금액 |
tax_free_price |
Integer | 선택 | 변경할 면세 금액 |
products |
Array | 선택 | 변경할 상품 목록 |
products[].product_id |
String | 선택 | 상품 ID |
products[].quantity |
Integer | 선택 | 수량 |
reason |
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', {
price: 39900,
reason: '상위 플랜으로 업그레이드'
})
console.log(response)javascriptfrom bootpay_backend import BootpayCommerce
commerce = BootpayCommerce(
client_key='your-commerce-client-key',
secret_key='your-commerce-secret-key',
mode='production'
)
response = commerce.order_subscription.update(
'687a1b2c3d4e5f6789012345',
price=39900,
reason='상위 플랜으로 업그레이드'
)
print(response)pythonuse Bootpay\ServerPhp\BootpayCommerceApi;
$commerce = new BootpayCommerceApi("your-commerce-client-key", "your-commerce-secret-key");
$response = $commerce->orderSubscription->update('687a1b2c3d4e5f6789012345', [
'price' => 39900,
'reason' => '상위 플랜으로 업그레이드'
]);
print_r($response);phpimport kr.co.bootpay.store.BootpayStore;
import kr.co.bootpay.store.model.request.TokenPayload;
TokenPayload tp = new TokenPayload("your-commerce-client-key", "your-commerce-secret-key");
BootpayStore commerce = new BootpayStore(tp);
HashMap<String, Object> params = new HashMap<>();
params.put("price", 39900);
params.put("reason", "상위 플랜으로 업그레이드");
String response = commerce.orderSubscription.update("687a1b2c3d4e5f6789012345", params);
System.out.println(response);javacommerce = BootpayStore::Api.new('your-commerce-client-key', 'your-commerce-secret-key')
response = commerce.order_subscription_update(
'687a1b2c3d4e5f6789012345',
price: 39900,
reason: '상위 플랜으로 업그레이드'
)
puts responserubycommerce := bootpay.NewCommerceApi("your-commerce-client-key", "your-commerce-secret-key")
response, err := commerce.OrderSubscription.Update("687a1b2c3d4e5f6789012345", bootpay.OrderSubscriptionUpdateParams{
Price: 39900,
Reason: "상위 플랜으로 업그레이드",
})
fmt.Println(response)gousing Bootpay.Commerce;
var commerce = new BootpayCommerceApi("your-commerce-client-key", "your-commerce-secret-key");
var response = await commerce.OrderSubscription.Update("687a1b2c3d4e5f6789012345", new {
price = 39900,
reason = "상위 플랜으로 업그레이드"
});
Console.WriteLine(response);csharp응답
성공 응답
{
"id": "687a1b2c3d4e5f6789012345",
"status": 1,
"price": 39900,
"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 |
당일 결제 예정건은 변경할 수 없어요 | 다음날 이후로 변경해요 |
변경된 금액은 다음 결제 회차부터 적용돼요. 현재 회차의 결제 금액을 변경하려면 금액 조정을 사용해요.
