订单状态机与业务编排

1. 状态机原则

手机分期订单主状态只表达业务主链路,不把首付单、放款单、支付流水、锁机状态塞进主状态机。

首付收款、商户放款、支付通道处理使用子单状态承载;主订单只记录是否已经到达下一业务阶段。

风险正式审批支持“通过、退回补件、拒绝”三类结果。FixRequired 是补件中的可恢复状态:SA 在原订单补齐风险明确指定的资料后重提审批;降级报价仍为后续扩展口径。

2. 主状态定义

主状态进入条件退出条件责任方
DraftingSA 完成客户验证并创建草稿订单正式提交进件bns
Reviewingbns 提交风控审批审批返回通过或拒绝bns + res/fds
FixRequired风险审批返回待补件SA 完成指定资料并重提,或客户放弃/超期bns + res/fds
Approved审批通过客户完成合同签署bns + fcs
Signed合同签署完成首付满足放行条件bns + pmt
Paidbns 确认首付实收金额大于等于应收首付,具备商户放款前置商户放款成功、SA 交机确认、IMEI 反查机型一致且客户还款 App 登录成功bns + fcs + pmt
Completed商户放款成功,SA 回填 IMEI,IMEI 反查品牌/型号与进件商品一致,客户完成还款 App 登录并交机结清后保持完成态或进入贷后完成标识bns + fcs
Closed拒绝、取消、超时、异常关闭终态bns

3. 状态流转

stateDiagram-v2
    [*] --> Drafting
    Drafting --> Reviewing: 提交进件
    Reviewing --> Approved: 审批通过
    Reviewing --> FixRequired: 审批退回补件
    Reviewing --> Closed: 拒绝
    FixRequired --> Reviewing: 补齐资料后重提
    FixRequired --> Closed: 放弃/补件超期
    Approved --> Signed: 合同签署
    Approved --> Closed: 客户拒绝/超时
    Signed --> Paid: 首付满足放行条件
    Signed --> Closed: 签约失效/取消
    Paid --> Completed: 商户放款成功 + 交机 + IMEI 反查机型一致 + 还款 App 登录成功
    Paid --> Closed: 放款异常人工关闭
    Completed --> [*]
    Closed --> [*]

4. 子状态

4.1 首付单状态

状态含义
INIT首付单已创建,未申请虚拟账户
ACCOUNT_CREATED订单级虚拟账户已创建
PAYING等待客户转账
PARTIAL_PAID已少付,待补足
PAID实收金额大于等于应收首付
FAILED收款失败
REVERSED已到账后冲正
CLOSED订单取消或签约失效,首付单关闭

4.2 商户放款单状态

状态含义
INIT放款单已创建
PROCESSING支付域已提交通道
SUCCESS商户打款成功
FAILED商户打款失败,可重试或人工处理
UNKNOWN通道结果未知,等待查询或对账
REVERSED成功后发生冲正或撤销

5. 编排责任

编排动作触发方被调用方说明
创建草稿订单PocketBuy SAbns绑定 SA、门店、客户手机号、商品
提交审批bnsres/fds携带客户、商品、门店、客户选择方案、pfs 试算快照和三方结果
审批结果回调res/fdsbns推进到 Approved / FixRequired / Closed;退回时必须返回待补材料和补充原因
合同签署PocketBuy SA / 客户bns + fcs签署完成后进入 Signed
创建首付单bnsbns + pmtbns 记首付应收和业务状态,pmt 建虚拟账户
首付到账通知pmtbnspmt 收到款后通知 bns,bns 记实收并判断是否足额
发起商户放款bnsfcs首付足额后,bns 通知 fcs;fcs 按商品金额 S 调 pmt 打给商户
商户放款结果pmtfcs -> bns成功后允许进入交机流程;失败保留在 Paid
交机确认PocketBuy SAbns必须校验放款成功,回填 IMEI,通过 IMEI 反查确认品牌/型号与进件商品一致,并确认客户还款 App 登录成功后 Completed

6. 状态推进约束

约束说明
Signed -> Paid只能由 bns 根据 pmt 到账通知确认首付实收金额大于等于应收首付后驱动,SA 不能手工直接推进
Paid -> Completed必须同时满足商户放款成功、IMEI 回填、IMEI 反查品牌/型号与进件商品一致、客户还款 App 登录成功
人脸有效期人脸/活体结果当天有效;签约中断或跨日后重进签约,必须重新采集客户人脸和合照
照片来源全流程照片只允许现场拍摄,不允许从相册上传
放款失败订单保持 Paid,不允许交机
交机机型不一致订单保持 Paid,不允许完成交机,需核对 IMEI、实物设备或进件商品信息
锁机不参与任何 MVP 状态推进
重试审批、首付到账、商户放款回调均需幂等

6.1 订单有效期

订单有效期用于限制 SA 和客户在关键阶段的推进窗口,避免长期占用审批结论、门店库存、报价快照和收款链路。

主状态有效期 / 推进窗口到期处理说明
Drafting7 天不允许继续原草稿;可由运营归档为 Closed草稿可中途恢复;超过 7 天后客户资料、商品价格和政策预览均需重新采集
Reviewing不由订单状态机控制不自动关闭审批时长由风控 控制;本期只等待通过或拒绝结果
FixRequired默认 7 个自然日(后台可配置)到期关闭为 Closed,关闭原因 fix_expired退回时间起算;SA 完成风险指定资料后重提回 Reviewing
Approved72 小时自动关闭为 Closed,关闭原因 expired审核通过后的签约有效期;超过 72 小时后审批结论和报价快照失效,需重新办单
Signed24 小时自动关闭为 Closed,关闭原因 expired合同已签但首付未完成时,限制客户付款窗口;到期后首付单关闭
Paid24 小时保持 Paid 并进入人工处理,必要时关闭为 Closed首付已到账后不建议自动关闭;需运营核查放款、交机或退款处理
Completed长期有效不自动关闭已完成交机并进入贷后,后续由借据和账务状态管理
Closed终态不可重开如需继续办理,必须新建订单并重新审批

7. 最小数据落库要求

主订单只保存跨流程需要稳定追溯的数据,首付单由 bns 保存明细,支付流水由 pmt 保存明细,商户放款单由 fcs/pmt 保存明细。

数据必备字段说明
手机分期订单订单号、客户号、SA、门店、商户、SKU、售价、首付、期数、频率、主状态、报价快照 ID支撑状态流转、审批追溯、签约、放款和交机
交机 IMEI 校验IMEI、IMEI 反查记录 ID、反查品牌、反查型号、与进件商品品牌/型号比对结果、校验时间支撑交机放行、异常核查和售后追溯
pfs 报价快照引用产品 ID、费率 ID、利率、费项、单期应还、总利息、还款计划摘要、合同模板版本、报价版本详细快照由 fcs/pfs 管理,bns 保存引用和关键摘要
审批追溯引用approval_request_idpolicy_idpolicy_version、审批结果、审批版本、补件客户标记、补件轮次、补件单引用支撑通过、退回、拒绝原因和后续审计