Skip to main content
Để coding agent viết phần tích hợp cho bạn, hãy cài đặt Dodo Agent Plugin. Plugin này thêm các kỹ năng và máy chủ MCP của Dodo Payments vào Claude Code, Codex CLI, Cursor, VS Code / GitHub Copilot, Kiro và OpenCode.
Bạn sẽ xây dựng một ứng dụng trò chuyện AI tính phí khách hàng cho số token họ sử dụng. Bạn tạo billing meter, product và mã ứng dụng để chạy các cuộc hội thoại cũng như báo cáo lượng token sử dụng theo thời gian thực.
Tutorial này xây dựng một ứng dụng hoàn chỉnh gồm backend và frontend. Ứng dụng trò chuyện sử dụng Google Gemini, còn LLM Blueprint báo cáo lượng token cho từng phản hồi, nên bạn không cần tự đếm token.
Khi hoàn tất, bạn sẽ có một ứng dụng trò chuyện có thể:
  • Chạy các cuộc hội thoại AI với Google Gemini thông qua AI SDK.
  • Tự động theo dõi lượng token sử dụng mà không cần mã đếm token.
  • Tính phí khách hàng cho số token họ thực sự sử dụng.
  • Bao gồm giao diện trò chuyện lưu lại lịch sử hội thoại.
Giao diện trò chuyện của ứng dụng trò chuyện AI hoàn chỉnh, hiển thị một cuộc hội thoại với số token bên dưới mỗi phản hồi

Chúng ta sẽ xây dựng gì

Dịch vụ trò chuyện hoạt động như sau:
  • Service: Trò chuyện AI với Google Gemini thông qua AI SDK
  • Pricing Model: Trả phí theo token ($0.01 cho mỗi 1.000 token)
  • Free Tier: 10.000 token miễn phí mỗi khách hàng mỗi tháng
  • Features: Lịch sử hội thoại và tự động theo dõi lượng token
Trước khi bắt đầu, bạn cần:

Bước 1: Tạo Usage Meter

Tạo một meter trong dashboard Dodo Payments để theo dõi lượng token AI sử dụng.
Bạn đang xây dựng: Một meter có tên “AI Token Usage Meter” để cộng tổng số token được sử dụng trong các cuộc hội thoại.
1

Open the Meters Section

  1. Đăng nhập vào dashboard Dodo Payments.
  2. Nhấp vào Products trong thanh bên.
  3. Nhấp vào Meters.
  4. Nhấp vào Create Meter.
Trang Meters trong dashboard Dodo Payments với nút Create Meter
Biểu mẫu meter sẽ mở.
2

Enter the Meter Details

Nhập thông tin cho dịch vụ trò chuyện:Tên meter → AI Token Usage MeterMô tả → Tracks token consumption from AI chat conversations using AI SDKTên event → ai_chat_usage
Tên sự kiện ai_chat_usage phải khớp với tên sự kiện mà mã ứng dụng gửi. Tên sự kiện phân biệt chữ hoa chữ thường.
3

Configure How Tokens Are Counted

Thiết lập aggregation, quy định cách meter kết hợp các sự kiện:Aggregation Type: SumOver Property: totalTokensMeasurement Unit: tokens
Sum cộng tổng số token từ mọi tin nhắn trò chuyện. LLM Blueprint gửi inputTokens, outputTokens và totalTokens trong metadata của mỗi sự kiện, còn meter này cộng totalTokens.
4

Create the Meter

  1. Kiểm tra để chắc chắn mọi cài đặt khớp với các giá trị ở trên. Bạn không thể chỉnh sửa meter sau khi tạo.
  2. Nhấp vào Create Meter.
Biểu mẫu meter được điền với tên AI Token Usage Meter, sự kiện ai_chat_usage và aggregation Sum
Đã tạo meter. “AI Token Usage Meter” đã sẵn sàng để đếm token. Tiếp theo, kết nối meter với một billing product.

Bước 2: Lấy API Keys

Thu thập hai API key mà ứng dụng cần.
1

Get a Dodo Payments API Key

  1. Trong dashboard Dodo Payments, đi đến Developer → API Keys.
  2. Nhấp vào Add API Key.
  3. Sao chép API key.
Tạo key ở test mode: key test mode chỉ hoạt động với test mode. Bạn sẽ thêm key vào tệp .env ở Step 5.
2

Get a Google AI API Key

  1. Đi đến aistudio.google.com.
  2. Nhấp vào Get API Key.
  3. Tạo API key hoặc sử dụng key hiện có.
  4. Sao chép key.
Giữ bí mật key này. Bạn sẽ thêm key vào tệp .env ở Step 5.

Bước 3: Tạo Billing Product

