Skip to main content
코딩 에이전트가 통합을 작성하도록 하려면 Dodo Agent Plugin을 설치하세요. 이 플러그인은 Claude Code, Codex CLI, Cursor, VS Code / GitHub Copilot, Kiro, OpenCode에 Dodo Payments skills와 MCP servers를 추가합니다.
고객이 사용한 토큰에 대해 요금이 청구되는 AI 채팅 애플리케이션을 구축합니다. 청구 meter, product, 대화를 실행하고 토큰 사용량을 실시간으로 보고하는 애플리케이션 코드를 만듭니다.
이 튜토리얼에서는 backend와 frontend를 포함한 완전한 애플리케이션을 구축합니다. 채팅 앱은 Google Gemini를 사용하며, LLM Blueprint가 각 응답의 토큰 사용량을 보고하므로 직접 토큰을 계산할 필요가 없습니다.
완료하면 다음 기능을 갖춘 채팅 애플리케이션이 제공됩니다:
  • AI SDK를 통해 Google Gemini로 AI 대화를 실행합니다.
  • 토큰을 계산하는 코드 없이 토큰 사용량을 자동으로 추적합니다.
  • 고객이 실제로 사용한 토큰에 대해 요금을 청구합니다.
  • 대화 기록을 유지하는 채팅 인터페이스를 포함합니다.
완성된 AI 채팅 앱의 채팅 인터페이스로, 각 응답 아래에 토큰 수가 표시됩니다

우리가 구축할 내용

채팅 service는 다음과 같이 작동합니다:
  • Service: AI SDK를 통한 Google Gemini AI 채팅
  • Pricing Model: 토큰당 요금 부과(토큰 1,000개당 $0.01)
  • Free Tier: 고객당 월 10,000개 무료 토큰
  • Features: 대화 기록 및 자동 토큰 추적
시작하기 전에 다음이 필요합니다:

1단계: 사용량 미터기 생성하기

AI 토큰 사용량을 추적하려면 Dodo Payments dashboard에서 meter를 생성합니다.
구축할 항목: 채팅 대화에서 사용된 토큰을 합산하는 “AI Token Usage Meter”라는 meter입니다.
1

Open the Meters Section

  1. Dodo Payments dashboard에 로그인합니다.
  2. 사이드바에서 Products를 클릭합니다.
  3. Meters를 클릭합니다.
  4. Create Meter를 클릭합니다.
Create Meter 버튼이 표시된 Dodo Payments dashboard의 Meters 페이지
meter form이 열립니다.
2

Enter the Meter Details

채팅 service의 세부 정보를 입력합니다:Meter Name → AI Token Usage MeterDescription → Tracks token consumption from AI chat conversations using AI SDKEvent Name → ai_chat_usage
event name ai_chat_usage은 애플리케이션 코드가 전송하는 event name과 일치해야 합니다. Event name은 대소문자를 구분합니다.
3

Configure How Tokens Are Counted

meter가 event를 결합하는 방식을 제어하는 aggregation을 설정합니다:Aggregation Type: SumOver Property: totalTokensMeasurement Unit: tokens
Sum은 모든 채팅 메시지의 토큰을 합산합니다. LLM Blueprint는 각 event의 metadata에 inputTokens, outputTokens, totalTokens을 전송하며, 이 meter는 totalTokens을 합산합니다.
4

Create the Meter

  1. 모든 설정이 위의 값과 일치하는지 확인합니다. meter는 생성한 후 편집할 수 없습니다.
  2. Create Meter를 클릭합니다.
AI Token Usage Meter name, ai_chat_usage event 및 Sum aggregation이 입력된 meter form
Meter가 생성되었습니다. “AI Token Usage Meter”가 토큰을 계산할 준비가 되었습니다. 다음으로 이를 billing product에 연결합니다.

2단계: API 키 가져오기

앱에 필요한 두 개의 API key를 준비합니다.
1

Get a Dodo Payments API Key

  1. Dodo Payments dashboard에서 Developer → API Keys로 이동합니다.
  2. Add API Key를 클릭합니다.
  3. API key를 복사합니다.
test mode에서 key를 생성합니다. test mode key는 test mode에서만 작동합니다. Step 5에서 이 key를 .env file에 추가합니다.
2

