手机分期支持审批退回补件流程 — 迭代需求

1. 背景与目标

现有手机分期进件在风险审批后只有通过或拒绝两个结果。对于资料缺失、资料不清晰或信息需要更正的订单,SA 只能重新办单,造成客户重复采集、审批无法追溯及重复订单风险。

本期在 PocketBuy SA App、BNS 编排和风险交易审批间补齐“审批退回补件”闭环:风险侧明确返回待补材料及补充原因;SA 在原订单详情中查看并补充;补齐后由 BNS 再次发起风险交易审批;订单及审批流水可识别这是补件客户/补件重提。

2. 范围与边界

范围本期处理不处理
风险审批结果新增 FIX_REQUIRED降级报价/调首付确认流程
SA 办单Applications 新增补件类型;在原 Review & Submit 汇总页处理已提交资料的修改与新增材料入口新建订单或让 SA App 自行决定补件项
新增补件材料本期仅支持 银行流水(Bank Statement);由独立 H5 页面采集/提交;单文件支持图片或 PDF,最大 10 MB其他新增材料类型、在 SA 原生页内直接上传
审批原订单重新提交风险交易审批,保留每轮审批与补件快照SA 手工改审批结论
数据与审计标记补件客户、补件轮次、原因、材料版本及操作人删除历史审批/补件记录

3. 责任边界

角色/系统责任
res/fds(风险审批)审批人员勾选待补材料、配置是否强制,并给出每项补充原因/展示提示;不直接修改订单资料。
bns校验回调、落审批与补件快照、推进状态、控制补件重提幂等、携带补件标记再次调用风险审批。
PocketBuy SA App展示补件待办;在 Review & Submit 页引导修改原资料,或跳转补件 H5;提交前展示完成度。
补件 H5承接本期银行流水补件的选择、上传、状态回传;由 BNS 签发一次性会话,不自行决定材料范围。
文件服务保存银行流水文件及版本引用;不决定订单是否可重提。

FixRequired 不是拒绝:订单、客户、商品和已通过资料均保留,SA 必须进入原订单补件,不能以同手机号新建订单规避补件。

4. 风险审批返回 —— 参考

4.1 审批人员配置规则

风险侧在 Reviewing 状态返回如下业务字段;BNS 仍以 approval_request_id + decision_version 去重。审批人员在风险审批系统完成两个动作:
① 勾选“已提交资料需修改”的分组;
② 勾选新增材料 Bank statement 并选择“强制/可选”。

风险系统不直接给 SA App 拼页面,也不直接修改订单资料。

  1. 审批人员选择 FIX_REQUIRED 后,可多选“已提交资料修改项”和“Bank statement”。
  2. 每一项均必须选择 强制(required)可选(optional);未选择不得提交审批结论。
  3. 每一项必须填写 SA 可见的补件原因;guidance 可由材料字典默认带入,审批人员可在权限范围内补充。
  4. 同一补件轮次内,item_type + target_code 不允许重复;BANK_STATEMENT 最多一项,避免同类材料重复下发。
  5. 风险系统应向 BNS 传递完整的 supplement_items 快照。后续再次退回时新建下一轮快照,严禁更新或覆盖上一轮配置。

4.2 风险回调数据 —— 参考

可选银行流水仅需将上例材料项的 required 改为 false;展示上传入口,但未提交不阻断重提。

风险与bns需要约定好各项的字典

字段类型 / 枚举说明
item_idstring当前补件轮次唯一 ID;审计、上传和 H5 会话均绑定此 ID。
item_typeEXISTING_SECTION / NEW_MATERIAL前者修改已提交资料,后者为风险新增材料。
target_code白名单枚举既有资料仅支持 CUSTOMER_IDENTITYPERSONAL_INFOWORK_INCOMEEMERGENCY_CONTACTS;新增材料本期仅支持 BANK_STATEMENT
actionUPDATE / ADD既有资料固定 UPDATE;新增材料固定 ADD
collection_typeH5_UPLOAD仅新增银行流水传入,表示由补件 H5 上传。
requiredboolean审批人员显式选择;true 强制且阻断重提,false 可选且不阻断。
supplement_reasonstringSA 可见的具体原因;不得包含内部评分、策略、第三方原始错误或敏感信息。
guidancestring面向 SA 的操作指引;不得替代服务端校验。

