📘 사용자 매뉴얼

5. 요금제 관리

서비스가 고객에게 판매할 구독 요금제를 만들고 관리하는 화면입니다. 가격, 결제 주기(년·월·주·일·분), 첫 구독 할인, 상시 할인, 체험 기간, 자동연장 여부, 추가정보를 한곳에서 설정합니다.

🍎

쉽게 말하면 "이 서비스는 한 달에 9,900원, 첫 달은 무료"처럼 판매 상품을 정의하는 곳이 요금제 관리입니다.

함께 보기: 구독 관리 · 일반결제와 환불


5.1 요금제 관리 화면 열기

요금제 목록
요금제 목록

요금제는 두 곳에서 관리할 수 있습니다. 어느 쪽에서 만들든 결과는 같습니다.

화면 여는 방법 특징
전체 요금제 목록 왼쪽 메뉴 요금제 클릭 모든(또는 담당) 서비스의 요금제를 한 번에 보고 검색·필터·엑셀 다운로드
서비스 안의 요금제 탭 서비스 메뉴 → 서비스 클릭 → 아래쪽 "요금제" 카드 그 서비스의 요금제만 표시. 추가·수정 후 그 자리에서 바로 갱신
💡

참고: 시스템 관리자(SYSTEM_ADMIN)는 모든 서비스의 요금제를, 서비스 담당자(SERVICE_MANAGER)는 자신이 맡은 서비스의 요금제만 볼 수 있습니다. 담당이 아닌 서비스의 요금제 주소로 직접 들어가면 "없음" 화면이 표시됩니다.

5.1.1 목록에 보이는 정보

목록의 각 줄에는 다음이 표시됩니다.

컬럼 설명
서비스 그 요금제가 속한 서비스 이름
이름 요금제 표시 이름
정가 할인 전 가격. 상시 할인이 걸린 요금제는 취소선으로 표시(첫구독 할인만 있으면 취소선 없음)
체험 체험 일수(없으면 -)
첫구독 할인 없음 / 무료 / N원 할인 / N% 할인
첫 결제액 첫 구독 할인을 반영한 1회차 실제 결제 금액
상시할인 매 회차 할인(없으면 −)
정기 결제액 상시 할인을 반영한 2회차부터의 결제 금액
주기 결제 주기. 일·분 주기는 DAY(10일), MINUTE(5분)처럼 일수·분수를 함께 표시
상태 ACTIVE(신규 구독 가능) / ARCHIVED(신규 불가)
💡

참고: 첫 결제액·정기 결제액에 마우스를 올리면 "정가 − 할인 = 결제액"처럼 어떻게 계산됐는지 풀이가 뜹니다.

5.1.2 검색·정렬·필터

  • 검색: 위쪽 검색칸에 요금제명 일부를 입력하면 이름으로 걸러집니다.
  • 정렬: 표 머리글 중 이름 · 정가 · 상태를 클릭하면 오름/내림차순으로 정렬됩니다.
  • 필터(드롭다운 4종):
필터 내용
서비스 특정 서비스의 요금제만(시스템 관리자는 전체 서비스, 담당자는 담당 서비스만 표시)
요금제명 같은 이름의 요금제만(서비스를 먼저 고르면 그 서비스의 이름만 후보로 나옴)
주기 연 / 월 / 주 / 일 / 분
상태 활성(ACTIVE) / 보관(ARCHIVED)
🔗

함께 보기: 목록 위쪽 [엑셀] 버튼으로 현재 검색·필터 결과를 내려받을 수 있습니다(5.10 참고).


5.2 요금제 만들기

요금제 생성/수정 폼
요금제 생성/수정 폼
  1. 전체 요금제 목록에서 오른쪽 위 [요금제 생성], 또는 서비스 상세의 요금제 카드에서 [요금제 추가]를 누릅니다.
  2. 아래 항목을 채웁니다(자세한 설명은 5.3~5.5 참고).
  3. [저장]을 누릅니다.
  4. "저장되었습니다" 안내가 뜨고 목록으로 돌아갑니다. 새 요금제는 곧바로 ACTIVE 상태가 되어 구독을 받을 수 있습니다.

