Skip to main content
Để coding agent viết phần tích hợp, 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 PixelGen AI, một dịch vụ mẫu tạo hình ảnh AI tính phí khách hàng theo từng hình ảnh bằng usage-based billing. Bạn sẽ tạo billing meter, product và mã ứng dụng mẫu để tạo hình ảnh rồi báo cáo từng hình ảnh cho Dodo Payments ngay khi phát sinh.
Tutorial này cung cấp mã mẫu cho một ứng dụng terminal. Bạn có thể điều chỉnh mã cho framework của mình, chẳng hạn như React, Vue hoặc Angular, cũng như cho cách ứng dụng thu thập input của người dùng.
Khi hoàn tất, bạn sẽ có một dịch vụ mẫu hoạt động có thể:
  • Tạo hình ảnh bằng model gpt-image-2.5-flare của OpenAI.
  • Theo dõi mọi lần tạo hình ảnh để tính phí.
  • Tính phí khách hàng cho những hình ảnh họ tạo.
  • Xử lý hai cấp độ chất lượng, medium và high.

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

PixelGen AI hoạt động như sau:
  • Dịch vụ: Tạo hình ảnh AI bằng OpenAI Image API
  • Mô hình định giá: Thanh toán theo từng hình ảnh ($0.05 cho mỗi hình ảnh)
  • Gói miễn phí: 10 hình ảnh miễn phí cho mỗi khách hàng mỗi tháng
  • Tùy chọn chất lượng: Hình ảnh chất lượng medium và high, với cùng một mức giá
Trước khi bắt đầu, bạn cần:
  • Một tài khoản Dodo Payments.
  • Quyền truy cập vào OpenAI API. OpenAI có thể yêu cầu xác minh tổ chức API trước khi bạn sử dụng các model GPT Image.
  • Node.js 22 trở lên, cùng kiến thức thực tế về TypeScript và Node.js.

Bước 1: Tạo Usage Meter

Tạo một meter trong dashboard Dodo Payments để theo dõi mọi hình ảnh mà dịch vụ tạo ra. Meter sẽ đếm các billable event.
Biểu mẫu Create Meter trong dashboard Dodo Payments
Bạn đang xây dựng: Một meter có tên “Image Generation Meter” để đếm mọi lượt tạo hình ảnh.
1

Open the Meters Section

  1. Đăng nhập vào dashboard Dodo Payments.
  2. Đi tới Products → Meters trong sidebar.
  3. Nhấp Create Meter.
Biểu mẫu meter sẽ mở.
2

Enter the Meter Details

Nhập thông tin cho PixelGen AI:Meter Name: Image Generation MeterMô tả: Tracks each AI image generation request made by customers using our OpenAI image serviceEvent Name: image.generated
Event name image.generated phải khớp với event name mà mã ứng dụng gửi. Event name phân biệt chữ hoa chữ thường.
3

Configure How Images Are Counted

Thiết lập aggregation, kiểm soát cách meter kết hợp các event:Aggregation Type: CountMeasurement Unit: images
Count tính phí theo từng hình ảnh được tạo, không theo kích thước hoặc thời gian tạo. Mỗi hình ảnh tạo thành công là một billable unit.
4

Add Quality Filtering

Lọc event trên biểu mẫu meter với hai điều kiện quality được nối bằng OR
Chỉ đếm hình ảnh thực, không đếm lượt chạy thử hoặc event không hợp lệ:
  1. Bật Enable Event Filtering.
  2. Đặt logic so khớp thành OR, để một sự kiện được tính khi bất kỳ điều kiện nào khớp.
  3. Thêm điều kiện đầu tiên:
    • Key: quality
    • Operator: equals
    • Value: medium
  4. Nhấp vào Add condition và thêm điều kiện thứ hai:
    • Key: quality
    • Operator: equals
    • Value: high
Với bộ lọc này, meter chỉ tính những sự kiện có chất lượng là medium hoặc high, đồng thời bỏ qua các sự kiện thử nghiệm hoặc không hợp lệ.
5

