Appearance
安心支付订单业务全流程
本页说明支付宝安心生活订单从预约通知、家政人广场、金刚建单、员工履约、支付宝核销到佣金提现的完整闭环。
关键编号
| 名称 | 来源 | 用途 |
|---|---|---|
| 预约单号 | 支付宝 booking_id | 识别一次服务预约,金刚家政人广场以此做主要幂等 |
| 安心订单 ID | 支付宝 order_id,核销时也作为 card_id | 识别安心权益订单,同一有效订单不得重复放单 |
| 核销扣款单号 | 支付宝 deduction_order_id | 证明核销已确认,也是核销后退款的依据 |
| 需求编号 | 金刚家政人广场需求标识 | 连接预约、抢单、渠道数据和金刚订单 |
| 金刚订单号 | 人工或自动接单后生成的 DS... | 员工派单、履约、佣金和钱包明细的主订单号 |
阶段一:接收支付宝通知
支付宝预约通知先到外部桥接服务。桥接服务完成:
- 验证支付宝签名。
- 解析客户、服务时间、服务地址、预约单号、安心订单 ID、服务 ID 和支付宝门店 ID。
- 按支付宝门店 ID 补齐门店名称。
- 保存原始通知和解析结果,重复通知按通知 ID 更新。
- 将预约数据转交金刚后端放入家政人广场。
同一安心订单 ID 已记录时不会重复新增通知日志。即使支付宝重复推送,金刚还会按预约单号和安心订单 ID 做第二层幂等,避免重复需求、重复订单和重复机器人通知。
产品映射找不到时,桥接服务使用兜底产品和金额继续放单,不再因为空查询直接报错。兜底只能保证通知不丢,运营仍要补齐产品映射并核对订单金额。
阶段二:进入家政人广场
预约状态为确认时,金刚只创建家政人广场需求和渠道扩展数据:
text
需求状态 1:待抢单此时还没有金刚订单,因此不会出现在金刚订单列表,也没有可派服务员工的订单记录。
家政人广场记录保存客户、预约时间、地址、服务项目、佣金和渠道编号。渠道数据保存预约单号、安心订单 ID、支付宝门店、原始请求、核销扣款单号和渠道回调结果。
阶段三:抢单后创建金刚订单
只有以下两种事件才创建金刚订单:
| 事件 | 处理结果 |
|---|---|
| 门店人工抢单 | 需求改为已抢单,按抢单门店创建金刚订单 |
| 30 分钟无人抢单 | 系统自动分配给交付,按全国交付门店创建金刚订单 |
自动接单当前归属:
| 项目 | 当前值 |
|---|---|
| 接单人 | 交付 |
| 接单门店 | 小羽佳家政(全国) |
| 超时时间 | 30 分钟 |
创建成功后,需求状态变为已抢单并回写金刚订单号。企业微信机器人只在金刚订单真正创建后发送一次,内容包含接单方式、接单人、接单门店、金刚订单号、客户和服务信息、预约单号、安心订单 ID、支付宝门店名称和门店 ID。机器人发送失败不回滚订单。
阶段四:派服务员工和履约
承接门店在金刚订单中选择服务员工,并填写该员工本单佣金。安心支付不使用全国标准单奖金比例,最终入钱包金额取订单服务人员记录中的员工佣金。
员工履约主线:
text
已接单/已派单
-> 前往服务,状态 50
-> 到场开始服务,状态 60
-> 提交服务记录并结束服务,状态 80员工点击开始服务后,金刚向支付宝同步 fulfill,表示预约已经进入实际履约。该同步失败不会回滚金刚的开始服务状态,需要通过渠道回调日志补偿核对。
阶段五:服务完成和支付宝核销
员工结束服务时,系统先在同一事务内完成金刚订单、档期和结算判断。对于安心支付订单:
- 如果尚无核销扣款单号,记录“等待支付宝核销”,不创建全国标准单分账任务。
- 本地事务提交后,金刚向支付宝发起核销。
- 支付宝异步返回核销扣款单通知。
- 外部桥接服务把核销通知转给金刚。
- 金刚保存核销扣款单号,并重新判断服务是否已完成。
如果支付宝先回核销、员工后完成服务,则先记录“等待服务完成”;员工结束服务时再完成钱包入账。两种先后顺序最终结果一致。
阶段六:佣金进入员工钱包
同时满足“金刚服务完成”和“支付宝核销成功”后,系统逐个读取实际服务人员佣金:
text
钱包入账金额 = order_waiter.service_personal入账前会检查:
- 金刚订单已经生成并完成;
- 员工佣金大于 0;
- 员工有可识别手机号;
- 同一“金刚订单号 + 员工”尚未入账;
- 该订单没有全国标准单易宝分账成功记录。
成功后增加员工钱包可用余额和累计收入,并写入含预约单号、安心订单 ID、核销扣款单号和金刚订单号的钱包流水。未成功的全国标准单任务会改为安心钱包模式并取消,防止同一服务收入重复发放。
阶段七:员工提现和财务打款
钱包提现口径
安心支付佣金、服务奖金和员工开发奖金进入钱包后,员工申请提现时必须逐笔勾选要提现的订单奖金。系统按勾选明细合计生成提现单,并把每条奖金与该提现单固定关联,财务可逐笔核对订单、项目和金额。
text
员工钱包可用余额
-> 员工勾选服务奖金、开发奖金或安心支付佣金明细
-> 系统按勾选金额生成提现申请
-> 可用余额减少、冻结余额增加
-> 财务在云平台查看提现单和订单佣金明细
-> 点击“通过并打款”
-> 校验真实打款开关、出账商户、员工易宝入网和出账可用余额
-> 审核状态变为已通过并立即提交易宝分账
-> 易宝成功:扣减冻结余额,提现完成
-> 易宝处理中:保留处理中,等待回调或补偿任务
-> 易宝失败:显示失败原因,进入重试或人工复核员工申请提现前必须完成易宝个人入网,并满足至少勾选一笔已到余额的奖金、达到当前最低提现金额和无其他处理中提现等条件。申请成功时手续费为 0,实际打款金额等于勾选金额合计;该步骤只把可用余额转为冻结余额并生成 PENDING 提现单,不会立即请求易宝。
财务点击“通过并打款”时,系统先检查真实打款开关、易宝出账商户、员工入网商户和出账可用余额。预检失败不会修改审核状态,也不会解冻或扣减钱包;预检通过后才审核为 APPROVED 并提交易宝。
易宝受理后保持 PROCESSING 并等待回调。只有易宝明确成功才把提现改为 COMPLETED、扣减冻结余额并增加累计已提现;被勾选的奖金明细同步显示“已提现”。调用异常进入重试,明确失败或重试耗尽进入人工复核,金额继续冻结。财务驳回时才把冻结金额退回可用余额,相关奖金明细恢复“已到余额”。
“渠道交易号”是易宝分账请求或渠道返回的追踪编号,用于幂等、回调关联和对账,不是出账账号。实际出账账号由受控运行配置决定。
取消逻辑
| 场景 | 正确处理 |
|---|---|
| 支付宝在待抢单时取消 | 需求直接过期,不创建金刚订单 |
| 支付宝在已抢单后取消 | 需求取消,并尝试把未完成金刚订单改为已取消 |
| 金刚侧取消且尚未核销 | 向支付宝同步取消预约 |
| 金刚侧取消且已有核销扣款单号 | 按核销扣款单发起退款 |
| 已完成或已评价 | 普通自动取消不再允许,转人工核对履约和资金 |
金刚门店端使用统一“取消订单”入口,但后端会按是否存在核销扣款单号分流。云平台普通订单列表的取消入口当前只修改本地订单状态,没有走上述渠道分流,安心订单不得从该入口直接取消。
当前已知风险
| 风险 | 影响 | 处理要求 |
|---|---|---|
| 金刚外部放单当前固定佣金为 199 元 | 上游传入其他金额时可能与金刚需求佣金不一致 | 正式放量其他价格产品前修正金额来源并补测试 |
| 云平台普通取消不通知支付宝 | 本地已取消但支付宝预约或扣款仍有效 | 安心订单改走金刚门店端取消,后续统一取消入口 |
| 金刚取消先提交本地状态,再通知支付宝 | 第三方失败时不会自动恢复本地订单 | 必须查看渠道结果,失败后人工补偿和对账 |
| 产品映射缺失使用兜底 | 产品名称、金额和实际服务可能不一致 | 监控兜底日志并及时补映射 |
| 机器人通知失败不阻断订单 | 群内可能没有提醒,但订单已经创建 | 以订单和需求状态为准,不以群消息判断建单成功 |
验收标准
- 同一预约和安心订单重复通知不会产生第二条有效需求或第二张金刚订单。
- 预约确认时只能看到待抢需求,抢单后才能在订单列表查到金刚订单。
- 人工和自动接单创建订单后均只发送一次完整机器人通知。
- 开始服务会记录渠道履约同步结果。
- 服务完成和核销无论谁先发生,两个条件满足后只入账一次。
- 安心佣金取员工订单佣金,不取全国标准单比例。
- 提现余额不足、员工未入网或出账余额不足时,财务点击通过不会错误完成提现。
- 易宝结果不确定时保持处理中,回调成功后才扣减冻结余额并完成提现。