- AI SDK를 통해 Google Gemini로 AI 대화를 실행합니다.
- 토큰을 계산하는 코드 없이 토큰 사용량을 자동으로 추적합니다.
- 고객이 실제로 사용한 토큰에 대해 요금을 청구합니다.
- 대화 기록을 유지하는 채팅 인터페이스를 포함합니다.

우리가 구축할 내용
채팅 service는 다음과 같이 작동합니다:- Service: AI SDK를 통한 Google Gemini AI 채팅
- Pricing Model: 토큰당 요금 부과(토큰 1,000개당 $0.01)
- Free Tier: 고객당 월 10,000개 무료 토큰
- Features: 대화 기록 및 자동 토큰 추적
- Dodo Payments account.
- Google AI API key. Google AI Studio에서 발급받기.
- Node.js 22 이상.
1단계: 사용량 미터기 생성하기
AI 토큰 사용량을 추적하려면 Dodo Payments dashboard에서 meter를 생성합니다.Open the Meters Section
- Dodo Payments dashboard에 로그인합니다.
- 사이드바에서 Products를 클릭합니다.
- Meters를 클릭합니다.
- Create Meter를 클릭합니다.

Enter the Meter Details
AI Token Usage MeterDescription → Tracks token consumption from AI chat conversations using AI SDKEvent Name → ai_chat_usageConfigure How Tokens Are Counted
totalTokensMeasurement Unit: tokensinputTokens, outputTokens, totalTokens을 전송하며, 이 meter는 totalTokens을 합산합니다.Create the Meter
- 모든 설정이 위의 값과 일치하는지 확인합니다. meter는 생성한 후 편집할 수 없습니다.
- Create Meter를 클릭합니다.

2단계: API 키 가져오기
앱에 필요한 두 개의 API key를 준비합니다.Get a Dodo Payments API Key
- Dodo Payments dashboard에서 Developer → API Keys로 이동합니다.
- Add API Key를 클릭합니다.
- API key를 복사합니다.
.env file에 추가합니다.Get a Google AI API Key
- aistudio.google.com로 이동합니다.
- Get API Key를 클릭합니다.
- API key를 생성하거나 기존 key를 사용합니다.
- key를 복사합니다.
.env file에 추가합니다.3단계: 청구 제품 생성하기
가격을 정의하는 product를 생성합니다. 토큰 1,000개당 $0.01이며 10,000개의 무료 토큰이 제공됩니다. 이 product가 meter를 billing에 연결합니다.Navigate to Products
- Dodo Payments dashboard의 사이드바에서 Products를 클릭합니다.
- Add Product를 클릭합니다.
- Pricing Type에서 Usage Based Billing을 선택합니다.
Enter Product Details
AI Chat ServiceDescription: → AI-powered chat service with automatic token-based billingProduct Image: 관련 이미지를 업로드합니다.Connect Your Meter
0로 설정하면 base fee 없이 사용량에 대해서만 고객에게 요금이 부과됩니다.그런 다음 생성한 meter를 연결합니다:- Associated Meters section까지 스크롤합니다.
- Add meters를 클릭합니다.
- dropdown에서 **“AI Token Usage Meter”**를 선택합니다.
- product configuration에 meter가 표시되는지 확인합니다.
Set Your Pricing
0.00001. 토큰당 $0.00001, 즉 토큰 1,000개당 $0.01입니다.Free Threshold: → 10000. 각 고객에게 매월 10,000개의 무료 토큰이 제공됩니다.
Save Your Product
- 설정을 검토합니다:
- Name: AI Chat Service
- Meter: AI Token Usage Meter
- Price: 토큰 1,000개당 $0.01
- Free tier: 토큰 10,000개
- Save Changes를 클릭합니다.
4단계: 테스트 구매하기
Product를 구매하여 test customer를 생성합니다. 앱은 이 customer에 대한 usage event를 전송합니다.Get Your Payment Link
- Dodo Payments dashboard에서 Products로 이동합니다.
- “AI Chat Service” product를 찾습니다.
- product 옆의 Share를 클릭합니다.
- payment link를 복사합니다.
Complete a Test Purchase
- 새 browser tab에서 payment link를 엽니다.
- test payment details를 입력하고 구매를 완료합니다.
Find Your Customer ID
- Dodo Payments dashboard로 돌아갑니다.
- 사이드바에서 Sales → Customers로 이동합니다.
- test email address로 생성한 customer를 찾습니다.
- customer ID를 복사합니다. ID는
cus_로 시작합니다.
5단계: 채팅 애플리케이션 구축하기
billing을 설정하고 test customer를 생성했으므로 채팅 애플리케이션을 구축합니다.Set Up Your Project
Install Dependencies
Configure TypeScript
tsconfig.json를 생성합니다:package.json을 업데이트하여 모듈 유형 및 스크립트를 추가합니다:Create the Project Structure
Set Up Environment Variables
.env file을 생성합니다:GOOGLE_GENERATIVE_AI_API_KEY을 읽습니다.Create the Backend Server
src/server.ts를 생성하고 아래의 server code를 붙여 넣습니다..env 및 package.json입니다:
6단계: 채팅 인터페이스 추가하기
전체 대화 기록을 유지하는 chat interface를 추가합니다.public/index.html를 생성합니다:
7단계: 채팅 애플리케이션 테스트하기
chat app을 처음부터 끝까지 테스트하고 usage가 Dodo Payments에 도달하는지 확인합니다.Start the Server
.envfile에 Step 2의 두 API key가 모두 있는지 확인합니다.- development server를 시작합니다:
Open the Chat Interface
- browser를 엽니다.
http://localhost:3000로 이동합니다. chat interface가 로드됩니다.
server.ts의 CUSTOMER_ID를 Step 4의 test customer ID로 설정한 다음 server를 다시 시작합니다.Have Your First Conversation
- “인공지능이란 무엇인가요?”
- “머신러닝은 어떻게 작동하나요?”
- “신경망을 설명해 주실 수 있나요?”
Check Your Dodo Payments Dashboard
- Dodo Payments dashboard를 엽니다.
- Products → Meters로 이동하여 AI Token Usage Meter를 엽니다.
- Events tab을 선택합니다.
- 목록에서 채팅 event를 찾습니다.
- Event name:
ai_chat_usage - Customer ID: test customer ID