Create Your Meter

  1. Kiểm tra để mọi thiết lập 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 Create Meter.
Đã tạo meter. “Image Generation Meter” đã sẵn sàng đếm các lượt tạo hình ảnh. Tiếp theo, hãy kết nối meter với một billing product.

Bước 2: Tạo Billing Product

Tạo một product xác định mức giá: $0.05 mỗi hình ảnh, với 10 hình ảnh 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 “PixelGen AI - Image Generation”, tính phí $0.05 cho mỗi hình ảnh sau 10 hình ảnh miễn phí đầu tiên mỗi tháng.
1

Navigate to Products

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

Enter Product Details

Nhập các giá trị sau:Product Name: PixelGen AI - Image GenerationDescription: AI-powered image generation service with pay-per-use billingProduct Image: Tải lên một hình ảnh rõ ràng, phù hợp.
Tên và mô tả sẽ xuất hiện trên hóa đơn khách hàng.
3

Connect Your Meter

Giá Usage Based Billing trên biểu mẫu product với phần Associated Meters
Kiểm tra để loại giá của product là Usage Based Billing.Đặt Price thành 0 để khách hàng chỉ trả tiền cho mức 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 Add meters.
  3. Chọn “Image Generation Meter” từ dropdown.
  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á theo từng hình ảnh và gói miễn phí:
Giá meter với các trường giá theo đơn vị và ngưỡng miễn phí
Price per unit: 0.05, tương đương $0.05 mỗi hình ảnh.Free Threshold: 10. Mỗi khách hàng được 10 hình ảnh miễn phí mỗi tháng.
Cách billing hoạt động: Khách hàng tạo 25 hình ảnh trong một tháng sẽ trả tiền cho 15 hình ảnh (25 − 10 hình ảnh miễn phí). 15 × $0.05 = $0.75.
5

Save Your Product

  1. Xem lại các thiết lập:
    • Name: PixelGen AI - Image Generation
    • Meter: Image Generation Meter
    • Price: $0.05 mỗi hình ảnh
    • Free tier: 10 hình ảnh
  2. Nhấp Save Changes.
Đã tạo product. Billing đã được cấu hình và khách hàng sẽ bị tính phí cho những hình ảnh họ tạo.

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

Mua product một lần ở test mode. Giao dịch mua sẽ tạo customer mà ứng dụng dùng để gửi usage event.
1

Get Your Payment Link

  1. Trong dashboard Dodo Payments, đi tới Products.
  2. Tìm product “PixelGen AI - Image Generation”.
  3. Nhấp Share bên cạnh product.
  4. Sao chép payment link.
Payment link có dạng https://test.checkout.dodopayments.com/buy/pdt_IgPWlRsfpbPd5jQKezzW1?quantity=1.
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 mua.
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 tới Sales → Customers trong sidebar.
  3. Tìm customer bạn đã tạo bằng địa chỉ email thử nghiệm.
  4. Sao chép customer ID. ID có dạng cus_abc123def456.
Lưu customer ID này. Ứng dụng mẫu sẽ thiết lập ID trong mã, vì vậy mọi event đều được ghi nhận cho customer này.

Bước 4: Xây dựng ứng dụng mẫu

Sau khi thiết lập billing và tạo customer thử nghiệm, hãy xây dựng ứng dụng PixelGen AI mẫu. Ứng dụng tạo một hình ảnh và báo cáo hình ảnh đó cho Dodo Payments để billing.
Mẫu này gọi model gpt-image-2.5-flare của OpenAI thông qua Image API. Image API trả về dữ liệu hình ảnh được mã hóa base64, nên mẫu sẽ lưu mỗi hình ảnh dưới dạng tệp PNG. Phần Dodo Payments (meter, product và sự kiện sử dụng image.generated) không phụ thuộc vào model.
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

Create the Main Application

Tạo tệp có tên index.ts và dán mã ứng dụng bên dưới vào tệp.
Ứng dụng PixelGen AI hoàn chỉnh có billing, cùng với .env và package.json tương ứng:

Bước 5: Kiểm thử ứng dụng mẫu