입력 항목:

항목 설명
서비스 (서비스 담당자 전용, 폼 첫 항목) 요금제를 만들 서비스 선택. 자신이 대표 담당자인 서비스만 목록에 나타납니다. 담당자는 여러 서비스의 대표가 될 수 있으므로 여기서 대상을 고릅니다
이름 요금제 표시 이름. 필수. 예: "스탠다드 월간"
가격(원) 정가. 1원~가격 상한(기본 900,000,000원 — 전체 설정의 "구독 요금제 가격 상한"에서 조정). 입력칸 라벨 옆에 현재 허용 범위가 표시되고, 범위를 벗어나게 타이핑하면 입력 즉시 범위 안으로 자동 보정됩니다(상한 초과 → 상한값으로 잘림). 그래도 범위 밖 값으로 저장을 시도하면 "가격은 1원~N원까지 입력할 수 있습니다" 경고 모달이 뜹니다. 예: 9,900
결제 주기 년 / 월 / 주 / 일 / 분 중 선택. "일"을 고르면 일수를 직접 입력(5.3 참고) — 일수를 비운 채 저장하면 페이지 이동 없이 "반복 일수를 입력해주세요" 안내 모달이 뜨고 입력 내용은 그대로 유지됩니다. "분"은 비운영(개발·스테이징) 환경에서만 보입니다(5.3 참고)
첫 구독 할인 없음 / 무료 / 할인 금액 / 할인율(5.4 참고)
상시 할인 없음 / 할인 금액 / 할인율(5.5 참고)
체험 제공 체크하면 체험 일수(1일 이상) 입력칸이 나타남. 체험 기간 동안은 결제 없이 이용
자동결제 안함 체크하면 첫 주기가 끝난 뒤 자동 연장 없이 만료
추가정보 고객 앱에 보여줄 설명을 "키 + 값"으로 자유롭게 추가(예: 용량 = 10GB). 행은 여러 개 추가/삭제 가능
💡

참고: 누가 어디서 만드나요? 요금제는 그 서비스의 대표 담당자만 만들 수 있습니다. 서비스 담당자(SERVICE_MANAGER)는 [요금제 생성] 폼 첫 항목에서 자신이 대표로 담당하는 서비스를 골라 생성합니다(여러 서비스의 대표라면 모두 선택지에 나옵니다). 대표로 지정된 서비스가 하나도 없으면 생성 폼 대신 안내 문구가 표시되고, 서비스 상세의 [요금제 추가] 버튼도 대표 담당자에게만 보입니다. 시스템 관리자(SYSTEM_ADMIN)는 제한 없이 특정 서비스 상세 화면의 요금제 카드에서 [요금제 추가]로 만듭니다.

참고: 폼의 숫자 입력칸(가격·할인 값·반복 일수·체험 일수·분 주기)은 숫자만 입력됩니다 — 문자·기호는 키 입력 자체가 차단되고, 한글 등 우회 입력도 해당 글자만 즉시 지워지며 앞서 입력한 숫자는 그대로 유지됩니다(분 주기만 음수 부호 입력이 가능하나 저장 시 거부됩니다).

팁: 폼 아래쪽에 금액 미리보기가 있어 가격·할인을 입력하면 "첫 결제 금액"과 "다음 회차부터" 금액이 실시간으로 계산되어 보입니다. 저장 전에 숫자가 맞는지 확인하세요.

주의: 추가정보에 값만 적고 키(이름)를 비워두면 저장이 안 됩니다. "추가정보 키를 입력하세요" 오류가 보이면 키 칸을 채워주세요. 빈 줄(키·값 모두 빈)은 그냥 무시되니 신경 쓰지 않아도 됩니다. 같은 키를 두 번 적으면 마지막 값이 저장됩니다.