Get a Google AI API Key

  1. aistudio.google.com로 이동합니다.
  2. Get API Key를 클릭합니다.
  3. API key를 생성하거나 기존 key를 사용합니다.
  4. key를 복사합니다.
이 key를 비공개로 유지합니다. Step 5에서 이를 .env file에 추가합니다.

3단계: 청구 제품 생성하기

가격을 정의하는 product를 생성합니다. 토큰 1,000개당 $0.01이며 10,000개의 무료 토큰이 제공됩니다. 이 product가 meter를 billing에 연결합니다.
구축할 항목: 무료 tier를 초과한 토큰 사용량에 요금을 부과하는 “AI Chat Service”라는 product입니다.
1

Navigate to Products

  1. Dodo Payments dashboard의 사이드바에서 Products를 클릭합니다.
  2. Add Product를 클릭합니다.
  3. Pricing Type에서 Usage Based Billing을 선택합니다.
이 pricing type을 사용하면 Dodo Payments는 고정 subscription price 대신 meter usage를 기준으로 청구합니다.
2

Enter Product Details

필수 세부 정보를 입력합니다:Product Name: → AI Chat ServiceDescription: → AI-powered chat service with automatic token-based billingProduct Image: 관련 이미지를 업로드합니다.
name과 description은 customer invoice에 표시됩니다.
3

Connect Your Meter

product의 pricing type이 Usage Based Billing인지 확인합니다.Price를 0로 설정하면 base fee 없이 사용량에 대해서만 고객에게 요금이 부과됩니다.그런 다음 생성한 meter를 연결합니다:
  1. Associated Meters section까지 스크롤합니다.
  2. Add meters를 클릭합니다.
  3. dropdown에서 **“AI Token Usage Meter”**를 선택합니다.
  4. product configuration에 meter가 표시되는지 확인합니다.
meter가 product에 연결되었습니다.
4

Set Your Pricing

토큰당 가격과 무료 tier를 정의합니다:Price per unit: → 0.00001. 토큰당 $0.00001, 즉 토큰 1,000개당 $0.01입니다.Free Threshold: → 10000. 각 고객에게 매월 10,000개의 무료 토큰이 제공됩니다.
Price per unit 및 free threshold가 입력된 AI Chat Service product의 meter pricing
Billing 작동 방식: 한 달에 25,000개의 토큰을 사용한 고객은 15,000개의 토큰에 대해 요금을 지불합니다(25,000 − 10,000 무료). 15,000 × $0.00001 = $0.15입니다.
5

Save Your Product

  1. 설정을 검토합니다:
    • Name: AI Chat Service
    • Meter: AI Token Usage Meter
    • Price: 토큰 1,000개당 $0.01
    • Free tier: 토큰 10,000개
  2. Save Changes를 클릭합니다.
Product가 생성되었습니다. Billing이 구성되었으며 고객이 사용한 토큰에 대해 요금이 청구됩니다.

4단계: 테스트 구매하기

Product를 구매하여 test customer를 생성합니다. 앱은 이 customer에 대한 usage event를 전송합니다.
1

Get Your Payment Link

  1. Dodo Payments dashboard에서 Products로 이동합니다.
  2. “AI Chat Service” product를 찾습니다.
  3. product 옆의 Share를 클릭합니다.
  4. payment link를 복사합니다.
2

Complete a Test Purchase

  1. 새 browser tab에서 payment link를 엽니다.
  2. test payment details를 입력하고 구매를 완료합니다.
payment가 완료되면 구매를 통해 customer가 생성됩니다. 애플리케이션 코드는 해당 customer의 ID를 사용합니다.
3

Find Your Customer ID

  1. Dodo Payments dashboard로 돌아갑니다.
  2. 사이드바에서 Sales → Customers로 이동합니다.
  3. test email address로 생성한 customer를 찾습니다.
  4. customer ID를 복사합니다. ID는 cus_로 시작합니다.
이 customer ID를 저장합니다. 채팅 애플리케이션을 테스트할 때 사용합니다.

5단계: 채팅 애플리케이션 구축하기

billing을 설정하고 test customer를 생성했으므로 채팅 애플리케이션을 구축합니다.
1

Set Up Your Project

directory를 생성하고 project를 초기화합니다:
2

Install Dependencies

package를 설치합니다:
3

Configure TypeScript