4.3 BNS 回调校验与落库规则

  1. FIX_REQUIRED 必须同时返回非空的 return_reason 与至少一项 supplement_items;否则 BNS 记录异常回调,不进入 FixRequired
  2. BNS 校验 item_type/action/target_code/collection_type 组合;不在白名单内的项不得下发 SA App/H5,并记录配置异常及告警。
  3. supplement_reason 是 SA 可见文案,不能透传内部规则、评分、第三方原始错误或敏感个人数据。
  4. BNS 保存回调原文快照及规范化材料项;后续风险重新退回时新增一轮,不覆盖历史轮次。
  5. required=true 表示强制补件,未完成时不可重提;required=false 表示可选补件,展示但不阻断重提。审批人员必须显式选择“强制”或“可选”,不允许由 SA App 默认推断。

5. SA App 页面与交互

5.1 Applications 列表新增补件类型

Applications 在现有 Pending / Reviewing / Completed / Closed 基础上新增第 2 个 Tab:Supplement,用于单独承接 FixRequired 订单;Pending 不再包含 FixRequired

UI Tabstatus_tab订单状态卡片信息/点击行为
PendingpendingDrafting / Approved / Signed / Paid沿用现有待办行为。
Supplementfix_requiredFixRequired显示橙色 Additional info required 状态、待补件数、最近退回时间;点击进入订单详情。
Reviewingin_approvalReviewing显示审批中;补件重提后由 Supplement 移入此处。
Completed / Closed维持原口径维持原口径维持原行为。

列表卡片字段增加:is_supplement_customerpending_material_countreturn_reason_summary。其中 is_supplement_customer=true 的非 FixRequired 订单保留一个 Supplemented 小标签,便于 SA 识别已补件客户,但不改变其所在 Tab。

补件需要支持多轮,每次信息不要覆盖

5.2 Review & Submit 汇总页(补件主入口)

订单为 FixRequired 时,SA 从订单详情进入现有 Review & Submit 页面完成补件;不再以独立的“补件详情页”承载主流程。页面沿用现有订单信息、客户身份、个人资料、工作收入、紧急联系人等白色圆角分组卡片样式。

5.2.1 页面顶部与状态提示

订单信息卡保留原有字段,并在右上角显示订单已提交状态;其下新增橙色提示卡:

Information update required
Risk returned this application. Update the requested sections and add any new required materials.
1 section to update · 1 required material to add
  • 提示卡只展示 SA 可见的汇总原因和待办数量;不展示风险内部原因码、评分或原始报文。
  • 待办数量只统计 required=true 且未完成的项;可选材料不计入阻断数量。
  • 所有必填待办完成前,底部 Resubmit for review 禁用,并显示 Complete {n} required updates

5.2.2 已提交资料分组状态

Submitted information 下保留已提交资料的原分组。每个分组的标题、摘要和右侧状态严格对齐;点击分组仍进入对应既有 SA 办单编辑页。

状态适用条件样式与交互
Completed未被风险要求修改,或指定修改已提交绿色浅色标签;保持原摘要;可查看/编辑但不计入待办。
Needs update风险要求修改该已提交资料分组,且尚未完成整卡橙色边框和左侧橙色提示线;显示 1 条 SA 可见原因;显示 Update section;点击进入原分组编辑页。
Optional update风险建议补充但 required=false灰/橙色弱提示,显示 Optional;可进入编辑,但不阻断重提。

示例:风险退回“紧急联系人手机号无法验证”时,Emergency contacts 卡显示 Needs update;SA 点击 Update section 后仍使用原紧急联系人编辑页,保存成功后状态变为 Completed

5.2.3 新增补件统一入口

新增材料不散落在各既有资料分组中,而在汇总页底部放置唯一入口:

+  Add required materials                         >
   1 new item requested by Risk
   Bank statement
  • 仅当当前补件单存在新增材料时展示;展示材料数量及名称摘要。
  • 点击卡片进入 Add required materials H5;返回 SA App 后刷新补件要求和完成状态。
  • 入口中的数量只统计强制材料;若仅有可选银行流水,显示 Optional material available,不阻断重提。
  • 本期材料名称固定为 Bank statement,不展示或支持其他材料类型。

5.2.4 提交复审

条件底部 CTA行为
存在未完成的强制修改或强制银行流水Complete {n} required updates(禁用)点击无动作;提示 SA 先完成待办。
仅剩可选银行流水或所有强制项完成Resubmit for review(可用)调用补件重提接口;进入提交中状态。
重提成功Submitting for review... → 返回订单详情订单进入 Reviewing,提示 Information submitted. The application is under review.

重提按钮重复点击必须由前端禁用和后端幂等共同防护。

