计费管理流程测试报告
测试概述
本测试脚本 (scripts/test_billing_workflow.py) 用于测试MBE系统的完整计费管理流程,包括用户注册、订阅管理、Token余额、支付订单等功能。
测试场景
1. 用户注册和认证
- ✅ 用户注册(邮箱+密码)
- ✅ 获取访问Token
- ✅ 用户ID生成
2. 订阅管理
- ✅ 获取当前订阅信息(默认免费套餐)
- ✅ 查看定价信息(4个套餐:免费版、个人版、专业版、企业版)
- ✅ 升级订阅(创建支付订单)
- ✅ 取消订阅
3. Token余额和使用统计
- ✅ 获取使用统计(今日/本月使用量、限额、剩余额度)
- ✅ 检查配额(是否允许使用服务)
4. 支付管理
- ✅ 创建支付订单(订阅升级)
- ✅ 创建独立支付订单(Token充值)
- ⚠️ 查询支付状态(部分功能待完善)
测试结果
成功测试的功能
用户注册和登录
- 成功创建测试用户
- 获取访问Token
- 用户ID正确生成
订阅信息查询
- 默认套餐:免费版(free)
- 套餐状态:active
- 定价信息正确显示
使用统计
- 今日使用:0
- 今日限额:-1(无限制)
- 本月使用:0
- 本月限额:50000 Token
- 剩余额度:50000 Token
配额检查
- 配额充足,允许使用服务
支付订单创建
- 订阅升级订单创建成功
- Token充值订单创建成功
- 订单ID正确生成
需要关注的问题
- 支付状态查询
- 订阅升级订单:状态为
not_found(可能因为支付服务未完全实现) - Token充值订单:返回500错误(内部服务器错误)
- 订阅升级订单:状态为
API端点测试
已测试的端点
| 端点 | 方法 | 状态 | 说明 |
|---|---|---|---|
/api/v1/users/register |
POST | ✅ | 用户注册 |
/api/v1/users/subscription |
GET | ✅ | 获取订阅信息 |
/api/v1/users/pricing |
GET | ✅ | 获取定价信息 |
/api/v1/users/usage |
GET | ✅ | 获取使用统计 |
/api/v1/users/usage/check |
GET | ✅ | 检查配额 |
/api/v1/users/subscription/upgrade |
POST | ✅ | 升级订阅 |
/api/v1/users/payment/create |
POST | ✅ | 创建支付订单 |
/api/v1/users/payment/status/{id} |
GET | ⚠️ | 查询支付状态 |
测试数据
套餐信息
免费版 (FREE)
- 价格:0元/月
- 特性:每日20次分析、每月50次分析、7天历史记录、基础支持
个人版 (PERSONAL)
- 价格:19元/月
- 特性:每日20次分析、每月300次分析、30天历史记录、自定义画像、邮件支持
专业版 (PRO)
- 价格:59元/月
- 特性:每日100次分析、每月2000次分析、90天历史记录、API访问、优先支持、高级分析报告
企业版 (ENTERPRISE)
- 价格:299元/月
- 特性:无限分析次数、365天历史记录、专属API、专属客服、定制开发、SLA保障
运行测试
cd d:\Mises\mises-behavior-engine
python scripts/test_billing_workflow.py
测试输出示例
============================================================
计费管理流程测试
============================================================
[1] 注册用户: billing_test_xxx@test.com
[OK] 注册成功
- 用户ID: xxx-xxx-xxx
- Token: eyJhbGciOiJIUzI1NiIs...
[2] 获取订阅信息
[OK] 当前套餐: free
- 状态: active
[3] 获取定价信息
[OK] 可用套餐 (4个):
- 免费版: 0元/月
- 个人版: 19元/月
- 专业版: 59元/月
- 企业版: 299元/月
[7] 获取使用统计
[OK] 使用统计:
- 今日使用: 0
- 今日限额: -1
- 本月使用: 0
- 本月限额: 50000
- 剩余额度: 50000
[8] 检查配额
[OK] 配额充足
[4] 升级订阅到: personal
[OK] 支付订单已创建
- 订单ID: xxx-xxx-xxx
- 金额: 19.0元
- 支付渠道: wechat
[9] 创建支付订单
[OK] 支付订单已创建
- 订单ID: xxx-xxx-xxx
- 金额: 100.0元
============================================================
[OK] 计费管理流程测试完成
============================================================
后续改进建议
完善支付服务
- 实现支付状态查询功能
- 添加支付回调处理
- 完善支付记录存储
增强测试覆盖
- 测试Token使用记录和计费
- 测试月度汇总功能
- 测试超量计费场景
添加错误处理
- 处理支付失败场景
- 处理配额不足场景
- 处理订阅过期场景
支付自动开通权限
✅ 支付成功后会自动开通权限
当支付成功回调处理完成后,系统会自动:
- 升级用户订阅套餐
- 更新Token计费配置
- 更新用户权限
详细流程请参考:支付自动开通权限流程
相关文件
scripts/test_billing_workflow.py- 测试脚本src/users/token_billing.py- Token计费服务src/users/billing.py- 支付服务src/users/subscription.py- 订阅管理src/users/router.py- 用户API路由PAYMENT_AUTO_ACTIVATION.md- 支付自动开通权限流程文档