现金贷与手机分期 NIN 底层共用能力需求
版本:V3.1|更新日期:2026-09-10|状态:需求方案,待研发实现与验收
本版为文档职责拆分,不代表功能已上线;保留原文件名以兼容既有引用。共用业务能力在本文维护,两产品差异交互分别移至 03、02;不包含接口或实现设计。
文档分工与阅读顺序
| 文档 | 唯一负责的内容 |
|---|---|
| 01-现金贷NIN全链路支持需求 | 双产品共用的身份验证与资料留存、绑定决策、支付能力边界、虚拟账户、还款排序、状态与配置审计 |
| 03-现金贷NIN交互调整需求 | 现金贷客户自助认证、本人收款账户、绑定页面、放款前衔接及贷后还款交互 |
| 02-手机分期NIN全流程与UI调整需求 | 手机分期完整业务流程及 UI:门店灰度、试算优惠、KYC、绑定、首付交机和客户还款 |
共用业务规则以 01 为准;两条产品线的页面顺序、角色操作、展示与产品验收分别在 03、02 维护。02 已合并原试算专项和手机分期交互,是手机分期全流程与 UI 的唯一详细定义,身份选择前置到试算页,KYC 只读承接;不恢复早期在 KYC 页切换证件的方案。各产品文档须联合 01 验收,不能只做页面改动而遗漏底层约束。
1. 目标与业务边界
1.1 目标
两条产品线均支持以有效 NIN 完成客户身份验证及后续借款/分期流程。NIN KYC 统一使用 Dojah Lookup NIN Advance(官方当前名称 Advanced NIN Lookup),不采用基础版 Lookup NIN;手机分期按门店及门店所在地区灰度开放。绑户、绑卡、首付款和还款各自依据用户情况及通道能力决策,避免某一支付方式不支持 NIN 导致整个用户流程不可用。
| 决策项 | 本次明确方案 |
|---|---|
| 产品范围 | 现金贷、手机分期均支持 NIN;各自配置、状态、订单和资金归属独立 —— 第一期先在手机分期落地 |
| 手机分期验证分流 | 地区/门店决定可用认证方式及灰度比例;实际门店归属由系统确认 |
| NIN 验证 | Dojah Lookup NIN Advance;每次核验的完整验证资料、结果、照片及业务关联均需持久化 |
| 绑户/绑卡 | 先选择绑定对象“银行账户”或“银行卡”,再决定“必须完成 / 直接跳过 / 试一次后可跳过”;同一次流程不同时强制两种绑定 |
| 首付 | Monnify Dynamic Invoice 为默认转账首付方案 |
| 还款 | 根据用户身份、已有支付工具、历史结果、金额和通道可用性,计算可见方式及顺序 |
| 成功标准 | KYC、绑定授权、首付足额和贷款还款入账分别确认,不相互替代 |
1.2 术语与适用角色
- NIN-only 用户:已验证 NIN,未提供或未验证 BVN。
- 绑户:绑定本人银行账户作为还款支付工具;用于后续主动发起或自动扣款时,还必须完成该工具要求的有效扣款授权。账户存在、户名查询成功、账户登记成功、扣款授权生效是不同结果。
- 绑卡:客户同意绑定银行卡,完成渠道验证并取得可用的后续支付凭证。一次卡支付成功未取得可复用凭证,不算绑卡成功。
- 现金贷收款账户:借款资金打入的客户本人银行账户。其核验是现金贷放款条件,不能被“跳过还款工具绑定”免除。
- 首付单次账户:专用于某次首付支付、具有有效期的收款账户。长期还款账户:用于客户后续贷款还款的 Reserved Account/DVA 对应账户,不能混为首付账户。
现金贷由客户本人操作;手机分期由已授权 SA 在选定门店为客户办理,客户本人完成同意、活体、银行验证及支付授权。支付密码、OTP 和卡安全资料由客户自行输入。运营配置灰度与路由,风控提供可信风险标签,客服查看脱敏进度和原因。
2. 现有代码与能力差距
2.1 现状与增量
| 模块 | 代码确认的现状 | 本次补齐 |
|---|---|---|
| 现金贷身份 | 有 NIN 页面、OCR/活体分支和证件类型处理;部分账户、人脸、主证件查询仍按 BVN 处理 | NIN 类型与号码正确识别到申请、绑定、支付及贷后;不按客户号格式推断证件 |
| 手机分期 | SA 身份页有 BVN/NIN 和 NIN Slip;业务侧已有 NIN 校验、姓名生日回显、认证记录和订单关联 | 加入门店/地区分流;验证返回、照片、活体及客户归属闭环 |
| Dojah 结果 | 已有查询、成功快照复用、待处理/成功/失败记录;响应对象声明照片 | 当前成功保存逻辑未保存照片,不能认定“验证信息全部落库”;补齐原始结果、照片、扩展资料及每次业务使用记录 |
| 手机分期 NIN 照片 | 业务注释仍写“NIN 不返回人脸照”,SA 页面主要展示上传的 Slip | 按 Dojah 实际返回处理可信照片;Slip 单独保留来源,不替代可信人脸核验 |
| 绑定决策 | 已有渠道/场景策略、风险跳过和失败后跳过判断 | 增加统一用户维度决策,明确二选一、次数、可跳过原因及结果留痕 —— 风控系统处理 |
| 首付 | 已有独立首付商户路由;检查到的发票提供方实现为 Monnify | 保留 Monnify 默认;Paystack 首付适配与结果归集列为增量,不能仅加配置即视为完成 |
| 还款 VA | 已有创建查询、复用、订单关联与入账处理;创建仍把客户身份当 BVN | NIN 账户能力开关、身份资料使用、跨业务归属及失败替代 |
代码索引见第 13 节。本次仅修改需求文档。
3. 共用状态与产品责任边界
产品主流程分别见 03、02。各产品保留原有审批、签约及放款条件;切换证件不产生新额度、不绕过负债校验。共用身份事实不等于共用订单、负债或支付授权。
3.2 状态相互独立
| 状态域 | 状态与放行标准 |
|---|---|
| NIN 查询 | 未提交、查询中、资料取得、无记录/无效、异常待恢复;“资料取得”只说明查询成功 |
| 整体 KYC | 待验证、资料待补、验证中、通过、未通过、复核中;只有可信身份资料、活体/人脸、归属和留存全部满足时为通过 |
| 还款工具步骤 | 待处理、绑定中、已完成、策略免绑定、一次失败后免绑定、暂不可用;两个免绑定状态不产生授权 |
| 首付 | 未支付、处理中、部分到账、足额、已关闭、异常;足额由业务系统确认 |
| 贷款还款 | 待支付、支付处理中、入账处理中、部分还款、已结清、异常;以贷款账本完成入账为准 |
4. 认证准入及灰度共用能力
共用能力按产品与申请上下文判断可用认证方式,输出准入结论、命中规则、稳定分组、规则版本及有效范围;认证方式只有在准入允许时才可提交,不能仅依靠前端隐藏按钮。
支持范围、比例、生效时间、优先级和启停配置;同范围、同优先级且生效时间重叠的冲突不得发布。采用首条命中,不叠加多个灰度比例。同一有效会话刷新、换设备、换操作人不重新抽签。普通变更只影响新会话,已提交核验按快照恢复。紧急停止新 NIN 不清除历史 KYC、不阻断查询、还款和在途资金处理。
准入模式与页面默认选择是两个不同决策:允许 BVN/NIN 不等于默认 NIN。现金贷入口见 03;手机分期的门店/地区来源、优先级、分组口径、锁定时点与示例见 02 第 3 节,试算页初次默认 BVN。现金贷不凭空引入门店参数。
5. Dojah NIN KYC 与完整落库
5.1 验证方式与资料
本次现金贷和手机分期统一采用用户指定的 Dojah Lookup NIN Advance,对应官方 Advanced NIN Lookup(2026-09-10 核对)。除姓名、性别、生日、电话和照片外,该能力还提供出生地、登记居住地、籍贯和近亲属资料。以本次实际返回为准,完整留存,不要求每个扩展信息都有非空值;不将基础版或 Premium 版混作本次核验来源。
扩展资料落库不等于新增客户填写项,也不自动替换当前住址、客户联系人或紧急联系人;既有 UI、活体、审批与支付规则不因本次能力选择而改变。
- 客户确认授权后提交 11 位数字 NIN,保留前导零。SA 仅代录入和展示进度。
- 资料查询成功并完成持久化后进入“资料取得”。对姓名、生日、年龄和客户归属进行业务核验,再进入活体。查询成功不提前标记整体 KYC 通过。
- Dojah 姓名、生日等原始资料认为与之前BVN的一样的逻辑。
- Dojah 返回照片时用于可信身份照比对。Slip/证件图可作为补充材料,须注明来源。
- Dojah 返回的电话不自动替换登录手机号,独立保存。
- 实名证件、活体通过、重复身份核查与客户归属确认、必需记录保存全部完成后,整体 KYC 才通过。
5.2 “验证信息都需落库”的完整口径
| 信息类别 | 持久化要求 | 业务用途 |
|---|---|---|
| 本次发起信息 | 内部核验记录、产品、客户或待建档用户、申请、提交 NIN、同意时间/授权版本、提交时间;手机分期同时关联 SA、门店、地区及灰度版本 | 能定位谁为哪个客户、哪条业务发起 |
| Dojah 返回全部验证资料 | 姓名、证件、性别、生日、电话、照片、出生地、登记居住地、籍贯、近亲属及本次实际返回的其他验证信息;完整原始验证结果与业务可用结果一并留存,并标明 Advance 来源 | 防止只存姓名、成功标识或挑选少数字段导致证据丢失;扩展资料加密、受控访问,不进入普通日志或埋点 |
| 照片 | 原始验证结果中的照片内容以受保护形式落库;如另外生成图片文件,数据库保留文件归属、来源、完整性标记和可访问状态 | 不能仅存会过期的临时链接;能回看当次使用的可信照片 |
| 调用结果 | 成功、无记录、格式错误、平台异常、限流、超时、空/异常结果均有记录;有返回则保存完整验证响应及上游参考信息,无返回则如实标记未取得 | 区分用户资料问题与系统不可用 |
| 本地判断 | 资料校验、人脸/活体结果、重复身份判断、最终 KYC 结论、规则版本、完成时间及所引用验证记录 | 重现通过或未通过的原因 |
| 多次查询/复用 | 每次实际外呼形成独立记录;复用则保留本次业务使用记录,关联原始验证结果、查询时间和复用依据 | 新申请可追溯,不能只更新最后一条记录 |
6. 绑户/绑卡用户路由
6.1 决策输出
一次决策包括绑定对象、执行方式、可用通道及顺序、跳过条件、原因类别、有效范围和版本。本节同时适用于 BVN 与 NIN 用户,认证方式是路由维度之一。
| 执行方式 | 是否需要绑户 | 是否需要绑卡 | 完成条件 |
|---|---|---|---|
| 必须绑户 | 是 | 否 | 本人账户绑定且本场景所需授权生效 |
| 必须绑卡 | 否 | 是 | 本人卡验证完成且取得可用后续支付凭证 |
| 直接跳过 | 否 | 否 | 记录策略免绑定,直接进入下一业务步骤 |
| 试一次绑户后可跳过 | 是 | 否 | 成功则完成;一次有效尝试终态为允许失败时,可跳过 |
| 试一次绑卡后可跳过 | 否 | 是 | 成功则完成;一次有效尝试终态为允许失败时,可跳过 |
两种绑定最多选一种。不能同时输出“必须绑户”和“必须绑卡”;也不能先试卡失败后自动强制绑户。重新决策必须有明确业务原因并留存,不能叠加第二次强制步骤。已有同产品、同商户、同客户且满足本场景的有效工具时直接记“已完成”,与策略免绑定分开。
跳过只免除本次还款工具绑定步骤;不免 KYC、现金贷收款账户、手机分期首付或还款义务,也不产生自动扣款授权。
6.2 输入维度与来源
| 维度 | 来源与用途 | |
|---|---|---|
| 认证方式 | KYC 当前有效 BVN-only、NIN-only、bypass;不读取未核验页面输入 | |
| 风险标识 | 风控输出等级、禁止跳过标识、身份冲突/欺诈拦截和有效期;缺失/过期记未知,不按低风险 | |
| 历史绑定失败 | 绑定结果记录;按卡/户、渠道、原因区分近 7 天/30 天及连续失败次数 | optional |
| 本次尝试情况 | 当前申请的绑定记录;是否已发起、处理中、是否已终态、是否使用过跳过资格 | optional |
| 已有工具 | 同产品同商户的有效卡、账户授权状态、失效/撤销及最近成功使用情况 | |
| 客户历史 | 首借/复借、正常还款次数、最近逾期/拒付/争议;来自业务账本 | optional |
| 产品与订单 | 现金贷/手机分期、期数;手机分期含首付比例 | |
| 银行/卡和渠道能力 | 是否支持该银行、授权方式、卡可复用性、身份要求、金额范围、通道健康 | |
| 门店 | 手机分期门店/地区 | 手机分期业务需要 |
| 版本 | App 版本、绑定页面可用性;不把门店灰度直接当风险分数 |
7. 支付通道能力边界
下表区分供应商文档能力与本次产品选择;公开支持不代表当前商户已经开通。
| 能力 | BVN/NIN 关系与适用性 | 本次决定 |
|---|---|---|
| Monnify Dynamic Invoice | 为每张单次发票生成临时收款账户,官方明确不要求 BVN/NIN;支付后/到期失效 | 默认转账首付方案,按首付支付尝试绑定,NIN 与 BVN 均可用 |
| Monnify Hosted Checkout | 支持单次收银台;一次支付不等同于 KYC 或后续扣款授权 | 作为 Monnify 可配置卡支付备选 |
| Paystack Hosted Checkout 卡支付 | 单次卡收款;客户需要完成卡验证,无需先创建长期 DVA | 首批卡支付备选,NIN/BVN 同等按卡及商户能力判断 |
| Paystack Pay with Transfer | 官方为单次交易生成临时转账账户,不是长期 DVA;该流程文档没有要求先提供 BVN/NIN | 接入和验证后作为转账备选,不依赖 Paystack DVA 的身份验证链路 |
| Paystack DVA | 金融服务客户创建长期账户涉及客户验证;公开验证说明以银行账户/BVN 为基础,未确认 NIN-only 等价路径 | 首付不选此模式;NIN-only 长期还款账户默认关闭 |
依据:Monnify Invoice、Monnify Checkout、Paystack 单次收款、Paystack Payment Channels、Paystack DVA、Paystack 客户验证。核对日期 2026-09-09。
9. 按用户展示还款方式及顺序
9.1 可见性和排序规则
输出为用户本次可见的还款方式列表、稳定顺序、默认推荐项、可用状态和版本。方式是“银行转账”“已绑定卡”“单次银行卡支付”“已授权银行账户”等;Paystack/Monnify 是方式背后的通道,可在同一方式内排序。
9.2 初始排序模板
新增按照NIN 和BVN 差异配置展示还款方式。