Tạo một product xác định cách tính phí: $0.01 cho mỗi 1.000 token, với 10.000 token miễn phí. Product kết nối meter với billing.
Bạn đang xây dựng: Một product có tên “AI Chat Service” tính phí cho lượng token sử dụng vượt quá free tier.
1

Navigate to Products

  1. Trong dashboard Dodo Payments, nhấp vào Products trong thanh bên.
  2. Nhấp vào Add Product.
  3. Trong Pricing Type, chọn Usage Based Billing.
Với loại pricing này, Dodo Payments tính phí dựa trên lượng sử dụng của meter thay vì giá subscription cố định.
2

Enter Product Details

Điền các thông tin bắt buộc:Tên sản phẩm: → AI Chat ServiceMô tả: → AI-powered chat service with automatic token-based billingProduct Image: Tải lên một hình ảnh phù hợp.
Tên và mô tả sẽ xuất hiện trên hóa đơn của khách hàng.
3

Connect Your Meter

Kiểm tra để chắc chắn loại pricing của product là Usage Based Billing.Đặt Price thành 0 để khách hàng chỉ trả phí cho lượng sử dụng, không có phí cơ bản.Sau đó liên kết meter bạn đã tạo:
  1. Cuộn đến phần Associated Meters.
  2. Nhấp vào Add meters.
  3. Chọn “AI Token Usage Meter” từ menu thả xuống.
  4. Xác nhận meter xuất hiện trong cấu hình product.
Meter đã được kết nối với product.
4

Set Your Pricing

Xác định giá mỗi token và free tier:Price per unit: → 0.00001. Tương đương $0.00001 mỗi token, hoặc $0.01 cho mỗi 1.000 token.Free Threshold: → 10000. Mỗi khách hàng nhận 10.000 token miễn phí mỗi tháng.
Giá meter trên product AI Chat Service, với giá mỗi unit và free threshold đã được điền
Cách billing hoạt động: Khách hàng sử dụng 25.000 token trong một tháng sẽ trả phí cho 15.000 token (25.000 − 10.000 token miễn phí). 15.000 × $0.00001 = $0.15.
5

Save Your Product

  1. Kiểm tra các cài đặt:
    • Name: AI Chat Service
    • Meter: AI Token Usage Meter
    • Price: $0.01 cho mỗi 1.000 token
    • Free tier: 10.000 token
  2. Nhấp vào Save Changes.
Đã tạo product. Billing đã được cấu hình và khách hàng sẽ bị tính phí cho số token họ sử dụng.

Bước 4: Thực hiện giao dịch mua thử nghiệm

Tạo test customer bằng cách mua product. Ứng dụng sẽ gửi các usage event cho customer này.
1

Get Your Payment Link

  1. Trong dashboard Dodo Payments, đi đến Products.
  2. Tìm product “AI Chat Service”.
  3. Nhấp vào Share bên cạnh product.
  4. Sao chép payment link.
2

Complete a Test Purchase

  1. Mở payment link trong tab trình duyệt mới.
  2. Nhập test payment details và hoàn tất giao dịch.
Sau khi thanh toán thành công, giao dịch mua sẽ tạo một customer. Mã ứng dụng sử dụng ID của customer đó.
3

Find Your Customer ID

  1. Quay lại dashboard Dodo Payments.
  2. Đi đến Sales → Customers trong thanh bên.
  3. Tìm customer bạn đã tạo bằng địa chỉ email test.
  4. Sao chép customer ID. ID bắt đầu bằng cus_.
Lưu customer ID này. Bạn sẽ sử dụng nó khi kiểm thử ứng dụng trò chuyện.

Bước 5: Xây dựng ứng dụng trò chuyện

Sau khi thiết lập billing và tạo test customer, hãy xây dựng ứng dụng trò chuyện.
1

Set Up Your Project

Tạo một thư mục và khởi tạo project:
2

Install Dependencies

Cài đặt các package:
3

Configure TypeScript

Tạo tsconfig.json:
tsconfig.json
Cập nhật package.json để thêm module type và các script:
package.json
4

Create the Project Structure

Tạo các thư mục source và static-file:
5

Set Up Environment Variables

Tạo tệp .env trong thư mục gốc của project:
.env
Thay các giá trị placeholder bằng API key từ Step 2. Google provider của AI SDK đọc GOOGLE_GENERATIVE_AI_API_KEY theo mặc định.
6

Create the Backend Server

Tạo src/server.ts và dán mã server bên dưới vào đó.
Chat server hoàn chỉnh có billing, cùng với .env và package.json tương ứng:

Bước 6: Thêm giao diện trò chuyện

Thêm giao diện trò chuyện lưu lại toàn bộ lịch sử hội thoại. Tạo public/index.html:
public/index.html

Bước 7: Kiểm thử ứng dụng trò chuyện