5.3 Add required materials H5(银行流水补件)

新增补件页面采用 H5 开发和发布,由 SA App 通过 BNS 下发的短期、订单绑定地址打开。这样后续扩展材料字段、文件校验、展示文案或材料类型时可独立迭代,不要求 SA App 发版。

5.3.1 页面内容与样式

H5 使用与 SA App 一致的浅灰背景、白色圆角卡片、绿色主按钮、橙色补件提示和右侧状态标签;顶部显示订单短码、补件轮次与完成进度。

Add required materials                 Round 1
#AA11BB · 0 of 1 submitted
 
Why are these needed?
Risk needs this new material before review can continue.
 
1  Bank statement                              Required
   Please provide the latest bank statement for review.
   [ Upload bank statement  > ]
 
[ Complete 1 material ]  (disabled until upload succeeds)

银行流水卡状态:

H5 状态页面展示业务含义
Required橙色 Required 标签 + Upload bank statement强制材料未完成,阻断重提。
Optional灰色 Optional 标签 + 上传入口可上传,但不阻断重提。
Uploading进度/加载态,操作置灰文件正在上传或服务端校验中。
Submitted绿色 Submitted 标签、文件名、提交时间和 Replace当前轮材料已提交;可替换,保留版本。
Rejected橙色/红色错误说明 + Upload again文件格式、大小或校验未通过;仍未完成。

5.3.2 H5 与 SA App 的集成约束

  1. H5 本期只接受银行流水文件;单文件仅支持图片或 PDF,最大 10 MB。不支持其他材料类型或自由上传;文件格式、大小、账期和脱敏/加密规则由文件服务在上传前、后双重校验。格式或大小不符合时展示 Upload again 和明确错误原因。
  2. H5 不展示客户完整 BVN、银行账户密码、风险内部规则或审批人员身份信息。

英文固定文案:

场景文案
汇总提示Information update required
已提交资料需修改Needs update / Update section
新增补件入口Add required materials
银行流水Bank statement / Upload bank statement
未完成 CTAComplete {n} required updates
提交 CTAResubmit for review
提交成功Information submitted. The application is under review.

6. 提交审批接口调整

退补件完成后,重新提交审批接口中,需增加标识标明本次申请为退补件的申请

7. 校验、异常与时限

场景处理
风险回调重复/乱序approval_request_id + decision_version 幂等;非当前审批请求只审计告警,不推进状态。
补件单已被重提返回原重提结果,不重复创建风险审批请求。
必填项未完成/资料失效返回可展示的材料级错误,订单保持 FixRequired
已进入 Reviewing 后再次提交返回 ORDER_NOT_FIX_REQUIRED,App 刷新详情。
风险再次退回新建下一轮 approval_returnsupplement_round + 1,保留上一轮材料快照。
补件窗口过期后台关闭补件单并将订单置 Closedclose_reason=fix_expired;App 明确提示联系支持或重新申请。

补件有效期配置为 7 个自然日,从风险退回时间起算;配置值由 BNS/运营后台管理,不由客户端判断。到期前 App 显示截止时间;是否允许运营延期须保留审计记录。

8. 验收标准

  1. 风险返回合规 FIX_REQUIRED 后,原订单进入 FixRequired,Applications 的 Supplement Tab 可见且显示待补件数和原因摘要。
  2. SA 从订单详情可进入补件页,看到每项待补材料、补充原因和采集指引;未指定材料不可绕过新增或编辑。
  3. 所有必填材料完成前不能重提;材料替换后,审计能追到旧/新版本和操作时间。
  4. 重提成功后订单进入 Reviewing,风险请求带 submission_type=SUPPLEMENTis_supplement_customer=true、轮次和材料引用;重复点击只产生一次审批请求。
  5. 补件客户在后续 Approved / Closed / Completed 列表中仍保留 Supplemented 标识,报表可按该字段统计。
  6. 审批第二次退回时生成 Round 2,不覆盖 Round 1;通过、拒绝、过期和乱序回调均符合状态机与审计要求。
  7. 所有 SA 可见英文文案不暴露风控内部规则、评分、第三方原始错误或敏感信息。

9. 设计稿交付清单

Figma 目标文件:https://www.figma.com/design/Hu0MiPgwvwehQPdNw5pKEi/%E8%A2%8B%E9%BC%A0%E9%87%91%E8%9E%8D-APP?node-id=18-324。本次写入受 Figma 认证状态限制,需完成重新授权后执行并回读截图验证。