审核队列 · 1,415 条待审
出处硬校验:锚点须在 K0 命中;手填出处强制 inferred。批量通过:规则类直接入 rules.yaml(一个 commit); 定义类需人工归簇请单张过。
建模纪律 · 知识分类骨架(11 类)—— 判不准时点开对锚点
没通过实体四条的,不是扔掉,是归位。每类锚在不同的数据形态上——锚不对就是归错了。
速判:占一张实体表 → 实体;按时间追加流水 → 事件;某实体会流转的取值 → 状态维;静态描述值 → 属性; 一组可选值 → 枚举;连两个实体 → 关系;多事件编排 → 流程;「如果…就…」→ 规则;施加的操作 → 动作;算出来的量 → 指标。 全文见仓库 建模纪律.md「纪律 2」。
前端已枚举拒绝码(checkFlow 段 B201/B256/B222/B221/B211/B701/B111/B901、授信结果 1006/1008),但各码的业务语义与命中规则在后台,以风控/PRD 为准。
"拒绝码**前端枚举**已查实(checkFlow 段 `B201/B256/B222/B221/B211/B701/B111/B901`、授信结果 `1006/1008`,见 D 节),但各码的**业务语义与命中规则**在后台"
安全问答前端流程:进入 QUESTION_VALIDATE → 取题 amsAccountQueryQuestionList → 提交 amsAccountSubmitFlow(action='QUESTION_VALIDATE');题库与判定规则在后台。
"安全问答的**前端机制**已查实(`QUESTION_VALIDATE` → 取题 `amsAccountQueryQuestionList` → 提交 `amsAccountSubmitFlow(action='QUESTION_VALIDATE')`)"
白名单 whitelistFlag 的圈选规则由后台/风控决定,前端仅可见其取值 Y/N。
"白名单 `whitelistFlag` 的圈选规则(谁在白名单里)为后台/风控口径,前端只见 Y/N"
消费是 PayLater 的主要用信场景,由外部商户/场景调起,用户用 PayLater 额度完成支付,之后按账单还款。
"消费是 PayLater 的**主要用信场景**:外部商户/场景调起,用户用 PayLater 额度完成支付,并在后续按账单还款。"
支付订单金额由商户订单决定,用户不能修改金额。
"订单金额由商户订单决定,**用户不能改金额**"
积分抵扣采取积分先抵、剩余走 PayLater 的方式;被积分抵掉的部分不产生借据、不收费。
"①是否用积分抵扣(**积分先抵、剩余走 PayLater**,抵掉的部分不产生借据、不收费)"
分期档位中,1 期指下月账单一次还清,多期指按月分期。
"**1 期 = 下月账单一次还清,多期 = 按月分期**"
分期档位由定价引擎按用户与该笔金额实时试算,不是固定的 1/3/6/12,默认选中第一档。
"档位由定价引擎按"这个用户 × 这笔金额"实时试算,不是固定的 1/3/6/12。默认选中第一档。"
每笔 PL 支付都要经过后端决策引擎(反欺诈引擎+刷脸引擎):放行则直接支付,判定可疑则下发挑战、加验一次人脸后再放行。
"**每笔 PL 支付都要过后端决策引擎(反欺诈引擎 + 刷脸引擎)**——放行则直接支付;判定可疑则下发挑战,用户被**加验一次人脸**后再放行。"
支付结果有三种状态:成功、失败、处理中(处理中表示后台仍在处理,稍后以账单为准),页面最多等约 20 秒。
"页面最多等约 20 秒,给出三种结果之一——**成功 / 失败 / 处理中**(后台仍在处理,稍后以账单为准)"
支付失败时用户只能回到商户重新发起,页面内没有重试功能。
"失败时用户只能回到商户重新发起,页面内没有重试。"
SDK 关闭回宿主时支付结果不随关闭动作回传,商户须靠自己的订单查询确认收款,这是接入契约的一部分。
"**支付结果不随关闭动作回传**,商户靠自己的订单查询确认收款——这是接入契约的一部分"
消费支付的准入对象为已开通 PayLater 的用户;额度是否足够由交易时后台判定,前端不预检。
"已开通 PayLater 的用户;**额度够不够由交易时后台判定**,前端不预检"
每次展示分期试算都实时调用定价引擎,价格与期限均由引擎返回,无本地档位/费率表;常见 1/3/6/12,最长可到 36,随用户资质、金额与时点变化。
"**每次展示试算都实时调用定价引擎,价格与期限均由引擎返回**(PM 确认 2026-07-16,无本地档位/费率表;常见 1/3/6/12,最长可到 36),随用户资质与金额、时点变化"
费用为两费结构:service fee 是首月一次性额外服务费仅首月收,admin fee 是每月收的月费;付款页每档仅展示 admin fee 百分比,service fee 不在付款页单独列示。
"**两费结构(PM 2026-07-16 复核)**:**service fee**(首月一次性额外服务费,仅首月收,如 PL 交易分期首月)+ **admin fee**(月费,每月收)。付款页每档仅展示 admin fee 百分比,**service fee 不在付款页单独列示**"
积分先抵后贷,抵扣开关默认打开,用户可关掉后全额走 PayLater。
"先抵后贷;开关默认开,用户可关掉全额走 PayLater"
支付确认流程内不选优惠券;立减(SMP)、免息等优惠在收单侧/营销侧生效,用户在此步感知不到券。
"**支付确认流程内不选券**;立减(SMP)、免息等优惠在收单侧/营销侧生效,用户在这一步感知不到券"
身份验证中 PIN 必验;PL 支付经过反欺诈引擎与刷脸引擎两个决策引擎,判定可疑时加验人脸。
"PIN 必验;**PL 支付过两个决策引擎:反欺诈引擎 + 刷脸引擎**(引擎矩阵见下),判定可疑时加验人脸"
PL(消费支付)产品线的决策引擎组合为反欺诈引擎 + 刷脸引擎。
"| **PL(消费支付)** | 反欺诈引擎 + 刷脸引擎 |"
CL(取现 Instant Cash)产品线的决策引擎组合为反欺诈引擎 + 刷脸引擎 + 首借引擎 + 复借引擎。
"| **CL(取现 Instant Cash)** | 反欺诈引擎 + 刷脸引擎 + **首借引擎 + 复借引擎**"
决策引擎为串行过闸,逐个引擎依次通过才放行,任一引擎可下发挑战或拒绝。
"**引擎为串行过闸**(PM 确认 2026-07-16):逐个引擎依次通过才放行,任一引擎可下发挑战或拒绝。"
DBDP 单笔单批不走决策引擎,而是字段强控,直接读用户 riskCode 上的 DBDP 标签硬拦截。
"DBDP 单笔单批**不走引擎,是字段强控**(直接读用户 riskCode 上的 DBDP 标签硬拦截,见 03 篇)"
从首页进入的用户会被提前拦截(冻结/逾期/邮箱未验证给弹窗),但从商户深链直达的用户没有前置检查,会走到输完 PIN 才被后台拒绝。
"从首页进入的用户会被提前拦截(冻结/逾期/邮箱未验证给明确弹窗),但**从商户深链直达的用户没有前置检查**,会一路走到输完 PIN 才被后台拒绝"
通用消费付款由商户带订单调起(scene=PAY_LATER_PAY),流程为拉订单详情→选分期+是否用积分→密码验证→结果页回调商户,分期试算用 coreTransTryLoan(LOAN_CODE=9012),由本仓 H5 承载。
"商户带订单调起(`query.scene=PAY_LATER_PAY`)→ 拉订单详情 → 选分期 + 是否用积分 → 密码验证 → 结果页回调商户。分期试算 `coreTransTryLoan`(LOAN_CODE=9012),落地 `service/payment/Index.vue`"
QRIS 主扫有两种形态:固定金额(动态码,金额随码带出不可改)和用户输入金额(静态码,扫后自输金额)。
"主扫分**两种形态:固定金额(动态码,金额随码带出不可改)/ 用户输入金额(静态码,扫后自输金额)**"
首页 QRIS 入口由 showQrisEnter 控制显隐(isSubprimeUser && cashLimitRate==='0'),非次级用户不显示该入口;显示后在 availableLimit<2000 时置灰。
"首页 QRIS 入口整体由 `showQrisEnter` 控制显隐(`home/Index.vue:697-698` = `isSubprimeUser && cashLimitRate==='0'`),非次级用户根本不显示该入口;显示后在 `availableLimit<2000` 时**置灰**"
生成 QRIS 码有上限值,超过上限值不可生成。
"生成 QRIS 码有上限值,超过上限值不可生成"
QRIS 入口在本仓,但 QRIS 收单/展示页非本仓承载,由原生/外部 H5 承载。
"**QRIS 收单/展示页非本仓承载**,由原生/外部 H5 承载"
Merchant CPM(付款码)、Billpayment(账单代付)、Indomaret 等渠道本前端 SDK 未承载,由原生/外部 H5/后端承载。
"**本前端 SDK 未承载**,由原生/外部 H5/后端承载"
线上 VISA/VDC(虚拟借记卡)发放虚拟借记卡号用于线上/绑卡支付,背后用 PayLater 额度,余额不足时由 VDC Auto top-up 自动补足。
"**线上 VISA / VDC(虚拟借记卡)** | 发放虚拟借记卡号,用于线上/绑卡支付,背后用 PayLater 额度;余额不足时由 VDC Auto top-up 自动补足"