Verify Token Counting
- meter에서 Customers tab을 선택합니다.
- test customer를 찾습니다.
- Consumed Units column을 확인합니다. 총 사용 토큰 수가 표시됩니다.

totalTokens 값을 합산합니다.Test the Free Tier
- 총 사용량이 약 15,000 token을 넘을 때까지 대화를 몇 차례 더 진행합니다.
- meter의 Customers tab을 다시 엽니다.
- 값을 확인합니다:
- Consumed Units: 15,000+ token
- Chargeable Units: 5,000(10,000 free token 적용)
- Total Price: ~$0.05

문제 해결
일반적인 문제와 해결 방법:Events not appearing in dashboard
Events not appearing in dashboard
- Event name이 meter configuration과 정확히 일치하지 않음
- Customer ID가 account에 존재하지 않음
- API key가 유효하지 않거나 만료됨
- Network connectivity issues
- event name이 meter와 정확히 일치하는지 확인합니다. 대소문자를 구분합니다:
ai_chat_usage. - Dodo Payments dashboard에 customer ID가 존재하는지 확인합니다.
- 간단한 API call로 API key를 테스트합니다.
- server log에서 오류를 확인합니다.
Token counts showing zero
Token counts showing zero
- Model이 usage information을 반환하지 않음
- SDK version이 잘못됨
- model이 usage를 반환하는지 확인합니다:
- Blueprints package를 업데이트합니다:
npm install @dodopayments/ingestion-blueprints@latest
API key invalid error
API key invalid error
- API key가 다른 mode에 속함
.envfile에 여분의 공백이나 따옴표가 있음
- key는 생성된 mode에서만 작동합니다.
DODO_PAYMENTS_ENVIRONMENT=test_mode에는 test mode key를 사용하고,live_mode에는 live mode key를 사용합니다. .envfile의 key 양쪽에 있는 따옴표를 제거합니다.- 필요한 경우 새 key를 생성합니다.