좌석 기반 청구를 사용하면 고객이 필요한 사용자, 팀원 또는 라이선스 수를 기준으로 요금을 부과할 수 있습니다. 이는 팀 협업 도구, 엔터프라이즈 소프트웨어 및 B2B SaaS 제품의 표준 가격 모델입니다.
Implementation Tutorial
단계별 가이드 및 코드 예제.
Add-ons Documentation
좌석 기반 청구를 지원하는 애드온 시스템에 대해 알아보세요.
Subscription Management
좌석 기반 구독 및 요금제 변경을 관리하세요.
Webhooks
구독 웹후크를 통해 좌석 변경을 추적하세요.
좌석 기반 청구란?
좌석 기반 청구(사용자별 또는 좌석별 가격 책정이라고도 함)는 고객이 제품에 접근하는 사용자 수에 따라 요금을 부과합니다. 고정 요금 대신 팀 규모에 따라 가격이 조정됩니다.일반적인 사용 사례
좌석 기반 가격 책정의 이점
귀하의 비즈니스를 위해:- 고객이 성장함에 따라 수익이 자연스럽게 증가
- 고객이 예산을 세울 수 있는 예측 가능한 가격
- 개인에서 팀, 기업으로의 명확한 업그레이드 경로
- 팀이 확장됨에 따라 더 높은 고객 생애 가치
- 사용하는 만큼만 지불
- 비용을 이해하고 예측하기 쉬움
- 필요에 따라 사용자 추가/제거의 유연성
- 팀 규모에 맞는 공정한 가격
Dodo Payments에서의 좌석 기반 청구 작동 방식
Dodo Payments는 부가 기능 시스템을 사용하여 좌석 기반 청구를 구현합니다. 작동 방식은 다음과 같습니다:아키텍처 개요
팀 프로 구독은 월 15를 더 내야 합니다. 예: 팀이 15석이 필요할 경우:- 기본 요금제: $99/월 (5석 포함)
- 애드온: 추가 10석 × 150/월
- 총 월 비용: 150 = 15석에 대해 $249
주요 구성 요소
가격 책정 전략
비즈니스에 맞는 좌석 기반 가격 책정 전략을 선택하세요:전략 1: 기본 + 좌석별 부가 기능
기본 요금제에 정해진 수의 좌석을 포함하고 추가 좌석에 대해 요금을 부과합니다. 예시:전략 2: 순수 좌석별 가격 책정
기본 요금 없이 좌석당 고정 요금을 부과합니다. 예시:전략 3: 계층형 좌석 가격 책정
다양한 기본 요금제와 서로 다른 좌석당 요금. 예시:전략 4: 좌석 번들
좌석을 개별적으로 판매하는 대신 묶음으로 판매합니다. 예시:좌석 기반 청구 설정하기
1단계: 가격 책정 계획하기
구현 전에 가격 구조를 정의합니다:1
Define Base Plan
기본 구독에 포함할 항목을 결정하세요:
- 기본 가격 (순수 좌석 기준일 경우 $0 가능)
- 포함된 좌석 수
- 해당 등급에서 사용할 수 있는 기능
2
Set Seat Pricing
추가 좌석 애드온 가격을 결정하세요:
- 추가 좌석당 가격
- 볼륨 할인 (다수의 애드온 활용)
- 최대 허용 좌석 수 (해당 시)
3
Consider Billing Frequency
청구 주기에 맞춰 좌석 가격을 조정하세요:
- 월간 구독 → 월별 좌석 요금
- 연간 구독 → 연간 좌석 요금 (종종 할인됨)
2단계: 좌석 부가 기능 만들기
Dodo Payments 대시보드에서:- 제품 → 부가 기능으로 이동합니다.
- 부가 기능 만들기를 클릭합니다.
- 부가 기능을 구성합니다:
3단계: 기본 구독 만들기
구독 제품을 만듭니다:- 제품 → 제품 만들기로 이동합니다.
- 구독 선택
- 가격 및 세부정보 구성
- 부가 기능 섹션에서 좌석 부가 기능을 연결합니다.
4단계: 제품에 부가 기능 연결하기
좌석 부가 기능을 구독에 연결합니다:- 구독 제품을 편집합니다.
- 부가 기능 섹션으로 스크롤합니다.
- 부가 기능 추가 클릭
- 좌석 부가 기능 선택
- 변경 사항 저장
귀하의 구독 상품은 이제 좌석 기반 가격 책정을 지원합니다. 고객은 체크아웃 중에 어느 수량의 추가 좌석이든 구매할 수 있습니다.
좌석 관리
새로운 구독에 좌석 추가하기
체크아웃 세션을 생성할 때 좌석 수를 지정합니다:기존 구독의 좌석 수 변경하기
좌석을 조정하려면 Change Plan API를 사용합니다:좌석 제거하기
좌석 수를 줄이려면 더 낮은 수량을 지정합니다:모든 추가 좌석 제거하기
모든 부가 기능을 제거하려면 빈 addons 배열을 전달합니다:좌석 변경에 대한 비례 배분
고객이 중간 주기에 좌석을 추가하거나 제거할 때 비례 배분이 청구 방식을 결정합니다.비례 배분 모드
비례 배분 예시
시나리오: 남은 청구 주기 15일, 좌석 5개를 좌석당 $10에 추가- prorated_immediately
- difference_immediately
- full_immediately
변경하기 전에 미리보기
변경하기 전에 항상 비례 배분을 미리 보세요:웹후크로 좌석 추적
좌석 변경을 추적하려면 구독 웹후크를 수신하세요:관련 이벤트
웹후크 핸들러 예시
좌석 제한 적용
애플리케이션에서 좌석 제한을 반드시 적용하세요. Dodo Payments가 청구를 추적하지만 접근 제어는 귀하가 책임집니다.적용 전략
- Hard Limit
- Soft Limit with Warning
- Auto-Upgrade
좌석 수를 초과하는 사용자가 추가되지 않도록 엄격히 방지하세요.
고급 패턴
다양한 좌석 유형
다른 가격으로 다양한 좌석 유형을 제공하세요:연간 좌석 할인
할인된 연간 좌석 가격을 제공하세요:최소 좌석 요건
일부 요금제에는 최소 좌석 수를 요구하세요:모범 사례
가격 책정 모범 사례
- 명확한 소통: 가격 페이지에 좌석당 가격을 눈에 띄게 표시하세요
- 포함된 좌석: 마찰을 줄이기 위해 기본 가격에 몇 좌석을 포함하는 것을 고려하세요
- 볼륨 할인: 대형 팀에 대해 좌석당 요금을 낮춰 엔터프라이즈 계약을 따내세요
- 연간 인센티브: 현금 흐름과 유지율을 높이기 위해 연간 요금제를 할인하세요
기술적 모범 사례
- 좌석 수 캐시: 매 요청마다 API 호출을 피하기 위해 구독 좌석 수를 로컬에 캐시하세요
- 정기 동기화: API를 통해 로컬 좌석 수를 Dodo Payments와 주기적으로 동기화하세요
- 실패 처리: 좌석 변경이 실패하면 명확한 오류 메시지와 재시도 옵션을 제공하세요
- 감사 로그: 청구 분쟁 및 규정 준수를 위해 모든 좌석 변경을 기록하세요
사용자 경험 모범 사례
- 실시간 피드백: 좌석을 조정할 때 즉시 비용 영향을 보여주세요
- 확인 단계: 청구 변경 전에 확인을 요구하세요
- 비례 배분 투명성: 적용 전에 비례 배분 요금을 명확히 설명하세요
- 쉬운 축소: 좌석 수를 줄이는 것을 어렵게 만들지 마세요 (신뢰를 쌓습니다)
문제해결
Seat count mismatch between app and billing
Seat count mismatch between app and billing
증상: 애플리케이션이 구독과 다른 좌석 수를 표시합니다.원인:
- 웹후크를 수신하지 못했거나 처리되지 않음
- 좌석 변경 중 경쟁 상태 발생
- 캐시된 데이터가 업데이트되지 않음
subscription.plan_changed에 대한 웹후크 핸들러를 구현하세요- 현재 구독을 가져오는 “청구와 동기화” 버튼을 추가하세요
- 정기적인 갱신을 보장하기 위해 캐시 TTL을 설정하세요
Proration charges unexpected
Proration charges unexpected
증상: 고객이 사이클 중간 청구 금액에 혼란스러워합니다.원인:
- 비례 배분 모드가 명확히 전달되지 않음
- 고객이 확인 전에 미리보기를 보지 못함
- 변경하기 전에 항상
previewChangePlan을 사용하세요 - “좌석 X개 추가 = 오늘 $Y (Z일 동안 비례 배분됨)”처럼 명확한 내역을 보여주세요
- 도움말 센터에 비례 배분 정책을 문서화하세요
Add-on not appearing in checkout
Add-on not appearing in checkout
증상: 체크아웃 중에 좌석 애드온을 사용할 수 없습니다.원인:
- 애드온이 상품에 연결되지 않음
- 애드온이 보관되었거나 삭제됨
- 상품과 애드온 간 통화 불일치
- 상품 설정에서 애드온이 연결되어 있는지 확인하세요
- 애드온 대시보드에서 상태를 확인하세요
- 통화가 정확히 일치하는지 확인하세요
Cannot reduce seats below current usage
Cannot reduce seats below current usage
증상: 고객이 좌석을 줄이려 하지만 사용자에게 할당된 상태입니다.해결 방법:
- 좌석을 줄이기 전에 제거해야 할 사용자를 보여주세요
- 워크플로우를 구현하세요: 사용자 제거 → 좌석 감소
- 좌석 감소를 시행하기 전에 유예 기간을 고려하세요
관련 문서
Seat-Based Pricing Tutorial
코드 포함 완전한 구현 가이드.
Add-ons
애드온 시스템을 깊이 이해하세요.
Plan Changes & Proration
구독 수정 처리.
Subscription Webhooks
구독 이벤트 추적.