5.3 결제 주기 정하기 (년·월·주·일·분)

결제 주기는 얼마마다 자동 결제할지를 정합니다.

선택 다음 결제일 계산
년 1년 뒤(예: 2026-03-01 → 2027-03-01)
월 1개월 뒤. 월말은 자동 보정(1/31 → 2/28 또는 2/29)
주 7일 뒤
일 입력한 일수(1일 이상)만큼 뒤. 예: 10을 넣으면 10일마다 결제
분 입력한 분수만큼 뒤. 자동연장 테스트용 — 비운영(개발·스테이징) 환경 전용, 최소 5분(5분 미만은 거부). 운영(prod) 환경에서는 옵션 자체가 보이지 않고, 생성도 거부됩니다.
💬

분(MINUTE) 주기 주의: 자동결제를 실행하는 스케줄러(정해진 주기마다 도는 서버 작업)가 기본 5분 간격이므로, 분 단위 구독도 스케줄러가 돌 때마다(약 5분 간격) 갱신됩니다. 더 빠른 관찰이 필요하면 테스트 환경에서 scheduler_interval_minutes(스케줄러 실행 간격, 분) 설정값을 낮추세요.

중요: 결제 주기는 요금제를 만들 때만 정할 수 있고, 나중에 수정할 수 없습니다. 다른 주기가 필요하면 새 요금제를 하나 더 만드세요. (이미 구독 중인 고객은 자기가 시작한 주기를 그대로 유지합니다.)

참고: 년·월·주를 고르면 일수/분수 입력칸이 없습니다. 월 주기는 월말 보정만 자동으로 처리됩니다. 일은 일수, 분은 분수만 입력하며, 두 값을 같이 넣을 수 없습니다.


5.4 첫 구독 할인 (무료 · 할인)

처음 구독하는 고객에게만 적용되는 1회차 한정 혜택입니다.

유형 첫 결제 금액 예시(정가 10,000원)
없음 정가 그대로 10,000원
무료 0원(완전 무료) 0원
할인 금액 정가 − 입력 금액 3,000원 할인 → 7,000원
할인율 정가 − (정가 × 비율) 30% 할인 → 7,000원
🍎

쉽게 말하면 "첫 달 무료" 또는 "첫 결제 30% 할인" 같은 가입 혜택을 여기서 만듭니다.

주의: 할인 금액·할인율을 고르면 값이 필수입니다. 할인 값은 1 이상이어야 하고, 할인율은 1~100% 사이여야 합니다. "없음/무료"를 고르면 값 칸은 비웁니다.


5.5 상시 할인 (정기 결제 할인)

매 회차(2회차부터) 계속 적용되는 할인입니다.

유형 정기 결제 금액 예시(정가 10,000원)
없음 정가 그대로 10,000원
할인 금액 정가 − 입력 금액 2,000원 할인 → 8,000원
할인율 정가 − (정가 × 비율) 20% 할인 → 8,000원
⚠️

중요: 첫 구독 할인과 상시 할인은 서로 겹치지 않습니다. 첫 결제는 첫 구독 할인만, 2회차부터는 상시 할인만 적용됩니다.

예) 정가 10,000원 · 첫 구독 할인 30% · 상시 할인 20% - 첫 결제: 7,000원 (첫 구독 할인만) - 다음 회차부터: 8,000원 (상시 할인만)

참고: 상시 할인에는 "무료"가 없습니다. 매번 0원이 되는 정기 결제는 의미가 없기 때문입니다. 할인율은 첫 구독 할인과 마찬가지로 1~100% 사이여야 합니다.


