Skip to main content
让Sentra为您编写集成代码。
在VS Code、Cursor或Windsurf中使用我们的AI助手,只需描述您想要实现的功能,就可以生成SDK/API代码、LLM Blueprint集成代码、webhooks等。
试用Sentra:AI驱动的集成 →
在本教程中,您将构建一个具有自动基于使用计费的AI聊天应用程序。我们将从头开始创建所有内容:计费仪表、产品配置以及支持对话的应用代码,并实时跟踪令牌使用情况。
本教程提供了一个完整的工作应用,包括后端和前端。聊天应用使用谷歌的Gemini AI,自动跟踪令牌使用,无需手动计数。
在本教程结束时,您将拥有一个可工作的聊天应用程序,其功能包括:
  • 使用Google Gemini(AI SDK)支持AI对话
  • 自动跟踪令牌使用(无手动代码)
  • 根据实际令牌消耗向客户收费
  • 包含美观的聊天界面
AI Chat Demo

我们正在构建的内容

让我们先了解我们的AI聊天服务:
  • 服务:使用Google Gemini(AI SDK)支持的AI聊天
  • 定价模式:按令牌付费(每1,000个令牌$0.01)
  • 免费层级:每位客户每月10,000个免费令牌
  • 功能:对话历史、自动令牌跟踪
