增加支付逻辑
This commit is contained in:
1 parent
4ac786aafb
commit
dfb2c91b8d
77 files changed
+6370
-45
No files matched your search
+12
-1
@@ -86,7 +86,18 @@ curl -X POST https://你的域名/api/v1/jobs \
|
||||
|
||||
开放 API 仍按 API Key 和账号分区运行。当前未绑定组织的开放 API 任务保持兼容,不从组织钱包扣费;平台浏览器用户的真实图片/视频任务会按超级管理员配置的服务商标准单价、计费单位和上浮倍率,从所属组织余额冻结。普通用户余额不足时不会提交服务商并返回余额不足错误;超级管理员仍保存计算费用,但不检查、冻结或扣减组织额度,也不产生钱包扣费、退款流水。计费规则与最终金额会随任务保存,任务失败、取消或过期后由 Worker 在最终终态退款;Seedance 成功后按 `usage.completion_tokens` 多退少补,缺少该字段时保留冻结金额。MiniMax H3 按实际输出秒数及输入图片数结算;Wan 3.0 按 `usage.output_video_duration` 的实际时长结算(无视频输入时可回退 `usage.duration`),缺少有效用量时保留预扣并标记为估算。
|
||||
|
||||
组织余额当前只能由超级管理员通过 `/billing` 的“余额与上账”直接入账。所有充值和人工余额调整都只记入组织账本,不存在个人上账归属;组织管理员和员工共同使用组织额度。未来接入支付时,支付成功回调应使用同一幂等上账逻辑自动入账,不产生待审核申请。余额不足时,平台会拒绝创建真实计费任务并返回错误;未配置真实服务商凭据时也不会生成占位结果。
|
||||
组织余额可由超级管理员通过 `/billing` 的“余额与上账”手工入账,也可在启用微信 Native 支付后由组织管理员扫码充值。所有充值和人工余额调整均计入组织账本,组织管理员和员工共同使用额度。支付回调和补单经核验后,在一个数据库事务中更新支付状态并幂等入账。超级管理员还能在「计费 → 微信充值」查看所有组织的订单并发起部分或剩余金额的微信原路退款;微信确认成功后,组织余额才会扣除,必要时允许变为负数。退款写入独立的 `recharge_refund` 账本类型,与生成失败返还余额区分。余额不足时,平台会拒绝创建真实计费任务并返回错误;未配置真实服务商凭据时也不会生成占位结果。
|
||||
|
||||
支付后台接口使用平台登录会话,不接受本页开放 API 的 API Key。只有超级管理员可以调用:
|
||||
|
||||
| 接口 | 用途 |
|
||||
| --- | --- |
|
||||
| `GET /api/payments/admin/orders?organizationId=&limit=50&offset=0` | 分页查看跨组织充值订单;可按组织筛选,返回已退、退款中和可退金额 |
|
||||
| `GET /api/payments/admin/orders/{id}/refunds` | 查看指定订单的退款记录 |
|
||||
| `POST /api/payments/admin/orders/{id}/refunds` | 发起退款,请求体 `{ "amountFen": 5000, "requestKey": "唯一请求ID", "reason": "客户申请" }` |
|
||||
| `GET /api/payments/admin/refunds/{id}` | 查询退款状态 |
|
||||
|
||||
退款原因必填、最多 80 个 UTF-8 字节;同一 `requestKey` 重试不会创建第二笔退款。`pending` 和 `processing` 状态占用可退额度,但不会立即扣除余额;`success` 才扣除,`closed` 释放额度,`abnormal` 保留占用等待核对。关闭充值开关后仍可查看历史订单和退款,不能发起新退款。微信退款通知走无需登录的 `POST /api/payments/wechat/refund-notify`,由后端验签、解密和核对;回调 URL 从支付回调域名派生,无需另设环境变量。接口、配置和财务处理见 [微信支付说明](PAYMENTS.md)。
|
||||
|
||||
创作页通过 `GET /api/billing/balance` 展示当前组织的可用余额。接口仅接受平台会话认证,从服务端刷新后的会话确定组织,忽略客户端组织参数,返回 `organization` 和 `wallet`,不加载账本或价格目录,并设置 `Cache-Control: no-store`。未绑定组织返回 422。页面支持手动刷新,并在提交任务、任务计费状态变化、重新切回页面及可见状态下每 30 秒刷新;超级管理员显示“超管不计额度”。余额提示供用户参考,实际扣费及余额校验仍由服务端执行。
|
||||
|
||||
|
||||
Reference in new issue
Block a user