구독

구독 용어 사전

같은 승인이라도 가입 단계와 운영 단계에서 뜻이 달라요.

구독 용어는 가입 단계​​와 운영 단계​​를 나눠서 읽어야 헷갈리지 않아요. 같은 "승인"이라도 가입 단계의 승인은 신청을 받아들여 구독을 시작시키는 것이고, 운영 단계의 승인은 멈춰 있던 구독을 다시 돌리는 재활성화예요.

여기서는 상태를 가리키는 말(해지·만료·일시정지)과 동작을 가리키는 말(승인·차단·해지 처리)을 갈라서 정리해요. 둘을 구분해 두면 웹훅으로 들어오는 이벤트를 어디에 반영할지도 단순해져요.

1상태 용어

구독 계약이 지금 어떤 상태인지를 가리키는 말이에요. 전체 상태 코드는 구독 개요에 있어요.

용어 의미 되돌릴 수 있나요
구독 중 정상적으로 회차 결제가 진행 중이에요. —
일시정지 결제를 잠시 멈춘 상태예요. 예 — 재개할 수 있어요
해지 구독 기간 중 중도 종료됐어요. 위약금·수수료가 발생할 수 있어요. API로는 아니요 — 부트페이 관리자에서만 복구할 수 있어요
만료 약정한 기간이 자연스럽게 끝났어요. 아니요

해지와 만료는 다릅니다. 해지는 기간을 못 채우고 끊는 것이고, 만료는 정해진 회차를 다 채우고 끝나는 것이에요. 렌탈·리스에서는 이 차이가 위약금 발생 여부를 가르기 때문에 특히 중요해요.

2요청 용어

고객이 구독에 대해 넣는 변경 요청이에요. 템플릿 설정에 따라 자동 승인되거나 관리자 승인을 거쳐 처리돼요.

용어 의미
해지 요청 구독을 중도 종료해 달라는 요청이에요.
구매(인수) 남은 구독 기간을 일괄 결제하고 소유권을 가져가요. 렌탈·리스에서 써요.
이전(승계) 구독 계약을 다른 사용자에게 넘겨요.

3동작 용어 — 가입 단계 vs 운영 단계

가장 많이 헷갈리는 지점이에요. 가입 시점의 판단과 운영 시점의 판단을 같은 단어로 부르지 않는 것​​이 핵심이에요.

가입 단계 (아직 시작 전) 운영 단계 (이미 돌고 있음)
받아들이기 activate — 대기 계약을 승인해 시작시켜요 resume — 멈춘 구독을 다시 켜요
막기 reject — 신청서를 반려해요 terminate — 돌고 있는 구독을 관리자가 끝내요

reject와 관리자 terminate는 결과적으로 둘 다 서비스 이용을 막지만 맥락이 달라요. reject는 계약이 아직 살아나지 않은 상태에서 시작을 막는 것이고, 관리자 terminate는 이미 살아 있는 계약을 강제로 끝내는 것이에요.

4자주 묻는 용어

purchase

API 경로의 purchase(/requests/ing/purchase, /:id/purchase)는 중도인수 — 돌고 있는 구독의 남은 기간을 일괄 결제하고 소유권을 가져가는 요청이에요. 구독을 새로 시작하는 신청이 아니에요. 새 구독은 구독 만들기처럼 체크아웃 결제로 생겨요. 인수 요청에서 다뤄요.

approve

PUT /v1/order_subscriptions/:id/approve — 대기 계약을 승인해 활성 구독으로 만드는 동작이에요. 문서에서는 신규 승인으로 불러요. 멈춘 구독을 다시 켜는 것은 재개(resume)로 따로 불러요.

reject

가입 단계의 반려예요. 이미 진행 중인 구독을 차단하는 의미로는 쓰지 않아요.

activate

대기 상태의 계약을 승인해 활성 구독으로 올리는 동작이에요. 신규 승인에서 다뤄요. 정지된 구독을 되돌리는 것은 activate 가 아니라 재개예요.

block

별도 block API는 없어요. 구독 거절(PUT /:id/reject)은 승인 대기·보류 상태의 계약만 거절할 수 있고, 이미 돌고 있는 구독을 강제로 끊으려면 관리자 해지를 써요.

terminate

구독을 종료 상태로 보내요. 고객이 스스로 하는 해지와 관리자가 하는 종료를 모두 포함하므로, 누가 요청했는지를 함께 봐야 해요. 해지에서 다뤄요.

cycle

한 번의 청구 회차​​를 뜻해요. 계약 전체(OrderSubscription)와 회차 하나를 구분하지 않으면 과금 분석이 꼬이기 쉬워요. 회차 조회에서 다뤄요.

plan

URL의 /subscription/plan/*은 계약을 설계하는 단계명​​으로만 써요. 실체는 네 계층(구독 템플릿 · 구독 정책 · 구독 상품 · 회차 가격표)이라, 본문과 라벨에서는 "플랜" 대신 각 엔티티명을 써요. 자세한 매핑은 구독 모델 구조에 있어요.

관련 문서