在开始之前,确保您拥有:
  • 一个Dodo Payments账户
  • 一个Google AI API密钥(从aistudio获取
  • 安装了Node.js v16+

步骤1:创建您的使用计量器

我们将首先在您的Dodo Payments仪表板中创建一个计量器,用于跟踪AI令牌的使用。
我们正在构建的内容:一个名为”AI令牌使用计量器”的计量器,汇总在聊天对话中消耗的所有令牌。
1

Open the Meters section

  1. 登录到您的Dodo Payments仪表板
  2. 点击左侧边栏中的产品
  3. 点击计量器
  4. 点击创建计量器按钮
Create Meter
您应该会看到一个表单,我们将在此配置令牌跟踪。
2

Fill in the basic meter information

现在我们将输入AI聊天服务的具体细节:计量器名称AI Token Usage Meter描述Tracks token consumption from AI chat conversations using AI SDK事件名称ai_chat_usage
事件名称 ai_chat_usage 必须与我们稍后从应用程序代码发送的内容完全匹配。事件名称区分大小写!
3

Configure how we count tokens

设置聚合(计量器如何对我们的事件进行计数):聚合类型:从下拉菜单中选择Sum聚合范围:类型 → totalTokens计量单位:类型 → tokens
我们使用”Sum”是因为我们要将多个聊天消息中消耗的所有令牌相加。SDK会自动在每个事件中发送 totalTokens
4

Create your meter

  1. 仔细检查您的所有设置是否与上述值匹配
  2. 点击创建计量器
Meter Configuration
计量器已创建! 您的”AI令牌使用计量器”现在已准备好开始计数令牌。接下来,我们将其连接到计费产品中。

步骤2:获取您的API密钥

在我们构建应用之前,让我们收集所需的API密钥。
1

Get Dodo Payments API Key

  1. 在您的Dodo Payments仪表板中,依次进入开发者API密钥
  2. 点击创建API密钥
  3. 复制API密钥 - 看起来像test_abc123...
保存此API密钥 - 稍后我们将在文件.env中添加它。
2

Get Google AI API Key

  1. 访问 aistudio.google.com
  2. 点击获取API密钥
  3. 创建新API密钥或使用现有密钥
  4. 复制密钥
保管好此密钥 - 我们也将在文件.env中加入它。

步骤3:创建您的计费产品

现在我们需要创建一个定义定价的产品(每1,000个令牌$0.01,含10,000个免费令牌)。这将我们的计量器与实际计费相连接。
我们正在构建的内容:一个名为”AI聊天服务”的产品,基于令牌消耗收费,并有慷慨的免费层级。
1

Navigate to Products

  1. 在您的Dodo Payments仪表板中,点击左侧边栏的产品
  2. 点击创建产品
  3. 选择基于使用作为产品类型
这告诉Dodo Payments,将根据计量器使用情况收费,而不是固定订阅。
2

Enter product details

填写必需的详细信息:产品名称: → AI Chat Service描述: → AI-powered chat service with automatic token-based billing产品图片: 上传相关图片
这些将在客户发票上显示,因此要清晰和专业。
3

Connect your meter

在连接您的计量器之前,请确保您已选择基于使用计费作为产品的价格类型。另外,将固定价格设置为0,以确保客户仅根据其使用情况收费,没有基础费用。现在,链接您刚创建的计量器:
  1. 向下滚动到关联计量器部分
  2. 点击添加计量器
  3. 从下拉列表中选择**“AI令牌使用计量器”**(您之前创建的)
  4. 确认其显示在您的产品配置中
您的计量器现已成功连接到此产品。
4

Set your pricing

这里是我们定义商业模式的地方:每单位价格: 输入 → 0.00001(即每1,000个令牌0.01或每个令牌0.01或每个令牌0.00001)免费阈值: 输入 → 10000(客户每月可获得10,000个免费令牌)
Product Pricing
计费方式:如果客户在一个月内使用了25,000个令牌,他们将被收取15,000个令牌的费用(25,000 - 10,000免费)= 15,000 × 0.00001=0.00001 = 0.15
5

Save your product

  1. 检查您的所有设置:
    • 名称:AI聊天服务
    • 计量器:AI令牌使用计量器
    • 价格:每1,000个令牌$0.01
    • 免费层级:10,000个令牌
  2. 点击保存更改
产品已创建! 您的计费现已配置完毕。客户将根据其令牌使用情况自动收费。

步骤4:进行测试购买

在我们开始构建应用之前,让我们通过购买创建一个测试客户。
1

Get your payment link

  1. 在您的Dodo Payments仪表板中,进入产品
  2. 找到您的”AI聊天服务”产品
  3. 点击产品旁边的分享按钮
  4. 复制出现的付款链接
2

Complete a test purchase

  1. 在新的浏览器标签中打开支付链接
  2. 输入测试支付详情并完成购买
支付成功后,您将获得一个客户ID,我们将在我们的应用程序代码中使用。
3

Find your customer ID

  1. 回到您的Dodo Payments仪表板
  2. 导航到左侧边栏的销售 -> 客户
  3. 找到您刚创建的客户(使用测试电子邮件)
  4. 复制客户ID - 看起来像cus_123
保存此客户ID - 我们将在测试聊天应用程序时使用它。

步骤5:构建聊天应用程序

现在我们已经完成了计费设置并创建了一个测试客户。让我们构建一个具有自动令牌跟踪的AI聊天应用程序。
1

Set up your project

创建一个新目录并初始化项目:
2

Install dependencies

安装我们需要的软件包:
3

Configure TypeScript

创建tsconfig.json
tsconfig.json
更新package.json以添加模块类型和脚本:
package.json
4

Create project structure

创建文件夹和文件:
5

Set up environment variables

在项目根目录下创建.env文件:
.env
将占位符值替换为您在步骤2中获得的实际API密钥。
6

Create the backend server

创建src/server.ts并复制完整的服务器代码:
这里是集成了计费的完整AI聊天服务器:

步骤6:添加聊天界面

现在让我们添加一个美观的聊天界面,并具备完整的对话历史!创建public/index.html
public/index.html

步骤7:测试您的聊天应用程序

是时候测试我们的AI聊天应用程序,并查看计费是否正常工作!让我们确保整个过程都能顺利运行。
我们正在测试的内容:我们将与AI进行一些对话,验证令牌事件是否到达Dodo Payments,并确认计费计算是否正确。
1

Start the server

首先,确保一切准备就绪:
  1. 验证您的.env文件包含步骤2中的所有API密钥
  2. 启动开发服务器:
您应该会看到:
服务器正在运行!是时候聊天了。
2

Open the chat interface

  1. 打开浏览器
  2. 导航到http://localhost:3000
  3. 您应该会看到美观的聊天界面
确保您将文件server.ts中的CUSTOMER_ID更新为步骤4中的实际测试客户ID。
3

Have your first conversation

让我们测试一下!试试这些消息:
  1. “什么是人工智能?”
  2. “机器学习如何工作?”
  3. “你能解释一下神经网络吗?”
查看每次响应后的令牌使用显示是否更新!
如果您看到AI响应和令牌计数出现,您的应用程序就正常工作了!
4

Check your Dodo Payments dashboard

现在,让我们验证事件是否被接收:
  1. 打开您的Dodo Payments仪表板
  2. 进入使用计费AI令牌使用计量器
  3. 点击事件标签
  4. 您应该会看到列出的聊天事件
要查看的内容:
  • 事件名称:ai_chat_usage
  • 客户ID:您的测试客户ID
Meter Events
您应该会看到您发送的每条消息对应一个事件!
5

Verify token counting

让我们发送更多的消息,检查令牌聚合是否正常工作:
  1. 在计量器中,进入客户标签
  2. 找到您的测试客户
  3. 检查”消耗单位”列 - 它应显示使用的总令牌
Meter Customer Tokens
计量器正在自动汇总所有totalTokens值!
6

Test the free tier

让我们使用足够的令牌以超出免费层级:
  1. 发起更多对话(目标是总计超过15,000个令牌)
  2. 再次检查计量器仪表板中的客户标签
  3. 您现在应该会看到:
    • 消耗单位:15,000+个令牌
    • 可收费单位:5,000(应用10,000免费令牌)
    • 总价格:约$0.05
Free Tier Test
成功! 您的基于使用的计费工作正常。客户将根据其实际令牌消耗量自动收费。

故障排除

常见问题及解决方案:
可能原因:
  • 事件名称与计量器配置不完全匹配
  • 客户ID在您的账户中不存在
  • API密钥无效或已过期
  • 网络连接问题
解决方案:
  1. 验证事件名称与计量器配置完全匹配(区分大小写:ai_chat_usage
  2. 检查客户ID是否存在于Dodo Payments仪表板中
  3. 使用简单API调用测试API密钥
  4. 检查服务器日志中的错误消息
可能原因:
  • 模型未返回使用信息
  • SDK版本不正确
解决方案:
  1. 测试模型是否返回使用信息:
  1. 将LLM Blueprints SDK更新至最新版本:npm install @dodopayments/ingestion-blueprints@latest
可能原因:
  • 使用了错误的API密钥环境
  • 在文件.env中有多余的空格或引号
解决方案:
  • 确保测试密钥以test_开头,实时密钥以live_开头
  • 删除文件.env中密钥周围的任何引号
  • 如有需要,生成新密钥
需要帮助吗?

恭喜!您已成功构建AI聊天应用

您现在拥有一个功能齐全的AI聊天应用程序,具备由Dodo Payments支持的自动令牌使用跟踪和计费功能。🎉

了解更多

最后修改于 2026年7月21日