支付与计费功能

本文档整合了MBE系统中所有与支付、计费相关的功能文档。


📋 相关文档


💳 微信/支付宝支付集成 (v2.2.0 新增)

支付流程架构

用户选择套餐 → 创建订单 → 显示二维码 → 扫码支付 → 回调通知 → 订阅生效
     │             │            │            │           │           │
     ▼             ▼            ▼            ▼           ▼           ▼
  前端页面    /api/payment   QR展示     微信/支付宝   /webhook/*   订阅更新
             /create                     扫码支付     回调处理

支付模块结构

src/payments/
├── __init__.py      # 模块初始化
├── config.py        # 支付配置管理(沙箱/生产切换)
├── wechat_pay.py    # 微信支付服务
└── alipay_pay.py    # 支付宝服务

支持的支付方式

平台 支付方式 适用场景
微信支付 Native扫码 PC端展示二维码
JSAPI 公众号/小程序内支付
H5 手机浏览器跳转支付
支付宝 扫码支付 PC端展示二维码
手机网站 移动端H5跳转
电脑网站 PC端跳转支付页

API 端点

端点 方法 说明
/api/payment/create POST 创建支付订单
/api/payment/status/{order_id} GET 查询支付状态
/api/payment/close/{order_id} POST 关闭支付订单
/webhook/wechat/pay POST 微信支付回调
/webhook/alipay/pay POST 支付宝回调

创建订单请求示例

POST /api/payment/create
{
  "order_id": "order_123456",
  "amount": 29,
  "provider": "wechat",
  "description": "个人版订阅"
}

响应示例

{
  "success": true,
  "order_id": "order_123456",
  "amount": 29.0,
  "provider": "wechat",
  "code_url": "weixin://wxpay/bizpayurl?pr=xxx",
  "qr_code": null,
  "pay_url": null,
  "expire_time": "2026-01-29T04:00:00",
  "mock": true,
  "sandbox": true
}

环境配置

沙箱模式(当前)

无需配置,系统自动使用模拟支付。

生产模式

在环境变量或 docker-compose.yml 中配置:

environment:
  # 切换到生产环境
  - PAYMENT_ENV=production
  
  # 微信支付配置
  - WECHAT_PAY_APP_ID=你的AppID
  - WECHAT_PAY_MCH_ID=你的商户号
  - WECHAT_PAY_API_V3_KEY=你的APIv3密钥
  - WECHAT_PAY_CERT_SERIAL=证书序列号
  - WECHAT_PAY_PRIVATE_KEY_PATH=/path/to/private_key.pem
  - WECHAT_PAY_NOTIFY_URL=https://your-domain.com/webhook/wechat/pay
  
  # 支付宝配置
  - ALIPAY_APP_ID=你的AppID
  - ALIPAY_PRIVATE_KEY=你的应用私钥
  - ALIPAY_PUBLIC_KEY=支付宝公钥
  - ALIPAY_NOTIFY_URL=https://your-domain.com/webhook/alipay/pay

商户申请

平台 申请地址 审核周期
微信支付 https://pay.weixin.qq.com 1-5个工作日
支付宝 https://open.alipay.com 1-3个工作日

💳 支付自动开通权限

功能概述

支付成功后,系统自动完成以下操作:

  1. 更新用户订阅计划
  2. 更新Token计费配置
  3. 开通相应权限

实现细节

详见 支付自动开通权限文档


📊 计费管理流程

测试覆盖

  • 用户注册和认证
  • 订阅管理
  • Token余额和使用统计
  • 支付订单创建和查询

测试脚本

详见 计费流程测试文档


最后更新: 2026-01-29