支付与计费功能
本文档整合了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个工作日 |
💳 支付自动开通权限
功能概述
支付成功后,系统自动完成以下操作:
- 更新用户订阅计划
- 更新Token计费配置
- 开通相应权限
实现细节
详见 支付自动开通权限文档
📊 计费管理流程
测试覆盖
- 用户注册和认证
- 订阅管理
- Token余额和使用统计
- 支付订单创建和查询
测试脚本
详见 计费流程测试文档
最后更新: 2026-01-29