计费管理流程测试报告

测试概述

本测试脚本 (scripts/test_billing_workflow.py) 用于测试MBE系统的完整计费管理流程,包括用户注册、订阅管理、Token余额、支付订单等功能。

测试场景

1. 用户注册和认证

  • ✅ 用户注册(邮箱+密码)
  • ✅ 获取访问Token
  • ✅ 用户ID生成

2. 订阅管理

  • ✅ 获取当前订阅信息(默认免费套餐)
  • ✅ 查看定价信息(4个套餐:免费版、个人版、专业版、企业版)
  • ✅ 升级订阅(创建支付订单)
  • ✅ 取消订阅

3. Token余额和使用统计

  • ✅ 获取使用统计(今日/本月使用量、限额、剩余额度)
  • ✅ 检查配额(是否允许使用服务)

4. 支付管理

  • ✅ 创建支付订单(订阅升级)
  • ✅ 创建独立支付订单(Token充值)
  • ⚠️ 查询支付状态(部分功能待完善)

测试结果

成功测试的功能

  1. 用户注册和登录

    • 成功创建测试用户
    • 获取访问Token
    • 用户ID正确生成
  2. 订阅信息查询

    • 默认套餐:免费版(free)
    • 套餐状态:active
    • 定价信息正确显示
  3. 使用统计

    • 今日使用:0
    • 今日限额:-1(无限制)
    • 本月使用:0
    • 本月限额:50000 Token
    • 剩余额度:50000 Token
  4. 配额检查

    • 配额充足,允许使用服务
  5. 支付订单创建

    • 订阅升级订单创建成功
    • Token充值订单创建成功
    • 订单ID正确生成

需要关注的问题

  1. 支付状态查询
    • 订阅升级订单:状态为 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 ⚠️ 查询支付状态

测试数据

套餐信息

  1. 免费版 (FREE)

    • 价格:0元/月
    • 特性:每日20次分析、每月50次分析、7天历史记录、基础支持
  2. 个人版 (PERSONAL)

    • 价格:19元/月
    • 特性:每日20次分析、每月300次分析、30天历史记录、自定义画像、邮件支持
  3. 专业版 (PRO)

    • 价格:59元/月
    • 特性:每日100次分析、每月2000次分析、90天历史记录、API访问、优先支持、高级分析报告
  4. 企业版 (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] 计费管理流程测试完成
============================================================

后续改进建议

  1. 完善支付服务

    • 实现支付状态查询功能
    • 添加支付回调处理
    • 完善支付记录存储
  2. 增强测试覆盖

    • 测试Token使用记录和计费
    • 测试月度汇总功能
    • 测试超量计费场景
  3. 添加错误处理

    • 处理支付失败场景
    • 处理配额不足场景
    • 处理订阅过期场景

支付自动开通权限

支付成功后会自动开通权限

当支付成功回调处理完成后,系统会自动:

  1. 升级用户订阅套餐
  2. 更新Token计费配置
  3. 更新用户权限

详细流程请参考:支付自动开通权限流程

相关文件

  • 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 - 支付自动开通权限流程文档