钱包结算所有, 第三方充值到钱包

This commit is contained in:
yml
2026-06-03 17:41:24 +08:00
parent eb7c0045cd
commit a1942c8453
9 changed files with 211 additions and 102 deletions
+7 -6
View File
@@ -354,18 +354,19 @@ MD5 签名步骤:
| API | 说明 |
| --- | --- |
| `POST /api/orders/:id/pay` | 创建或复用支付单,mock 模式会立即模拟渠道支付成功。 |
| `POST /api/orders/:id/pay/query` | 查询支付单并主动向乐刷查单。 |
| `POST /api/wallet/recharge/pay` | 创建钱包充值支付单,返回扫码支付二维码链接;mock 模式会立即模拟充值成功。 |
| `POST /api/wallet/recharge/pay/:id/query` | 查询钱包充值支付单并主动向乐刷查单。 |
| `POST /api/orders/:id/pay` | 订单只使用钱包余额支付,不再直接调用乐刷。 |
| `POST /api/payments/leshua/notify` | 乐刷支付通知回调,不需要登录鉴权,成功返回 `000000`。 |
数据模型:
- 新增 `payment_orders` 表保存支付单、渠道单号、支付链接、请求/响应原文、状态和支付时间。
- `third_order_id` 当前使用租号订单号,后续如果要支持关闭后重新发起多次支付,应改为支付单号或订单号加支付轮次
- 渠道确认支付成功后,不扣用户 `available`,直接向租客 `frozen` 写入 `channel_order_lock`,并推进订单到 `pending_handoff`,后续结账沿用现有冻结释放/结算逻辑
- 乐刷支付单仅用于钱包充值,`order_id = 0``third_order_id` 使用 `payment_no`
- 渠道确认钱包充值成功后,用户 `available` 写入 `channel_recharge` 流水
- 订单支付不再创建乐刷支付单,只扣用户钱包 `available` 并转入 `frozen`,后续结账沿用现有冻结释放/结算逻辑。
当前范围:
- 已接:扫码/简易支付下单、查单、支付成功通知、mock 跑通链路。
- 已接:钱包扫码/简易支付充值、查单、支付成功通知、mock 跑通链路;订单钱包余额支付
- 暂缓:条码支付、JSAPI/小程序必要 openid 获取、退款、退款通知、关单、刷卡交易查询、SM3 签名。