💰 骑手结算与分账方案

本章详述即时配送小程序的骑手结算规则、分账方案、提现流程,以及与微信支付分账API的对接设计。包括结算周期、奖惩机制、分账比例配置等。

T+1结算 自动分账 微信分账API

结算原则:骑手收入按配送订单的80%计算,平台收取20%服务费;确认送达后自动分账,次日可提现;提现需审核,大额打款由财务复核。

一、骑手结算规则

1.1 结算周期

结算类型说明
T+1 结算订单确认送达后,次日开始计算可提现金额
提现周期每日 09:00-18:00 可申请提现,其余时间暂停
到账时间申请后 1-3 个工作日到账(微信转账)
月度结算每月最后一日结算当月收入,生成月账单

1.2 收入计算规则

骑手收入 = 订单配送费 × 分账比例(80%)
骑手净收入 = 配送收入 + 奖励金额 - 罚款金额 - 平台服务费
平台服务费 = 订单配送费 × 20%

1.3 分账比例配置

配置项默认比例说明
骑手分账比例80%订单配送费的80%归骑手
平台抽成比例20%平台收取的服务费
阶梯奖励月单量>=500额外+2%阶梯奖励提升骑手积极性

* 分账比例可通过后台按站点、骑手等级差异化配置

二、分账流程设计

2.1 自动分账时序图

sequenceDiagram participant U as 用户 participant C as 骑手 participant APP as 小程序 participant API as 后端服务 participant PAY as 微信支付 participant DB as 数据库 U->>APP: 确认送达 APP->>API: 上传达成确认 API->>DB: 更新订单状态(已完成) API->>API: 计算骑手收入 API->>PAY: 发起分账请求 PAY->>PAY: 冻结用户支付资金 PAY->>PAY: 解冻并分账 PAY-->>API: 分账成功 API->>DB: 更新骑手钱包余额 API->>DB: 记录收入流水 API->>DB: 记录平台佣金收入 API->>C: 推送收入到账通知

2.2 提现流程时序图

sequenceDiagram participant C as 骑手 participant APP as 小程序 participant API as 后端服务 participant PAY as 微信支付 participant DB as 数据库 participant FIN as 财务 C->>APP: 申请提现 APP->>API: 提交提现申请 API->>DB: 检查可提现余额 DB-->>API: 余额充足 API->>DB: 冻结提现金额 API->>DB: 创建提现记录 alt 小额(<1000) API->>PAY: 发起微信转账 PAY-->>API: 转账成功 else 大额(>=1000) API->>FIN: 推送财务审核 FIN->>API: 审核通过 API->>PAY: 发起微信转账 PAY-->>API: 转账成功 end API->>DB: 更新钱包(扣除冻结) API->>DB: 更新提现状态 API->>C: 推送到账通知

2.3 分账状态机

stateDiagram-v2 [*] --> 待分账: 订单完成 待分账 --> 分账中: 发起分账请求 分账中 --> 已分账: 微信返回成功 分账中 --> 分账失败: 微信返回失败 分账失败 --> 待重试: 自动重试 待重试 --> 分账中: 重试执行 分账失败 --> 人工处理: 重试超限 人工处理 --> 已分账: 人工确认 人工处理 --> 已挂账: 无法追回 已分账 --> [*] 已挂账 --> [*]

三、奖惩机制

3.1 奖励规则

奖励类型金额条件
新骑手奖励首周完成20单额外奖励¥50新注册骑手
高峰冲量奖11:00-13:00/17:00-19:00 每单+¥1高峰期完成配送
好评奖励每单+¥0.5用户给予5星好评
月冲量奖月单量>=500额外+2%收入月度统计
恶劣天气补贴每单+¥2-5气象台发布预警时

3.2 扣款规则

扣款类型金额条件
差评扣款-¥50/次用户给予1-2星评价
投诉扣款-¥100/次用户投诉成立
超时扣款-¥10/次超过承诺时间30分钟
货物损坏-¥50-200配送中造成货物损坏
虚假签收-¥200/次未经用户确认自行签收

四、分账数据表

4.1 分账记录表 ot_profit_share

字段类型说明
idbigint主键
share_novarchar(32)分账单号
order_idbigint订单ID
order_novarchar(32)订单编号
courier_idbigint骑手ID
order_amountdecimal(10,2)订单配送费
share_ratiodecimal(5,4)分账比例(0.80)
courier_amountdecimal(10,2)骑手所得
platform_amountdecimal(10,2)平台所得
statustinyint状态(0待分账/1分账中/2已分账/3失败)
share_timedatetime分账时间
fail_reasonvarchar(200)失败原因
created_atdatetime创建时间
updated_atdatetime更新时间

4.2 骑手提现表 ot_courier_withdraw

字段类型说明
idbigint主键
withdraw_novarchar(32)提现单号
courier_idbigint骑手ID
amountdecimal(10,2)提现金额
feedecimal(10,2)手续费
real_amountdecimal(10,2)实发金额
bank_namevarchar(64)开户行
bank_accountvarchar(32)银行账号
statustinyint状态(0待审核/1审核通过/2已打款/3已拒绝)
audit_remarkvarchar(200)审核备注
audit_user_idbigint审核人ID
audit_timedatetime审核时间
pay_timedatetime打款时间
pay_novarchar(64)微信转账单号
created_atdatetime创建时间

五、结算核心API

接口说明关键参数
GET /app/courier/wallet/info骑手钱包信息-
GET /app/courier/wallet/logs收入流水page, size, type
GET /app/courier/wallet/daily-summary每日收入汇总date
POST /app/courier/withdraw/apply申请提现amount
GET /app/courier/withdraw/list提现记录page, size, status
GET /app/courier/settlement/monthly月度结算单period
POST /admin/ot/withdraw/page管理端提现列表page, size, status, date
POST /admin/ot/withdraw/audit审核提现withdraw_id, agree, remark
POST /admin/ot/withdraw/batch-pay批量打款withdraw_ids
POST /admin/ot/settlement/generate生成月结算单period

文档同步:requirements_v2.md 结算模块 | 维护:项目团队