이 튜토리얼은 백엔드와 프론트엔드를 모두 포함하는 완전한 작동 애플리케이션을 제공합니다. 이 채팅 앱은 Google의 Gemini AI를 사용하며 토큰 사용량을 수동으로 계산할 필요 없이 자동으로 추적합니다.
- Google Gemini(AI SDK)를 사용하여 AI 대화 지원
- 자동으로 토큰 사용량 추적(수동 코드 없음)
- 실제 토큰 소비에 따라 고객에게 요금 청구
- 아름다운 채팅 인터페이스 포함

우리가 구축할 내용
AI 채팅 서비스를 이해하는 것부터 시작해봅시다:- 서비스: Google Gemini(AI SDK)를 사용하는 AI 기반 채팅
- 가격 모델: 토큰당 요금($0.01 per 1,000 tokens)
- 무료 티어: 고객당 월 10,000개의 무료 토큰
- 기능: 대화 기록, 자동 토큰 추적
시작하기 전에 다음이 준비되어 있는지 확인하세요:
- Dodo Payments 계정
- Google AI API 키 (aistudio에서 발급받기)
- Node.js v16+ 설치
1단계: 사용량 미터기 생성하기
Dodo Payments 대시보드에서 AI 토큰 사용량을 추적할 미터기를 생성하는 것부터 시작하겠습니다.Open the Meters section
- Dodo Payments 대시보드에 로그인합니다
- 왼쪽 사이드바에서 Products를 클릭합니다
- Meters를 클릭합니다
- Create Meter 버튼을 클릭합니다

Fill in the basic meter information
이제 AI 채팅 서비스에 대한 세부 정보를 입력해 보겠습니다:Meter Name →
AI Token Usage MeterDescription → Tracks token consumption from AI chat conversations using AI SDKEvent Name → ai_chat_usageConfigure how we count tokens
집계(미터가 이벤트를 계산하는 방식)를 설정합니다:집계 유형: 드롭다운에서 합계를 선택합니다.Aggregate Over: Type →
totalTokensMeasurement Unit: Type → tokens여러 채팅 메시지에서 소비된 모든 토큰을 합산하고 싶기 때문에 “Sum”을 사용합니다. SDK는 각 이벤트에서 자동으로
totalTokens를 전송합니다.2단계: API 키 가져오기
앱을 구축하기 전에 필요한 API 키를 모아봅시다.Get Dodo Payments API Key
- Dodo Payments 대시보드에서 Developers → API Keys로 이동합니다
- Create API Key를 클릭합니다
- API 키를 복사합니다 -
test_abc123...처럼 보입니다
이 API 키를 저장하세요 - 나중에
.env 파일에 추가할 예정입니다.Get Google AI API Key
- aistudio.google.com에 접속합니다
- Get API Key를 클릭합니다
- 새 API 키를 생성하거나 기존 키를 사용합니다
- 키를 복사합니다
이 키도 안전한 곳에 보관하세요 - 같은
.env 파일에 추가할 예정입니다.3단계: 청구 제품 생성하기
이제 가격($0.01 per 1,000 tokens 및 10,000개의 무료 토큰)을 정의하는 제품을 생성해야 합니다. 이는 미터기를 실제 청구에 연결합니다.Navigate to Products
- Dodo Payments 대시보드에서 왼쪽 사이드바의 Products를 클릭합니다
- Create Product를 클릭합니다
- 상품 유형으로 Usage-Based를 선택합니다
Enter product details
필수 항목을 입력합니다:Product Name: →
AI Chat ServiceDescription: → AI-powered chat service with automatic token-based billing제품 이미지: 관련 이미지를 업로드합니다.이 정보는 고객 인보이스에 표시되므로 명확하고 전문적으로 작성하세요.
Connect your meter
미터를 연결하기 전에 상품의 가격 유형으로 Usage Based Billing이 선택되어 있는지 확인하세요.또한 Fixed Price를
0로 설정하여 고객이 기본 요금 없이 사용량에 따라서만 청구되도록 합니다.이제 방금 생성한 미터기를 연결합니다:- 연결된 미터기 섹션으로 스크롤합니다.
- 미터기 추가를 클릭합니다.
- 드롭다운에서 “AI 토큰 사용량 미터기”(이전에 생성한 것)를 선택합니다.
- 제품 구성에 나타나는지 확인합니다.
이제 이 미터가 이 상품과 성공적으로 연결되었습니다.
Set your pricing
여기서 비즈니스 모델을 정의합니다:Price Per Unit: → 
0.00001 입력 (1,000 토큰당 0.00001)Free Threshold: → 10000 입력 (고객당 월 10,000개의 무료 토큰 제공)
4단계: 테스트 구매하기
앱을 구축하기 전에 구매를 통해 테스트 고객을 생성해봅시다.Get your payment link
- Dodo Payments 대시보드에서 Products로 이동합니다
- “AI Chat Service” 상품을 찾습니다
- 상품 옆의 Share 버튼을 클릭합니다
- 표시되는 결제 링크를 복사합니다
Complete a test purchase
- 새 브라우저 탭에서 결제 링크를 엽니다
- 테스트 결제 정보를 입력하고 구매를 완료합니다
결제가 성공하면 애플리케이션 코드에서 사용할 고객 ID를 받게 됩니다.
5단계: 채팅 애플리케이션 구축하기
이제 청구 설정이 완료되고 테스트 고객이 생성되었습니다. 자동 토큰 추적 기능을 갖춘 AI 채팅 애플리케이션을 구축해봅시다.Configure TypeScript
tsconfig.json를 생성합니다:tsconfig.json
package.json을 업데이트하여 모듈 유형 및 스크립트를 추가합니다:package.json
6단계: 채팅 인터페이스 추가하기
이제 전체 대화 기록이 표시되는 아름다운 채팅 인터페이스를 추가합니다!public/index.html를 생성합니다:
public/index.html
7단계: 채팅 애플리케이션 테스트하기
이제 AI 채팅 앱을 테스트하고 청구가 작동하는지 확인해봅시다! 모든 것이 끝에서 끝까지 작동하는지 확인해봅시다.Start the server
먼저 모든 설정이 잘 되어 있는지 확인합니다:다음과 같은 메시지가 표시되어야 합니다:
.env파일에 2단계의 모든 API 키가 있는지 확인합니다- 개발 서버를 시작합니다:
서버가 실행 중입니다! 채팅을 시작할 시간입니다.
Open the chat interface
- 브라우저를 엽니다
http://localhost:3000로 이동합니다- 아름다운 채팅 인터페이스가 표시됩니다
server.ts의 CUSTOMER_ID를 4단계에서 받은 실제 테스트 고객 ID로 업데이트했는지 확인하세요.Have your first conversation
테스트해봅시다! 다음 메시지를 시도해 보세요:
- “인공지능이란 무엇인가요?”
- “기계 학습은 어떻게 작동하나요?”
- “신경망을 설명해 주실 수 있나요?”
AI가 응답하고 토큰 수가 표시되면 앱이 제대로 작동하는 것입니다!
Check your Dodo Payments dashboard
이제 이벤트가 수신되는지 확인합니다:
- Dodo Payments 대시보드를 엽니다.
- 사용 청구 → AI 토큰 사용량 미터기로 이동합니다.
- 이벤트 탭을 클릭합니다.
- 채팅 이벤트가 나열되어야 합니다.
- 이벤트 이름:
ai_chat_usage - 고객 ID: 테스트 고객 ID