Kiểm thử PixelGen AI từ đầu đến cuối và theo dõi usage được gửi đến Dodo Payments.
Bạn đang kiểm thử: Bạn tạo một vài hình ảnh, xác nhận event đến Dodo Payments và kiểm tra phép tính billing.
1

Set Up Your Environment

  1. Tạo tệp .env trong thư mục pixelgen-ai.
  2. Thêm API key của bạn:
  1. Cài đặt dependency và chạy ứng dụng:
Sử dụng API key thực và thay customer ID hardcoded trong index.ts bằng customer ID ở Bước 3.
2

Generate Your First Test Image

Khi ứng dụng khởi động, ứng dụng sẽ in:
Nhập prompt này: “A cute robot painting a landscape”Kết quả có dạng như sau. Các dòng debug request mà sendUsageEvent in ra được lược bỏ:
Nếu kết quả có “Usage event sent successfully”, tích hợp billing đang hoạt động.
3

Generate a Few More Images

Tạo thêm hai hoặc ba hình ảnh để kiểm thử nhiều event. Chạy npm start một lần cho mỗi hình ảnh, với các prompt sau:
  1. “A sunset over mountains with purple clouds”
  2. “A steampunk coffee machine in a Victorian kitchen”
  3. “A friendly dragon reading a book in a library”
Mỗi lần, hãy kiểm tra thông báo “Usage event sent successfully”.
4

Check Your Dodo Payments Dashboard

Xác nhận Dodo Payments nhận được các event:
  1. Mở dashboard Dodo Payments.
  2. Đi tới Products → Meters và mở Image Generation Meter.
  3. Chọn tab Events.
  4. Tìm các event tạo hình ảnh trong danh sách.
Điều cần kiểm tra:
  • Event name: image.generated
  • Customer ID: customer ID thử nghiệm của bạn
Danh sách có một event cho mỗi hình ảnh bạn đã tạo.
5

Verify Billing Calculations

Kiểm tra số lượng usage:
Tab Customers của meter hiển thị các unit đã sử dụng cho từng customer
  1. Trong meter, chọn tab Customers.
  2. Tìm customer thử nghiệm của bạn.
  3. Kiểm tra cột Consumed Units.
6

Test the Billing Threshold

Vượt qua free tier để xem billing:
  1. Tạo thêm 8 hình ảnh, tổng cộng 12 hình ảnh.
  2. Mở lại tab Customers của meter.
  3. Kiểm tra các giá trị:
    • Consumed Units: 12
    • Chargeable Units: 2 (12 − 10 hình ảnh miễn phí)
    • Total Price: $0.10
Usage-based billing hoạt động. Khách hàng bị tính phí cho những hình ảnh họ tạo.

Khắc phục sự cố

Các vấn đề thường gặp và cách khắc phục:
Nguyên nhân có thể:
  • Event name không khớp chính xác với cấu hình meter
  • Customer ID không tồn tại trong tài khoản của bạn
  • API key không hợp lệ hoặc đã hết hạn
  • Sự cố kết nối mạng
Giải pháp:
  1. Kiểm tra event name khớp chính xác với meter. Event name phân biệt chữ hoa chữ thường.
  2. Kiểm tra customer ID tồn tại trong Dodo Payments.
  3. Kiểm thử API key bằng một API call đơn giản.
  4. Kiểm tra kết nối mạng và thiết lập firewall.

Chúc mừng! Bạn đã xây dựng PixelGen AI

Bạn đã xây dựng một trình tạo hình ảnh AI mẫu với usage-based billing:

Usage Meter

Một “Image Generation Meter” đếm mọi event tạo hình ảnh.

Billing Product

Mức giá $0.05 cho mỗi hình ảnh, với 10 hình ảnh miễn phí mỗi tháng.

AI Application

Một ứng dụng TypeScript tạo hình ảnh bằng OpenAI image API.

Automated Billing

Theo dõi event để báo cáo từng hình ảnh ngay khi được tạo, nhờ đó khách hàng bị tính phí theo usage.
Lần sửa đổi cuối 26 tháng 9, 2026