Kiểm thử ứng dụng trò chuyện từ đầu đến cuối và theo dõi lượng sử dụng được gửi đến Dodo Payments.
Bạn đang kiểm thử: Bạn trò chuyện với AI, xác nhận các token event đến được Dodo Payments và kiểm tra phép tính billing.
1

Start the Server

  1. Kiểm tra tệp .env có cả hai API key từ Step 2.
  2. Khởi động development server:
Server ghi log:
Server đang chạy.
2

Open the Chat Interface

  1. Mở trình duyệt.
  2. Đi đến http://localhost:3000. Giao diện trò chuyện sẽ tải.
Trước khi trò chuyện, đặt CUSTOMER_ID trong server.ts thành test customer ID từ Step 4, sau đó khởi động lại server.
3

Have Your First Conversation

Gửi các tin nhắn sau:
  1. “Trí tuệ nhân tạo là gì?”
  2. “Machine learning hoạt động như thế nào?”
  3. “Bạn có thể giải thích neural network không?”
Mỗi phản hồi hiển thị số token đã sử dụng.
Nếu AI phản hồi và số token xuất hiện, ứng dụng đang hoạt động.
4

Check Your Dodo Payments Dashboard

Xác nhận Dodo Payments đã nhận các event:
  1. Mở dashboard Dodo Payments.
  2. Đi đến Products → Meters và mở AI Token Usage Meter.
  3. Chọn tab Events.
  4. Tìm các chat event trong danh sách.
Cần kiểm tra:
  • Tên event: ai_chat_usage
  • Customer ID: test customer ID của bạn
Tab Events của AI Token Usage Meter liệt kê các event ai_chat_usage
Danh sách có một event cho mỗi tin nhắn bạn đã gửi.
5

Verify Token Counting

Gửi thêm một vài tin nhắn, sau đó kiểm tra aggregation:
  1. Trong meter, chọn tab Customers.
  2. Tìm test customer của bạn.
  3. Kiểm tra cột Consumed Units. Cột này hiển thị tổng số token đã sử dụng.
Tab Customers của meter hiển thị consumed units của test customer
Meter cộng giá trị totalTokens từ mọi event.
6

Test the Free Tier

Sử dụng đủ token để vượt free tier:
  1. Thực hiện thêm vài cuộc hội thoại cho đến khi tổng số vượt khoảng 15.000 token.
  2. Mở lại tab Customers của meter.
  3. Kiểm tra các giá trị:
    • Consumed Units: hơn 15.000 token
    • Chargeable Units: 5.000 (đã áp dụng 10.000 token miễn phí)
    • Total Price: ~$0.05
Tab Customers của meter hiển thị consumed units, chargeable units và total price sau khi áp dụng free tier
Usage-based billing hoạt động. Khách hàng bị tính phí cho số token họ sử dụng.

Xử lý sự cố

Các vấn đề thường gặp và cách khắc phục:
Nguyên nhân có thể:
  • Tên event không khớp chính xác với cấu hình meter
  • Customer ID không tồn tại trong account của bạn
  • API key không hợp lệ hoặc đã hết hạn
  • Vấn đề kết nối mạng
Giải pháp:
  1. Kiểm tra tên event khớp chính xác với meter. Tên phân biệt chữ hoa chữ thường: ai_chat_usage.
  2. Kiểm tra customer ID tồn tại trong dashboard Dodo Payments.
  3. Kiểm thử API key bằng một API call đơn giản.
  4. Kiểm tra server log để tìm lỗi.
Nguyên nhân có thể:
  • Model không trả về thông tin usage
  • Phiên bản SDK không chính xác
Giải pháp:
  1. Kiểm tra model có trả về usage hay không:
  1. Cập nhật package Blueprints: npm install @dodopayments/ingestion-blueprints@latest
Nguyên nhân có thể:
  • API key thuộc mode khác.
  • Tệp .env có khoảng trắng hoặc dấu ngoặc kép thừa.
Giải pháp:
  • Một key chỉ hoạt động trong mode mà key được tạo. Sử dụng test mode key với DODO_PAYMENTS_ENVIRONMENT=test_mode và live mode key với live_mode.
  • Xóa mọi dấu ngoặc kép xung quanh key trong tệp .env.
  • Tạo key mới nếu cần.
Cần trợ giúp?

Chúc mừng! Bạn đã xây dựng ứng dụng trò chuyện AI

Bạn đã có một ứng dụng trò chuyện AI hoạt động tốt, theo dõi lượng token sử dụng và tính phí khách hàng thông qua Dodo Payments.

Tìm hiểu thêm

LLM Blueprint

Theo dõi lượng token LLM sử dụng bằng LLM Ingestion Blueprint.

Ingestion Blueprints SDK

Xem thêm ví dụ trong GitHub repository.

Join Community

Nhận trợ giúp và chia sẻ project của bạn trên Discord.
Lần sửa đổi cuối 26 tháng 9, 2026