tsconfig.json를 생성합니다:
tsconfig.json
package.json을 업데이트하여 모듈 유형 및 스크립트를 추가합니다:
package.json
4

Create the Project Structure

source 및 static-file folder를 생성합니다:
5

Set Up Environment Variables

project root에 .env file을 생성합니다:
.env
placeholder 값을 Step 2의 API key로 교체합니다. AI SDK의 Google provider는 기본적으로 GOOGLE_GENERATIVE_AI_API_KEY을 읽습니다.
6

Create the Backend Server

src/server.ts를 생성하고 아래의 server code를 붙여 넣습니다.
billing이 포함된 전체 chat server와 이에 대응하는 .env 및 package.json입니다:

6단계: 채팅 인터페이스 추가하기

전체 대화 기록을 유지하는 chat interface를 추가합니다. public/index.html를 생성합니다:
public/index.html

7단계: 채팅 애플리케이션 테스트하기

chat app을 처음부터 끝까지 테스트하고 usage가 Dodo Payments에 도달하는지 확인합니다.
테스트할 항목: AI와 채팅하고, token event가 Dodo Payments에 도달하는지 확인하며, billing calculation을 점검합니다.
1

Start the Server

  1. .env file에 Step 2의 두 API key가 모두 있는지 확인합니다.
  2. development server를 시작합니다:
server log는 다음과 같습니다:
server가 실행 중입니다.
2

Open the Chat Interface

  1. browser를 엽니다.
  2. http://localhost:3000로 이동합니다. chat interface가 로드됩니다.
채팅하기 전에 server.ts의 CUSTOMER_ID를 Step 4의 test customer ID로 설정한 다음 server를 다시 시작합니다.
3

Have Your First Conversation

다음 메시지를 전송합니다:
  1. “인공지능이란 무엇인가요?”
  2. “머신러닝은 어떻게 작동하나요?”
  3. “신경망을 설명해 주실 수 있나요?”
각 응답에 사용된 토큰 수가 표시됩니다.
AI가 응답하고 token count가 표시되면 앱이 정상적으로 작동하는 것입니다.
4

Check Your Dodo Payments Dashboard

Dodo Payments가 event를 수신하는지 확인합니다:
  1. Dodo Payments dashboard를 엽니다.
  2. Products → Meters로 이동하여 AI Token Usage Meter를 엽니다.
  3. Events tab을 선택합니다.
  4. 목록에서 채팅 event를 찾습니다.
확인할 항목:
  • Event name: ai_chat_usage
  • Customer ID: test customer ID
ai_chat_usage event가 나열된 AI Token Usage Meter의 Events tab
목록에는 전송한 각 메시지마다 하나의 event가 있습니다.
5

Verify Token Counting

메시지를 몇 개 더 전송한 다음 aggregation을 확인합니다:
  1. meter에서 Customers tab을 선택합니다.
  2. test customer를 찾습니다.
  3. Consumed Units column을 확인합니다. 총 사용 토큰 수가 표시됩니다.
test customer의 consumed units를 보여주는 meter의 Customers tab
meter는 모든 event의 totalTokens 값을 합산합니다.
6

Test the Free Tier

free tier를 초과할 만큼 토큰을 사용합니다:
  1. 총 사용량이 약 15,000 token을 넘을 때까지 대화를 몇 차례 더 진행합니다.
  2. meter의 Customers tab을 다시 엽니다.
  3. 값을 확인합니다:
    • Consumed Units: 15,000+ token
    • Chargeable Units: 5,000(10,000 free token 적용)
    • Total Price: ~$0.05
free tier 적용 후 consumed units, chargeable units 및 total price를 보여주는 meter의 Customers tab
Usage-based billing이 정상적으로 작동합니다. 고객에게 사용한 토큰에 대한 요금이 청구됩니다.

문제 해결

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

축하합니다! AI 채팅 앱을 구축했습니다

토큰 사용량을 추적하고 Dodo Payments를 통해 고객에게 요금을 청구하는 작동하는 AI 채팅 애플리케이션을 완성했습니다.

더 알아보기

LLM Blueprint

LLM Ingestion Blueprint로 LLM token usage를 추적합니다.

Ingestion Blueprints SDK

GitHub repository에서 더 많은 예제를 확인하세요.

Join Community

Discord에서 도움을 받고 프로젝트를 공유하세요.
마지막 수정일 2026년 9월 26일