5.6 요금제 수정

  1. 목록 또는 서비스 요금제 탭에서 해당 요금제의 [수정]을 누릅니다.
  2. 이름·가격·첫 구독 할인·상시 할인·체험·자동결제 안함·추가정보를 바꿉니다.
  3. [저장]을 누릅니다. "저장되었습니다" 안내가 뜹니다.
⚠️

주의: 수정 화면에서 결제 주기(분·일수 포함)는 회색으로만 보이고 바꿀 수 없습니다. 주기를 바꾸려면 새 요금제를 만들어야 합니다(5.3 참고).

참고: 가격·할인을 바꿔도 이미 구독 중인 고객에게 즉시 소급되지 않고, 다음 결제(갱신)부터 새 금액이 적용됩니다. 자동결제 안함·추가정보 변경도 마찬가지로 새로 들어오는 구독부터 적용되며 기존 구독에는 소급되지 않습니다.

참고: 수정 권한은 서비스 담당자(자기 요금제) 또는 시스템 관리자에게 있습니다. 전체 요금제 목록에서 [수정]·[비활성화]·[삭제] 버튼은 서비스 담당자에게만 보이며, 시스템 관리자는 서비스 상세 화면을 통해 관리합니다.


5.7 비활성화(보관)와 활성화

요금제를 더 이상 새로 팔고 싶지 않지만 기존 구독은 유지하고 싶을 때 비활성화(보관) 합니다.

동작 버튼 결과
비활성화(보관) [비활성화] 상태가 ARCHIVED로 바뀜. 새 구독은 받지 않지만 기존 구독은 그대로 유지
활성화(재개) [활성화] 상태가 ACTIVE로 돌아가 다시 새 구독을 받음
  1. 비활성화하려면 ACTIVE 요금제의 [비활성화]를 누릅니다. 바로 보관되고 "보관되었습니다" 안내가 뜹니다.
  2. 다시 팔려면 ARCHIVED 요금제의 [활성화]를 누릅니다.
💡

팁: 구독이 걸려 있어 삭제가 안 되는 요금제는, 먼저 비활성화로 새 가입을 막고 기존 구독이 모두 만료된 뒤 삭제하세요.

참고: 비활성화·활성화 시 해당 서비스에 등록된 알림 주소가 있으면 서비스에 변경 알림이 발송됩니다(주소 미등록 시 조용히 무시).


5.8 요금제 삭제

  1. 요금제의 [삭제]를 누릅니다.
  2. "요금제를 삭제할까요?" 확인 창에서 [삭제]를 한 번 더 누릅니다.
  3. 성공하면 "삭제되었습니다" 안내가 뜹니다.
⚠️

중요: 구독이 한 건이라도 연결된 요금제는 삭제할 수 없습니다. (현재 이용 중이든, 이미 만료됐든 상관없이 한 건이라도 있으면 거부됩니다.) 이때는 "구독이 있는 요금제는 삭제할 수 없습니다. 보관(아카이브)을 사용하세요."라는 안내가 뜹니다.

처리 순서: [비활성화]로 새 구독을 막기 → 기존 구독이 모두 만료될 때까지 기다리기 → [삭제].


5.9 사용일 추가 (구독 기간 연장 보너스)

특정 요금제를 쓰는 고객들에게 무료로 며칠을 더 얹어주고 싶을 때 사용합니다(예: 서비스 장애 보상으로 전원 3일 연장).

  1. 요금제 줄에서 [사용일추가]를 누릅니다.
  2. 작은 입력 창이 뜨면 추가할 일수를 적습니다. 허용 범위는 1 ~ 최대 일수(기본 3650 — 전체 설정의 "사용일 추가 최대(일)"에서 조정)입니다. 문자는 입력 자체가 차단되고, 범위 밖 숫자는 [추가] 클릭 시 "1 ~ N 사이 숫자만 저장할 수 있습니다" 경고가 뜨며 저장되지 않습니다. Enter로 확인, Esc로 취소.
  3. 확인하면 그 요금제를 쓰는 **현재 이용 중인 구독들**의 만료일·다음 결제일이 입력한 일수만큼 뒤로 미뤄지고, 몇 개 구독에 적용됐는지("N개 구독에 N일이 추가되었습니다") 안내가 뜹니다.