보낸 메시지마다 하나씩 이벤트가 표시되어야 합니다!
Verify token counting
추가 메시지를 보내 토큰 집계가 제대로 작동하는지 확인합니다:
- 미터기에서 고객 탭으로 이동합니다.
- 테스트 고객을 찾습니다.
- “소비된 단위” 열을 확인합니다 - 사용된 총 토큰 수가 표시되어야 합니다.

미터가 모든
totalTokens 값을 자동으로 합산합니다!문제 해결
일반적인 문제와 그 해결 방법:Events not appearing in dashboard
Events not appearing in dashboard
가능한 원인:
- 이벤트 이름이 미터 구성과 정확히 일치하지 않음
- 고객 ID가 계정에 없음
- API 키가 유효하지 않거나 만료됨
- 네트워크 연결 문제
- 이벤트 이름이 미터 구성과 정확히 일치하는지 확인합니다 (대소문자 구분:
ai_chat_usage) - 고객 ID가 Dodo Payments 대시보드에 존재하는지 확인합니다
- 간단한 API 호출로 API 키를 테스트합니다
- 서버 로그에서 오류 메시지를 확인합니다
Token counts showing zero
Token counts showing zero
가능한 원인:
- 모델이 사용량 정보를 반환하지 않음
- SDK 버전이 잘못됨
- 모델이 사용량을 반환하는지 테스트합니다:
- 최신 Blueprints SDK로 업데이트:
npm install @dodopayments/ingestion-blueprints@latest
API key invalid error
API key invalid error
가능한 원인:
- 환경에 맞지 않는 API 키 사용
.env파일에 불필요한 공백 또는 따옴표 있음
- 테스트 키는
test_로 시작하고 라이브 키는live_로 시작하는지 확인합니다 .env파일에서 키 주위의 따옴표를 제거합니다- 필요한 경우 새 키를 생성합니다