사용일 추가 입력 모달
사용일 추가 모달 — 허용 범위가 안내되며 숫자만 입력할 수 있습니다(최대값은 전체 설정에서 조정)
💡

참고: 적용 대상은 이용 중인 구독(이용중·연장처리·미수)뿐입니다. 체험 중·정지·취소 예약·이미 만료된 구독은 영향을 받지 않으며, 구독 상태는 바뀌지 않습니다(만료일·다음 결제일만 미뤄짐). 보너스 기간 동안 미리 청구되지 않도록 다음 결제일도 함께 미뤄집니다. 또한 결과 확인 중인 결제(갱신 결제 타임아웃 등)가 남아 있는 구독은 이중청구 방지를 위해 이번 적용에서 제외됩니다 — 제외 건수는 감사 로그(plan.bonus_days의 skipped_pending_count)에 남으며, 정산이 자동 확정(최대 10분)된 뒤 다시 실행하면 적용됩니다.

주의: 추가 일수는 1일 이상, 전체 설정의 "사용일 추가 최대(일)" 이하(기본 3,650일)여야 합니다. 숫자가 아닌 값을 넣으면 "추가 일수를 숫자로 입력하세요", 숫자지만 범위를 벗어나면 "일수는 1~N 사이여야 합니다" 오류가 목록에 표시됩니다.

팁: 사용일 추가는 시스템 관리자와 서비스 담당자 모두 사용할 수 있습니다. (수정·비활성화·삭제와 달리 전체 요금제 목록에서도 버튼이 보입니다.)


5.10 엑셀로 내려받기

목록 위쪽의 [엑셀] 버튼을 누르면 현재 검색·필터가 적용된 요금제 목록이 엑셀 파일로 받아집니다. 서비스 / 요금제 / 결제주기 / 정가 / 첫 결제 / 정기 결제 / 상태 컬럼이 들어 있습니다. 결제주기 칸에는 일·분 주기일 경우 "DAY 10일", "MINUTE 5분"처럼 실제 일수·분수가 함께 적힙니다.

💡

참고: 엑셀은 현재 페이지뿐 아니라 필터에 걸린 전체 요금제를 내려받습니다(페이지 나눔 무시).


5.11 자주 묻는 질문

Q. 체험 기간과 "자동결제 안함"을 같이 켜도 되나요? 네. 같이 켜면 "체험 종료 → 첫 결제 1회 → 그 주기가 끝나면 자동 연장 없이 만료" 순으로 동작합니다.

Q. 가격을 바꿨는데 기존 고객 결제 금액이 그대로예요. 정상입니다. 변경한 가격은 다음 결제(갱신)부터 반영됩니다.

Q. 삭제가 안 됩니다. 구독이 연결된 요금제입니다. [비활성화]로 새 가입을 막고, 기존 구독이 모두 만료된 뒤 삭제하세요(5.8 참고).

Q. "분" 주기가 안 보여요. 분(MINUTE) 주기는 자동연장 테스트용이라 비운영(개발·스테이징) 환경에서만 보입니다. 운영 서버에서는 옵션이 숨겨집니다(5.3 참고).

Q. 시스템 관리자인데 전체 목록에 [수정] 버튼이 없어요. 정상입니다. 전체 요금제 목록의 [수정]·[비활성화]·[삭제]는 서비스 담당자에게만 보입니다. 시스템 관리자는 서비스 상세 화면에 들어가 그 서비스의 요금제를 관리하세요([사용일추가]는 두 역할 모두 목록에서 사용 가능).

🔗

함께 보기: 실제 결제가 어떻게 잡히고 환불되는지는 일반결제와 환불에서 확인하세요.