本体协作平台
M 2 · DOC-2026-020 · extracted

R3-数据字段字典

原文 · 85 段(高亮 = 已被卡片引用)
p1# R3 · PayLater 数据字段字典
p2> 本字典面向数据/模型团队,逐条列出 **前端字段名 ↔ 后端原始字段(大写)↔ 取值/枚举 ↔ 语义**,供数仓映射与建模取数使用。位段(如 marketCode 第 3-4 位 / 第 20 位)的权威拆解见 [R1 业务码位段速查表](R1-业务码位段速查表.md)。 > > 来源:代码仓 `ifes-resm/src`(HEAD fb597d5),只读不改。出处列均为 `src/` 相对路径 `file:line`。标「待补/代码未见」的字段表示在所读范围内未找到定义或语义注释,需 PM / 后端确认。前端字段为驼峰命名,后端原始字段为接口返回的大写下划线命名。
p3---
p4## ① 账户字段(AccountInfo)
p5源模型:`models/pay-later/account.js`(构造函数入参 `raw` 来自 `coreAccountQueryPersonalCenter` 接口,store action `getAccountInfo`,`store/modules/pay-later/account.js:146`)。
p6### 额度类
p7| 前端字段 | 后端原始字段 | 取值 | 语义 | 出处 | |---|---|---|---|---| | totalLimit | CREDIT_LIMIT | 数值 | 总信用额度(产品天花板 ALLO_MAX_CREDIT_LIMIT=50,000,000) | models/pay-later/account.js:58;utils/limit-up-utils.js:22,80 | | availableLimit | AVAILABLE_OTB | 数值 | 可用信用额度(Open-To-Buy,实时「还能花多少」,QR/借现后立即下降,clamp <0→0) | models/pay-later/account.js:59;utils/limit-up-utils.js:107-115 | | cashLimit | CASH_OTB | 数值 | 取现额度,用于现金借贷;为可用信用额度的 100% 或 0 | models/pay-later/account.js:60 | | cashLimitRate | CASH_LIMIT_RATE | 数值/比率 | 取现额度比例 | models/pay-later/account.js:69 | | accountAmt | ACCOUNT_AMT | 数值,缺省 0 | 账户总欠款(本金+利息+罚息合计,语义按字段拆分推断,待PM确认口径) | models/pay-later/account.js:74 | | accountPrinAmt | ACCOUNT_PRIN_AMT | 数值,缺省 0 | 账户在贷本金(逾期重组直入时作为还款 AMOUNT,见 ⑥) | models/pay-later/account.js:75;pages/pay-later/service/adjust-repayment-plan/NewLoan.vue:368 | | accountIntAmt | ACCOUNT_INT_AMT | 数值,缺省 0 | 账户利息金额 | models/pay-later/account.js:76 | | accountPenaltyAmt | ACCOUNT_PENALTY_AMT | 数值,缺省 0 | 账户罚息金额 | models/pay-later/account.js:77 | | billAmt | BILL_AMT | 数值 | 账单总金额 | models/pay-later/account.js:46 | | unbillAmt | UN_BILL_AMT | 数值 | 未出账账单总金额(注:孙浩凯确认实际计算逻辑是「下个未出」) | models/pay-later/account.
p8js:48-49 | | totalUnpaid | BILL_BAL_AMT | 数值 | 未还总金额(已出账未还) | models/pay-later/account.js:57 | | penaltyBal | PENALTY_BAL | 数值 | 应还未还罚息 | models/pay-later/account.js:66 | | depositBal | DEPOSIT_BAL | 数值 | 溢缴款余额 | models/pay-later/account.js:62 | | adminFeeRate | ADMIN_FEE_RATE | 数值,缺省 0 | 手续费率 | models/pay-later/account.js:73 |
p9### 状态/标签类
p10| 前端字段 | 后端原始字段 | 取值 | 语义 | 出处 | |---|---|---|---|---| | acctStmtStatus | ACCT_STMT_STATUS | U/N/F/O,缺省 NONE | 账户账单状态(BILL_STATE_TYPE:U=未出账, N=已出账, F=已还清, O=已逾期) | models/pay-later/account.js:42,11-17 | | currentState | CURR_STMT_STATUS | U/N/F/O,缺省 NONE | 当前业务日期前一账期账单状态(有账单时有值) | models/pay-later/account.js:41 | | useState | ACCT_USE_STATUS | W/H/N | 账户使用状态(USE_STATE_TYPE:W=未使用, H=当期有已出账单, N=当期无已出账单) | models/pay-later/account.js:43,19-23 | | blockCode | BLOCK_CODE | 字符串,缺省 NONE | 冻结/锁定码,正则匹配派生 frozenState:R\|S→挂失, F\|n\|B→风控锁定, A\|Z→财务部分锁定 | models/pay-later/account.js:67,112-121 | | riskCode | RISK_CODE | 字符串 | 风险码(具体取值表代码未见,待后端补) | models/pay-later/account.js:68 | | marketCode | MARKET_CODE | 字符串(≥20 位用于位段判定) | 营销码;第 3-4 位=会员提额比例%(getMemberPremiumPercent),第 20 位 4=Beta/5=Gamma(getLimitUpUserTier),`getPledgeLeverageLimit` 要求 length≥7 才请求杠杆 | models/pay-later/account.js:70;utils/limit-up-utils.js:24-57;store/modules/pay-later/account.js:244 | | flexCode | FLEX_CODE | 字符串 | 灵活额度/产品标识码(取值表代码未见,待后端补;位段见 [R1 表]) | models/pay-later/account.js:71 | | segCode | 代码未见 | — | **代码未见**:在所读 model/store/constants 范围内未找到 `segCode`/`SEG_CODE` 字段。
p11需 PM/后端确认是否在接口存在及其客群分段语义 | — | | frozenState | (派生自 BLOCK_CODE) | NONE/nBF/RS/AZ | 冻结状态枚举 ACCOUNT_FROZEN_STATE(NONE=未锁定, LOCK=nBF风控, LOSS=RS挂失, LOCK_PART=AZ部分锁定) | models/pay-later/account.js:4-9,112-121 | | stmtState | (派生) | W/AC/NAC/RFC/OPC/NU/HN/HF/HO | 账户状态 ACCOUNT_STATE(综合 useState+currentState+overdueTimes 派生) | models/pay-later/account.js:25-35,84-101 | | cashState | (派生) | 同 ACCOUNT_STATE | 现金借贷可用状态(含 REPAY_FIRST_CREDIT / ONLY_PAY_CREDIT 等闸门判断) | models/pay-later/account.js:124-142 | | overdueDays | OVERDUE_DAYS | 数值 | 逾期天数 | models/pay-later/account.js:56 | | overdueTimes | OVERDUE_TIMES | 数值 | 账单逾期次数 | models/pay-later/account.js:61 | | onceLoan | ONCE_LOAN | Y/其他→布尔 | 是否有过借款 | models/pay-later/account.js:64 | | showDeposit | ONCE_DEPOSIT | Y/其他→布尔 | 是否展示溢缴款 | models/pay-later/account.js:63 |
p12### 账期/日期类
p13| 前端字段 | 后端原始字段 | 语义 | 出处 | |---|---|---|---| | name | NAME | 姓名 | models/pay-later/account.js:39 | | idNo | ID_NO | 证件号 | models/pay-later/account.js:40 | | createTime | CREATE_TIME | 注册时间 | models/pay-later/account.js:44 | | stmtDate | STMT_DATE | 账单日(YYYYMMDD) | models/pay-later/account.js:45 | | stmtMonth | STMT_MONTH | 账单月份 | models/pay-later/account.js:65 | | currDueDate | PMT_DUE_DATE | 本期还款日(YYYYMMDD) | models/pay-later/account.js:51 | | bussinesDate | BUSINESS_DATE | 业务日期 | models/pay-later/account.js:52 | | currentSysDate / systemDate | CURRENT_SYS_DATE | 系统日期(生产应与业务日期一致) | models/pay-later/account.js:53,55 | | flowNo | FLOW_NO | 流水号 | models/pay-later/account.js:54 | | loanPlans | LOAN_PLANS | 现金分期计划列表(数组,元素经 LoanPlan 包装) | models/pay-later/account.js:72,78-81 |
p14---
p15## ② 账单字段(Bill)
p16源模型:`models/pay-later/bill.js`(入参 `raw` 来自 `coreTransQueryBill`,store action `getBillDetail`,`store/modules/pay-later/bill.js:20`)。
p17### STMT_STATUS 枚举
p18| 枚举键 | 值 | 语义 | 出处 | |---|---|---|---| | NO_BILL | U | 未出账 | models/pay-later/bill.js:3-8 | | HAD_BILL | N | 已出账 | 同上 | | OVERDUE | O | 已逾期 | 同上 | | REPAID | F | 已还款/已结清 | 同上 |
p19### 金额/派生字段
p20| 前端字段 | 后端原始字段 | 取值 | 语义 | 出处 | |---|---|---|---|---| | totalUnpaidAmount | STMT_BAL_AMT | 数值 | 总未还金额 | models/pay-later/bill.js:59 | | totalAmount | CUR_STMT_AMT | 数值 | 当期账单总金额 | models/pay-later/bill.js:60 | | repaidAmount | STMT_PAID_AMT | 数值 | 当前已还金额 | models/pay-later/bill.js:61 | | unpaidAmount | CUR_STMT_BAL_AMT | 数值 | 当期未还金额 | models/pay-later/bill.js:62 | | lateFeeAmount | PENALTY_BAL + PENALTY_PAID | 数值 | 罚息(显示=已还罚息 PENALTY_PAID + 未还罚息 PENALTY_BAL) | models/pay-later/bill.js:48,63 | | refundAmount | REFUND_AMT | 数值 | 退款金额 | models/pay-later/bill.js:58 | | spendingAmount | SPENDING_AMT | 数值 | 消费金额 | models/pay-later/bill.js:54 | | spendingAdminFee | SPENDING_DETAIL.ADMIN_FEE | 数值 | 消费手续费 | models/pay-later/bill.js:53 | | cashAmount | CASH_AMT | 数值 | 取现金额 | models/pay-later/bill.js:56 | | spendingInstallmentList | SPENDING_DETAIL.INSTALL_DETAIL_LIST | 数组 | 消费分期明细列表 | models/pay-later/bill.js:50 | | spendingOneTermList | SPENDING_DETAIL.SPENDING_DETAIL_LIST | 数组 | 消费一次性明细列表 | models/pay-later/bill.js:51 | | cashList | CASH_DETAIL.CASH_DETAIL_LIST | 数组 | 取现明细列表 | models/pay-later/bill.js:55 | | upcomingList | UPCOMING_DETAIL.STMT_LIST | 数组 | 即将到期账单列表 | models/pay-later/bill.
p21js:57 | | overDues | OVERDUE_STMT_LIST | 数组 | 逾期账单列表(当期未出未含时补当期) | models/pay-later/bill.js:38-46,73 | | overDueTimes | OVERDUE_TIMES | 数值 | 逾期次数 | models/pay-later/bill.js:71 | | overDueDays | OVERDUE_DAYS | 数值 | 逾期天数 | models/pay-later/bill.js:72 | | repaidDate | PAID_OUT_DATE | 日期 | 还清日期 | models/pay-later/bill.js:64 | | startDate | START_DATE | 日期 | 账期起始 | models/pay-later/bill.js:65 | | endDate | END_DATE | 日期 | 账期结束 | models/pay-later/bill.js:67 | | billDate | STMT_DATE | 日期 | 账单日 | models/pay-later/bill.js:68 | | dueDate | PMT_DUE_DATE | 日期 | 还款日(注释写「账单日」疑笔误) | models/pay-later/bill.js:69 | | currentDate | BUSINESS_DATE | 日期 | 业务日期 | models/pay-later/bill.js:66 | | dueMonth | STMT_DATE.slice(0,6) | YYYYMM | 账期月 | models/pay-later/bill.js:36,70 |
p22### 布尔判定(派生)
p23| 前端字段 | 判定逻辑 | 语义 | 出处 | |---|---|---|---| | isNoBill | STMT_STATUS === 'U' | 是否未出账 | models/pay-later/bill.js:74 | | isOverDue | OVERDUE_DAYS > 0 | 是否已逾期 | models/pay-later/bill.js:75 | | isCanRepay | STMT_STATUS ∈ {N, O} | 已出账可还款 | models/pay-later/bill.js:76 | | isUnused | CUR_STMT_AMT===0 && STMT_PAID_AMT===0 | 是否未使用 | models/pay-later/bill.js:77 | | isRepaid | STMT_STATUS === 'F' | 是否已结清 | models/pay-later/bill.js:78 |
p24### Refund 子模型(models/pay-later/bill.js:83-105)
p25| 前端字段 | 后端原始字段 | 语义 | |---|---|---| | list[].name | MERCHANT_NAME | 商户名 | | list[].amount | STMT_PAID | 退款金额 | | list[].time | TRANSACTION_TIME | 交易时间 | | list[].id | TRANSACTION_ID | 交易ID | | list[].status | TRANSACTION_STATUS | 交易状态 | | list[].repayType | REPAY_TYPE | 还款类型 | | list[].subTransactionType | SUB_TRANSACTION_TYPE | 子交易类型 | | list[].bizSeqNo | BIZ_SEQ_NO | 业务流水号 | | list[].merBizNo | MER_BIZ_NO | 商户业务号 | | amount | TRANSACTION_AMT | 退款总额 |
p26### 最低还款字段(regular/Index.vue 局部,非 model)
p27| 前端字段 | 后端原始字段 | 语义 | 出处 | |---|---|---|---| | minimumRepayAmt | MINI_REPAY_AMT | 最低还款额 | pages/pay-later/service/repayment/regular/Index.vue:474 | | minimumRepayPrincipalAmt | MINI_REPAY_PRINCIPAL_AMT | 最低还款本金 | 同上:475 | | minimumRepayInterestFee | MINI_REPAY_INTEREST_AMT | 最低还款利息 | 同上:476 | | minimumRepayReplanFee | MINI_REPAY_REPLAN_FEE | 最低还款重排费 | 同上:477 | | minimumRepayLateFee | MINI_REPAY_LATE_FEE | 最低还款罚息 | 同上:478 | | stmtBalAmt | STMT_BAL_AMT | 账单余额 | 同上:479 | | (判定) | HAS_REPAY = Y | 是否已还过(禁用最低还款入口) | 同上:482 |
p28### 逾期重组预付字段(Jalak_2606 Phase2)
p29> 源:`ifes-resm/docs/prd/restructure-prepay/PRD.md` 与 `release/Jalak_2606_Phase2` 提交 `f4c5ff4`。以下为前端使用口径;未新增后台字段。
p30| 前端字段/参数 | 后端原始字段 | 语义 | 出处 | |---|---|---|---| | negotiateRepaymentPlan.prepayAmount | 待后端字段名确认 | 逾期重组预付门槛金额;引导页 Step 1、按钮金额和预付还款页锁定金额均使用该值 | pages/pay-later/service/adjust-repayment-plan/PrepayIntro.vue | | accountInfo.accountPrinAmt | ACCOUNT_PRIN_AMT | 引导页 `Remaining total amount`;与正式重组页 Remaining total amount / Loan amount 口径一致 | models/pay-later/account.js;PrepayIntro.vue | | featuredMonthly / featuredTerm | coreTransTryLoan 返回 `LOAN_LIST` 派生 | 引导页 `New repayment plan` 示例,默认展示最长期(月供最低),格式 `RpY x Nmonths` | PrepayIntro.vue;PRD restructure-prepay | | restructurePrepay | 前端 query 参数 | 标记还款页进入逾期重组预付路径;仅此路径定制 `Repay first`、`First repayment`、`Amount to repay`、`Repay` 文案与底部安全间距,普通还款零影响 | pages/pay-later/service/repayment/regular/Index.vue |
p31---
p32## ③ 质押/杠杆字段(pledgeLeverageLimit)
p33state:`store/modules/pay-later/account.js:24`(`getPledgeLeverageLimit` action,接口 `coreTransFlexibleLimitPledgeLeverageLimitInfo`;仅当 `marketCode.length>=7` 才请求,否则置空对象)。子字段以 `ret_data` 原样透传(后端按 marketCode 计算),前端直接以驼峰子键访问。语义来自使用处。
p34| 子字段 | 取值 | 语义 | 出处 | |---|---|---|---| | regularLeverageRatio | 数值(如 1 / 1.55 / 2.5) | 常规杠杆率(充值额度倍数:质押本金→额度的转换倍数,getTopUpMultiplier) | utils/limit-up-utils.js:60-69;EnterAmount.vue:631 | | cfgMemberLeverageRatio | 数值 | 会员配置杠杆率(叠加在常规杠杆上:memberPromptRate=regular+cfgMember) | EnterAmount.vue:632-635 | | totalLeverageRatio | 数值 | 综合杠杆率(>1 且 remainLeverageLimit>0 视为可用杠杆 isLeverageAvailable) | EnterAmount.vue:658-665 | | totalRewardLeverageRatio | 数值 | 总奖励杠杆率(用于奖励额度提示,×100×1000 估算金额) | EnterAmount.vue:690;Home.vue:875,896 | | maxLeverageLimit | 数值 | 最大杠杆额度 | EnterAmount.vue:630;LimitUpGuide.vue:172;Member.vue:1126 | | remainLeverageLimit | 数值 | 剩余杠杆额度 | EnterAmount.vue:658,697;AddLimitIntro.vue:74 | | maxPledgeAbleAmount | 数值 | 最大可质押金额 | EnterAmount.vue:585,1088 | | pledgedAmount | 数值 | 当前已质押本金(主页 Top-up Limit = getHomeTopUpLimit) | utils/limit-up-utils.js:91-93;Home.vue:906;Missions.vue:408 | | pledgedLimit | 数值 | 已质押产生的额度 | Home.vue:879 | | maxPledgedLimit | 数值 | 最大可质押额度 | Home.vue:879 | | premiumMemberIncreaseRatio | 数值 | 会员提额比例(Premium 增益展示) | Bill/Index.vue:99;Home.vue:925-926 |
p35> 注:注释提到 risk team 后续可能提供 `pledgeBalanceAmount` 作为质押本金优先字段,**当前代码未见该字段**(utils/limit-up-utils.js:86-90),待后端确认。
p36---
p37## ④ 券字段(Coupon / Equity / SMP)
p38### 两个 SMP 支付券 state 的区别(store/modules/pay-later/account.js:43-114)
p39| state 字段 | 含义 | 生成逻辑 | 出处 | |---|---|---|---| | smpPaylaterPaymentCouponList | 全量 SMP PayLater 支付券列表 | `getSmpPaylaterPaymentCouponList` 过滤 payWay 含 `700604001`(PAYLATER_PAYWAY_CODE)后的全部券,做 minAmount/fixedAmount/faceValueNum 解析 | account.js:82-95 | | orderSmpPaylaterPaymentCouponList | 排序后取前 5 的「展示用」券列表 | 折扣券(writeoffType=`70160001` DISCOUNT_WRITEOFF_TYPE)按 faceValue 降序、couponId 升序排前,拼接其他券后 slice(0,5) | account.js:97-114 | | highestValueDiscountCoupon | 最高面值折扣券(单对象) | 折扣券排序后取第 1 个;无则 `{}` | account.js:108-109,49-51 | | couponList | 通用权益券列表(equityList) | `getCouponList` 接口 `coreAccountQueryCoupon` 的 `ret_data.equityList` | account.js:119-124 |
p40SMP 券对象关键子字段:`payWay`、`writeoffType`、`minAmount`、`fixedAmount`、`faceValue`/`faceValueNum`、`couponId`(account.js:86-106)。
p41### EQUITY 枚举(constants/coupon.js)
p42EQUITY_SCENARIO(使用场景):
p43| 键 | 值 | 语义 | 出处 | |---|---|---|---| | CASH_LOAN | CASH_LOAN | 取现 | constants/coupon.js:49-51 | | PAY_LATER | **PAY_LATTER** | 消费(注意:值为 `PAY_LATTER`,双 T,疑历史拼写,建模映射务必用此原值) | constants/coupon.js:52-53 | | CONSU_INST | CONSU_INST | 消费分期(暂无展示入口,不计入可用角标) | constants/coupon.js:54-55,84-86 |
p44EQUITY_TYPE(券类型):
p45| 键 | 值 | 语义 | 出处 | |---|---|---|---| | PL_FEE_D | PL_FEE_D | 贷款砍头费券(已废弃) | constants/coupon.js:58-60 | | INT_TIC_P | INT_TIC_P | 折扣券 | constants/coupon.js:61-62 | | INT_TIC_T | INT_TIC_T | 期数券 | constants/coupon.js:63-64 | | INT_R | INT_R | 定价券(消费/取现,靠 equityScenario 区分) | constants/coupon.js:65-66 | | INT_RG | INT_RG | 价格券(取现 tryLoan 时作 EXT_EQUITY 传入) | constants/coupon.js:67-69;NewLoan.vue:365 |
p46EQUITY_STATUS(券状态):
p47| 键 | 值 | 语义 | 出处 | |---|---|---|---| | USABLE | 0 | 可用 | constants/coupon.js:71-73 | | USED | 1 | 已使用 | 同上 | | ABANDONED | 2 | 已作废 | 同上 | | USING | 3 | 使用中 | 同上 | | EXPIRED | 4 | 已过期 | 同上 |
p48ValidType(有效期类型,constants/coupon.js:13-20):Day=`70161001` 固定时长 / Date=`70161002` 固定日期 / Forever=`70161003` 永久有效。
p49可展示口径:`DISPLAYABLE_COUPON_SCENARIOS = [CASH_LOAN, PAY_LATER]`;角标计数=couponList 中 status=USABLE 且 scenario 可展示的条数 + SMP 券数量(constants/coupon.js:84-99)。
p50---
p51## ⑤ KYC / OCR 字段(OcrResult)
p52源模型:`models/ocrResult.js`(入参 `row` 来自 KTP OCR 识别,印尼语原字段名)。
p53| 前端字段 | 后端原始字段 | 语义 | 出处 | |---|---|---|---| | idNumber | NIK | 身份证号(Nomor Induk Kependudukan) | models/ocrResult.js:58 | | name | Nama | 姓名 | models/ocrResult.js:59 | | bloodType | GolDarah | 血型 | models/ocrResult.js:60 | | religion | Agama | 宗教 | models/ocrResult.js:61 | | gender | JenisKelamin | 性别(LAKI-LAKI→[M], PEREMPUAN→[F],否则[]) | models/ocrResult.js:62,45-53 | | birthPlaceBirthday | TempatTglLahir | 出生地+出生日期原始合并串 | models/ocrResult.js:63 | | birthPlace | (派生自 TempatTglLahir) | 出生地(从合并串中拆字母段) | models/ocrResult.js:76,3-39 | | birthDate | (派生自 TempatTglLahir) | 出生日期 YYYY-MM-DD(拆数字段并校验 isValidBirthDate) | models/ocrResult.js:75,29-43 | | province | Provinsi | 省 | models/ocrResult.js:64 | | city | Kota | 市/县 | models/ocrResult.js:65 | | district | Kecamatan | 区/镇 | models/ocrResult.js:66 | | village | KelDesa | 村/Kelurahan-Desa | models/ocrResult.js:67 | | rtrw | RTRW | 邻里编号(RT/RW) | models/ocrResult.js:68 | | address | Alamat | 详细地址 | models/ocrResult.js:69 | | occupation | Perkerjaan | 职业 | models/ocrResult.js:70 | | expiryDate | BerlakuHingga | 证件有效期 | models/ocrResult.js:71 | | nationality | KewargaNegaraan | 国籍 | models/ocrResult.
p54js:72 | | maritalStatus | StatusPerkawinan | 婚姻状态 | models/ocrResult.js:73 | | requestId | RequestId | OCR 请求ID | models/ocrResult.js:74 |
p55---
p56## ⑥ 交易 / 场景码
p57### 支用链路流水 / 挑战 / 券核销字段(2026-07-16 随 02/03 篇 D 节增补)
p58| 前端 | 后端 | 说明 | |---|---|---| | bizSeqNo | BIZ_SEQ_NO | 组合支付流水号,`coreTransPayUnionPay` 返回,支付结果轮询与交易详情入参 | | — | NBS_ORDER_NO | 取现交易单号,`coreTransApplyLoan` 返回,取现结果轮询(`coreTransQueryTransactionStatus`)入参 | | faceScanAppNo | faceScanAppNo | 支付反欺诈引擎刷脸挑战单号(支付返回 `0004` 时随包下发,供 COMMON_FACE 使用)| | — | MES_INFO | 券核销包:`EQUITY_TYPE / EQUITY_NO / EQUITY_VALUE`,取现提交时随 `coreTransApplyLoan` 上送 | | serverTimeOffsetMs(派生) | currentServerTime | ifes-ams `getCommonPage` 下发服务端时间(`DD/MM/YYYY HH:mm:ss`),前端算时钟偏移,供逾期重组维护窗口判定([05](../功能说明/05-灵活还款.md))| | — | RULE_CODE_LIST_PARTNER | 取现提交 `STATUS=1212` 时的挑战类型清单(OTP/刷脸),支用反欺诈引擎输出 |
p59### TXN_CODE(交易码,constants/pay-later/withdraw.js:1-10)
p60| 键 | 值 | 语义 | |---|---|---| | AUTH_LOAN_CASH | AUTH_LOAN_CASH | 取现(多处 tryLoan 通用交易码,含还款/重组调用) | | AUTN_LOAN_CONSUME | AUTN_LOAN_CONSUME | 消费(注意拼写 AUTN) | | LOAN_CONSUME_INSTALL | LOAN_CONSUME_INSTALL | 消费分期 | | EXTENSION | EXTENSION | 展期 |
p61### BIZ_SCENE(业务场景,tryLoan 接口入参,散落在还款/分期页面)
p62| 取值 | 语义 | 出处 | |---|---|---| | JXHJ | 转分期(installment Index 调 tryLoan,配 TXN_CODE=AUTH_LOAN_CASH、LOAN_CODE=9022) | pages/pay-later/service/repayment/installment/Index.vue:150 | | MINI_REPAY | 最低还款(regular Index tryLoan) | pages/pay-later/service/repayment/regular/Index.vue:504 | | MULTI_SETTLE | 多笔结清(调整还款计划,非逾期直入分支) | pages/pay-later/service/adjust-repayment-plan/NewLoan.vue:371 | | OVERDUE_RESTRUCTURE | 逾期重组(逾期直入分支,AMOUNT=accountPrinAmt) | pages/pay-later/service/adjust-repayment-plan/NewLoan.vue:368-371 |
p63> 关联字段:提交调整还款计划时 `JXHJ_TYPE` 同样取 `OVERDUE_RESTRUCTURE` / `MULTI_SETTLE`(NewLoan.vue:621)。EXT_EQUITY_TYPE/EXT_EQUITY_VALUE/EXT_EQUITY_NO 在带价格券(INT_RG)时附加(regular/Index.vue:506-509、NewLoan.vue 同款)。
p64### 产品 / 借款码
p65| 字段 | 值 | 语义 | 出处 | |---|---|---|---| | WITHDRAW_PRODUCT_CODE | 9022 | 取现产品号(tryLoan 的 LOAN_CODE 多处硬编码 '9022') | constants/pay-later/withdraw.js:36;多处页面 LOAN_CODE:'9022' |
p66### 交易类型 TYPES(流水展示,constants/pay-later/transaction.js:10-20)
p67| 键 | 值 | 语义 | |---|---|---| | CASH_LOAN | C | 取现(Instant Cash) | | REFUND | R | 退款 | | REPAYMENT | P | 还款 | | SPENDING_GENERAL | S | 普通消费 | | SPENDING_INSTALLMENT | T | 消费分期 | | PAYLATER | ST | PayLater 消费 | | EXTENSION | EX | 展期 | | DEPOSIT_SATISFACTION | DS | 质押余额代偿 | | POINT_SATISFACTION | PS | 质押积分代偿 |
p68### 还款类型 / 方式 / 状态(constants/pay-later/transaction.js:108-141)
p69- REPAYMENT_TYPES:EARLY_REPAYMENT=`IOURepay`(提前还款)/ BILL_REPAYMENT=`BillRepay`(账单还款) - REPAYMENT_METHODS:VA=`VA`(虚拟账户) - REPAYMENT_STATUSES:PENDING=P / SUCCESSFUL=S / FAIL=C - REPAYMENT_PLAN_ACTIONS:EARLY=`L` - SPENDING_STATUSES:SUCCESSFUL=S / SETTLED=F / FAIL=C - CASH_LOAN_STATUSES:PENDING=P / SUCCESSFUL=S / SETTLED=F / FAIL=C - REFUND_TYPES:PARTIALLY=P / TOTAL=A
p70### 其它场景码
p71- ACTION_CODE_TYPE(取现审批结果,withdraw.js:21-34):LR/LA/LRCLNR/LRCLNL/LACLNL/LACLNH(额度有效性 × 借款策略 × 新额度对比的 6 种组合) - WITHDRAW_FAIL_TYPE:COMMON_FAIL / UNDER_REVIEW(有在途单)/ QUOTA_LIMIT(额度限制) - extensionStatus(extension.js):S=success / P=inprocess / C=failed - PROMISE_RESULT(repayment.js):ACTIVE_PLAN / UNACTIVE_PLAN / NO_PLAN - pledgeType(flexible-limit.js:1-20):DepositPledge / PointPledge / DepositPledgeRelease / PointPledgeRelease / AlloWalletPay / AlloWalletMPCPointPay / PayLaterPay / PayLaterMPCPointPay / PayLaterRepayment - TRANSFER_STATUS(flexible-limit.js:32-47):TRAN_SUCC(质押成功)/ REVERSE_SUCC(解押成功)/ TRAN_FAIL / TRAN_INIT·SEND_SUCC·APPLY_SUCC·WAIT_CONDITION(在途) - siteMap(increase-limit.js):SHOPEE / BPJS(提额数据源站点)
p72---
p73## ⑦ 客群 / 风险标签
p74### PaylaterUserType(constants/upgrade.js:82-88)
p75| 键 | 值 | 语义 | |---|---|---| | FlexibleLimitUser | Y001 | Limit Up 用户 | | LiquidityLoanUser | Y002 | Liquidity(流动性贷款)用户 | | NotAvailableForModelTraining | G001 | 风险不建议报送模型训练的正常客户 | | ConvertInstallmentUser | ZQ01 | 转分期用户 | | DBDP | DBDP | DBDP 用户(在贷余额>0 时弹窗,需还清后才可复借) |
p76### LimitUp 灰度分层(marketCode 第 20 位,utils/limit-up-utils.js:1-42)
p77| Tier | marketCode 第 20 位 (charAt 19) | 语义 | |---|---|---| | BETA | 4 | Beta 用户 / 新 UI(V2 授信结果页仅 Beta 可见 isV2OnboardingEligible) | | GAMMA | 5 | Gamma 用户 / 新 UI(V2 结果页回退 V1,但主页/Mission 走 V2) | | NONE | 其他 | 脏数据兜底走 V1;v2.5(2026-05-17)起老 LimitUp(Segment 3)退出策略,正常应 ∈ {4,5} |
p78- 会员提额比例(getMemberPremiumPercent):marketCode 第 3-4 位(charAt 2..3),2 位整数%(06→6%,10→10%,00/缺失→0,仅 member.status==='ACTIVE' 生效)。utils/limit-up-utils.js:44-57 - 充值倍数(getTopUpMultiplier)= pledgeLeverageLimit.regularLeverageRatio。utils/limit-up-utils.js:60-69
p79### Alpha / LimitUp 说明
p80- **Alpha**:代码中 `alpha` 主要指**首页 UI 变体**(alpha home `pages/pay-later/home/Index.vue` 等),并非独立客群标签;与 HomeV2 / legacy Home 并列的页面版本。未发现 Alpha 作为 user-type 枚举值。 - **LimitUp**:是产品线/功能名(额度成长),客群细分由上面的 Beta/Gamma tier 与 Y001 承载,`LimitUp` 字面多用于 i18n/埋点/工具命名。 - **beta / gamma**:除 LimitUp marketCode tier 外,仅在测试页 `pages/test/ui/*` 出现 Alpha/Beta/Gamma 作 UI demo 标签,与生产客群无关。
p81### 报送/埋点位置场景(constants/pay-later/report.js)
p82- reportLocationScene:LANDING_PAGE_POSITION / OCR_POSITION / FACE_SCANNING_POSITION / CASH_POSITION / REAL_NAME_FACE_SCANNING_POSITION - EnterLimitChannel(提额入口渠道):01=AddLimitIntro、020/0201/0202=Prime 双开三态、021/0211/0212=PayLater 开户三态、03=Mission … 09=ResultRepaymentPage(report.js:9-24)
p83---
p84## 待 PM / 后端确认清单
p85| 字段 | 问题 | |---|---| | segCode | 代码全仓未见 `segCode`/`SEG_CODE`。任务要求列出,但 model/store/constants 均无定义——确认是否真实存在于接口,及客群分段语义。 | | riskCode (RISK_CODE) | 字段存在但无取值表/语义注释,需后端给枚举字典。 | | flexCode (FLEX_CODE) | 同上,仅知是灵活额度/产品标识码,无位段拆解,需对齐 [R1 表] 与后端。 | | accountAmt (ACCOUNT_AMT) | 与 prin/int/penalty 三项的合计口径需确认(是否含未出账)。 | | pledgeBalanceAmount | 注释提到 risk team 后续提供作质押本金优先字段,当前代码未实现,确认上线计划。 | | EQUITY_SCENARIO.PAY_LATER='PAY_LATTER' | 值为双 T 拼写,确认后端契约是否就是 `PAY_LATTER`(建模映射依赖此原值,勿擅自纠正)。 | | BIZ_SCENE 全集 | JXHJ/MINI_REPAY/MULTI_SETTLE/OVERDUE_RESTRUCTURE 来自前端调用,是否还有未在前端出现的场景值,需后端给全集。 |
抽出的卡片 · 111
定义DOC-2026-020#p7pending_review

totalLimit(后端 CREDIT_LIMIT)为总信用额度,其产品天花板 ALLO_MAX_CREDIT_LIMIT 为 50,000,000。

"总信用额度(产品天花板 ALLO_MAX_CREDIT_LIMIT=50,000,000)"

定义DOC-2026-020#p7pending_review

availableLimit(后端 AVAILABLE_OTB)为可用信用额度(Open-To-Buy),表示实时还能花多少。

"可用信用额度(Open-To-Buy,实时「还能花多少」,QR/借现后立即下降,clamp <0→0)"

规则DOC-2026-020#p7pending_review

可用信用额度在 QR/借现后立即下降,且取值被 clamp,小于 0 时归 0。

"QR/借现后立即下降,clamp <0→0"

规则DOC-2026-020#p7pending_review

cashLimit(后端 CASH_OTB)为取现额度,用于现金借贷,其值为可用信用额度的 100% 或 0。

"取现额度,用于现金借贷;为可用信用额度的 100% 或 0"

动作条件DOC-2026-020#p7pending_review

accountPrinAmt(后端 ACCOUNT_PRIN_AMT)为账户在贷本金,逾期重组直入时作为还款 AMOUNT。

"账户在贷本金(逾期重组直入时作为还款 AMOUNT,见 ⑥)"

定义DOC-2026-020#p7pending_review

unbillAmt(后端 UN_BILL_AMT)为未出账账单总金额,实际计算逻辑是「下个未出」。

"未出账账单总金额(注:孙浩凯确认实际计算逻辑是「下个未出」)"

状态DOC-2026-020#p10pending_review

acctStmtStatus(后端 ACCT_STMT_STATUS,缺省 NONE)为账户账单状态,取值 U=未出账、N=已出账、F=已还清、O=已逾期。

"账户账单状态(BILL_STATE_TYPE:U=未出账, N=已出账, F=已还清, O=已逾期)"

状态DOC-2026-020#p10pending_review

currentState(后端 CURR_STMT_STATUS)表示当前业务日期前一账期账单状态,有账单时有值。

"当前业务日期前一账期账单状态(有账单时有值)"

状态DOC-2026-020#p10pending_review

useState(后端 ACCT_USE_STATUS)为账户使用状态,取值 W=未使用、H=当期有已出账单、N=当期无已出账单。

"账户使用状态(USE_STATE_TYPE:W=未使用, H=当期有已出账单, N=当期无已出账单)"

规则DOC-2026-020#p10pending_review

blockCode(后端 BLOCK_CODE,缺省 NONE)为冻结/锁定码,通过正则匹配派生 frozenState:R/S→挂失,F/n/B→风控锁定,A/Z→财务部分锁定。

"冻结/锁定码,正则匹配派生 frozenState:R\|S→挂失, F\|n\|B→风控锁定, A\|Z→财务部分锁定"

定义DOC-2026-020#p10pending_review

riskCode(后端 RISK_CODE)为风险码,具体取值表在所读代码范围内未见,待后端补充。

"风险码(具体取值表代码未见,待后端补)"

规则DOC-2026-020#p10pending_review

marketCode(后端 MARKET_CODE)为营销码:第 3-4 位为会员提额比例%,第 20 位 4=Beta/5=Gamma,getPledgeLeverageLimit 要求长度≥7 才请求杠杆。

"营销码;第 3-4 位=会员提额比例%(getMemberPremiumPercent),第 20 位 4=Beta/5=Gamma(getLimitUpUserTier),`getPledgeLeverageLimit` 要求 length≥7 才请求杠杆"

状态DOC-2026-020#p11pending_review

frozenState(派生自 BLOCK_CODE)为冻结状态枚举 ACCOUNT_FROZEN_STATE:NONE=未锁定、LOCK=nBF 风控、LOSS=RS 挂失、LOCK_PART=AZ 部分锁定。

"冻结状态枚举 ACCOUNT_FROZEN_STATE(NONE=未锁定, LOCK=nBF风控, LOSS=RS挂失, LOCK_PART=AZ部分锁定)"

状态DOC-2026-020#p11pending_review

stmtState 为账户状态 ACCOUNT_STATE,综合 useState、currentState、overdueTimes 派生。

"账户状态 ACCOUNT_STATE(综合 useState+currentState+overdueTimes 派生)"

状态DOC-2026-020#p18pending_review

账单状态枚举 STMT_STATUS:NO_BILL,值 U,语义为未出账。

"NO_BILL | U | 未出账"

状态DOC-2026-020#p18pending_review

账单状态枚举 STMT_STATUS:HAD_BILL,值 N,语义为已出账。

"HAD_BILL | N | 已出账"

状态DOC-2026-020#p18pending_review

账单状态枚举 STMT_STATUS:OVERDUE,值 O,语义为已逾期。

"OVERDUE | O | 已逾期"

状态DOC-2026-020#p18pending_review

账单状态枚举 STMT_STATUS:REPAID,值 F,语义为已还款/已结清。

"REPAID | F | 已还款/已结清"

规则DOC-2026-020#p20pending_review

lateFeeAmount 罚息的显示值=已还罚息 PENALTY_PAID + 未还罚息 PENALTY_BAL。

"罚息(显示=已还罚息 PENALTY_PAID + 未还罚息 PENALTY_BAL)"

状态DOC-2026-020#p23pending_review

当账单状态 STMT_STATUS 等于 'U' 时,判定为未出账(isNoBill)。

"isNoBill | STMT_STATUS === 'U' | 是否未出账"

规则DOC-2026-020#p23pending_review

当逾期天数 OVERDUE_DAYS 大于 0 时,判定账单已逾期(isOverDue)。

"isOverDue | OVERDUE_DAYS > 0 | 是否已逾期"

状态DOC-2026-020#p23pending_review

当账单状态 STMT_STATUS 为 N 或 O 时,判定为已出账可还款(isCanRepay)。

"isCanRepay | STMT_STATUS ∈ {N, O} | 已出账可还款"

状态DOC-2026-020#p23pending_review

当本期账单金额 CUR_STMT_AMT 为 0 且已还金额 STMT_PAID_AMT 为 0 时,判定账单未使用(isUnused)。

"isUnused | CUR_STMT_AMT===0 && STMT_PAID_AMT===0 | 是否未使用"

状态DOC-2026-020#p23pending_review

当账单状态 STMT_STATUS 等于 'F' 时,判定为已结清(isRepaid)。

"isRepaid | STMT_STATUS === 'F' | 是否已结清"

动作条件DOC-2026-020#p27pending_review

当 HAS_REPAY 为 Y(已还过)时,禁用最低还款入口。

"(判定) | HAS_REPAY = Y | 是否已还过(禁用最低还款入口)"

动作条件DOC-2026-020#p30pending_review

restructurePrepay 前端 query 参数用于标记还款页进入逾期重组预付路径;仅在该路径下定制 Repay first、First repayment、Amount to repay、Repay 文案与底部安全间距,对普通还款无影响。

"restructurePrepay | 前端 query 参数 | 标记还款页进入逾期重组预付路径;仅此路径定制 `Repay first`、`First repayment`、`Amount to repay`、`Repay` 文案与底部安全间距,普通还款零影响"

边界DOC-2026-020#p30pending_review

逾期重组预付引导页 New repayment plan 示例默认展示最长期(月供最低),格式为 RpY x Nmonths,由 coreTransTryLoan 返回的 LOAN_LIST 派生。

"featuredMonthly / featuredTerm | coreTransTryLoan 返回 `LOAN_LIST` 派生 | 引导页 `New repayment plan` 示例,默认展示最长期(月供最低),格式 `RpY x Nmonths`"

动作条件DOC-2026-020#p33pending_review

质押/杠杆字段(pledgeLeverageLimit)仅当 marketCode 长度大于等于 7 时才请求接口,否则置为空对象。

"仅当 `marketCode.length>=7` 才请求,否则置空对象"

定义DOC-2026-020#p34pending_review

常规杠杆率 regularLeverageRatio 是质押本金转换为额度的倍数(充值额度倍数)。

"regularLeverageRatio | 数值(如 1 / 1.55 / 2.5) | 常规杠杆率(充值额度倍数:质押本金→额度的转换倍数,getTopUpMultiplier)"

规则DOC-2026-020#p34pending_review

会员配置杠杆率 cfgMemberLeverageRatio 叠加在常规杠杆之上,会员提示杠杆率 memberPromptRate = regularLeverageRatio + cfgMemberLeverageRatio。

"cfgMemberLeverageRatio | 数值 | 会员配置杠杆率(叠加在常规杠杆上:memberPromptRate=regular+cfgMember)"

规则DOC-2026-020#p34pending_review

当综合杠杆率 totalLeverageRatio 大于 1 且剩余杠杆额度 remainLeverageLimit 大于 0 时,视为杠杆可用(isLeverageAvailable)。

"totalLeverageRatio | 数值 | 综合杠杆率(>1 且 remainLeverageLimit>0 视为可用杠杆 isLeverageAvailable)"

动作条件DOC-2026-020#p39pending_review

orderSmpPaylaterPaymentCouponList 为展示用券列表:折扣券(writeoffType=70160001)按面值 faceValue 降序、couponId 升序排在前,拼接其他券后取前 5 张。

"orderSmpPaylaterPaymentCouponList | 排序后取前 5 的「展示用」券列表 | 折扣券(writeoffType=`70160001` DISCOUNT_WRITEOFF_TYPE)按 faceValue 降序、couponId 升序排前,拼接其他券后 slice(0,5)"

规则DOC-2026-020#p39pending_review

highestValueDiscountCoupon 取折扣券排序后的第 1 个(最高面值折扣券);若无折扣券则为空对象 {}。

"highestValueDiscountCoupon | 最高面值折扣券(单对象) | 折扣券排序后取第 1 个;无则 `{}`"

动作条件DOC-2026-020#p39pending_review

smpPaylaterPaymentCouponList 为过滤 payWay 含 700604001(PAYLATER_PAYWAY_CODE)后的全量 SMP PayLater 支付券列表。

"smpPaylaterPaymentCouponList | 全量 SMP PayLater 支付券列表 | `getSmpPaylaterPaymentCouponList` 过滤 payWay 含 `700604001`(PAYLATER_PAYWAY_CODE)后的全部券"

状态DOC-2026-020#p43pending_review

EQUITY_SCENARIO 中 PAY_LATER 键的值为 PAY_LATTER(双 T),语义为消费,建模映射须用此原值。

"| PAY_LATER | **PAY_LATTER** | 消费(注意:值为 `PAY_LATTER`,双 T,疑历史拼写,建模映射务必用此原值)"

状态DOC-2026-020#p43pending_review

EQUITY_SCENARIO 中 CASH_LOAN 值为 CASH_LOAN,语义为取现。

"| CASH_LOAN | CASH_LOAN | 取现 | constants/coupon.js:49-51 |"

状态DOC-2026-020#p43pending_review

EQUITY_SCENARIO 中 CONSU_INST 值为 CONSU_INST,语义为消费分期,暂无展示入口,不计入可用角标。

"| CONSU_INST | CONSU_INST | 消费分期(暂无展示入口,不计入可用角标) | constants/coupon.js:54-55,84-86 |"

状态DOC-2026-020#p45pending_review

EQUITY_TYPE 中 PL_FEE_D 为贷款砍头费券,已废弃。

"| PL_FEE_D | PL_FEE_D | 贷款砍头费券(已废弃) | constants/coupon.js:58-60 |"

状态DOC-2026-020#p45pending_review

EQUITY_TYPE 中 INT_TIC_P 为折扣券。

"| INT_TIC_P | INT_TIC_P | 折扣券 | constants/coupon.js:61-62 |"

状态DOC-2026-020#p45pending_review

EQUITY_TYPE 中 INT_TIC_T 为期数券。

"| INT_TIC_T | INT_TIC_T | 期数券 | constants/coupon.js:63-64 |"

状态DOC-2026-020#p45pending_review

EQUITY_TYPE 中 INT_R 为定价券,适用消费/取现,靠 equityScenario 区分。

"| INT_R | INT_R | 定价券(消费/取现,靠 equityScenario 区分) | constants/coupon.js:65-66 |"

状态DOC-2026-020#p45pending_review

EQUITY_TYPE 中 INT_RG 为价格券,取现 tryLoan 时作 EXT_EQUITY 传入。

"| INT_RG | INT_RG | 价格券(取现 tryLoan 时作 EXT_EQUITY 传入) | constants/coupon.js:67-69;NewLoan.vue:365 |"

状态DOC-2026-020#p47pending_review

EQUITY_STATUS 中 USABLE 值为 0,语义为可用。

"| USABLE | 0 | 可用 | constants/coupon.js:71-73 |"

状态DOC-2026-020#p47pending_review

EQUITY_STATUS 中 USED 值为 1,语义为已使用。

"| USED | 1 | 已使用 | 同上 |"

状态DOC-2026-020#p47pending_review

EQUITY_STATUS 中 ABANDONED 值为 2,语义为已作废。

"| ABANDONED | 2 | 已作废 | 同上 |"

状态DOC-2026-020#p47pending_review

EQUITY_STATUS 中 USING 值为 3,语义为使用中。

"| USING | 3 | 使用中 | 同上 |"

状态DOC-2026-020#p47pending_review

EQUITY_STATUS 中 EXPIRED 值为 4,语义为已过期。

"| EXPIRED | 4 | 已过期 | 同上 |"

状态DOC-2026-020#p48pending_review

ValidType 有效期类型取值:Day=70161001 固定时长、Date=70161002 固定日期、Forever=70161003 永久有效。

"ValidType(有效期类型,constants/coupon.js:13-20):Day=`70161001` 固定时长 / Date=`70161002` 固定日期 / Forever=`70161003` 永久有效。"

规则DOC-2026-020#p49pending_review

可展示场景为 CASH_LOAN 与 PAY_LATER;角标计数等于 couponList 中 status=USABLE 且 scenario 可展示的条数加 SMP 券数量。

"可展示口径:`DISPLAYABLE_COUPON_SCENARIOS = [CASH_LOAN, PAY_LATER]`;角标计数=couponList 中 status=USABLE 且 scenario 可展示的条数 + SMP 券数量(constants/coupon.js:84-99)。"

定义DOC-2026-020#p52pending_review

OcrResult 源模型为 models/ocrResult.js,入参 row 来自 KTP OCR 识别,字段为印尼语原字段名。

"源模型:`models/ocrResult.js`(入参 `row` 来自 KTP OCR 识别,印尼语原字段名)。"

定义DOC-2026-020#p53pending_review

前端字段 idNumber 对应后端原始字段 NIK,语义为身份证号(Nomor Induk Kependudukan)。

"| idNumber | NIK | 身份证号(Nomor Induk Kependudukan) | models/ocrResult.js:58 |"

规则DOC-2026-020#p53pending_review

前端字段 gender 对应后端 JenisKelamin,性别映射:LAKI-LAKI→[M]、PEREMPUAN→[F],否则为[]。

"| gender | JenisKelamin | 性别(LAKI-LAKI→[M], PEREMPUAN→[F],否则[]) | models/ocrResult.js:62,45-53 |"

规则DOC-2026-020#p53pending_review

birthDate 派生自 TempatTglLahir,出生日期格式 YYYY-MM-DD,从合并串拆数字段并校验 isValidBirthDate。

"| birthDate | (派生自 TempatTglLahir) | 出生日期 YYYY-MM-DD(拆数字段并校验 isValidBirthDate) | models/ocrResult.js:75,29-43 |"

规则DOC-2026-020#p53pending_review

birthPlace 派生自 TempatTglLahir,从合并串中拆字母段得到出生地。

"| birthPlace | (派生自 TempatTglLahir) | 出生地(从合并串中拆字母段) | models/ocrResult.js:76,3-39 |"

定义DOC-2026-020#p58pending_review

bizSeqNo 对应 BIZ_SEQ_NO,为组合支付流水号,由 coreTransPayUnionPay 返回,作为支付结果轮询与交易详情入参。

"| bizSeqNo | BIZ_SEQ_NO | 组合支付流水号,`coreTransPayUnionPay` 返回,支付结果轮询与交易详情入参 |"

定义DOC-2026-020#p58pending_review

NBS_ORDER_NO 为取现交易单号,由 coreTransApplyLoan 返回,作为取现结果轮询 coreTransQueryTransactionStatus 的入参。

"| — | NBS_ORDER_NO | 取现交易单号,`coreTransApplyLoan` 返回,取现结果轮询(`coreTransQueryTransactionStatus`)入参 |"

动作条件DOC-2026-020#p58pending_review

faceScanAppNo 为支付反欺诈引擎刷脸挑战单号,支付返回 0004 时随包下发,供 COMMON_FACE 使用。

"| faceScanAppNo | faceScanAppNo | 支付反欺诈引擎刷脸挑战单号(支付返回 `0004` 时随包下发,供 COMMON_FACE 使用)|"

动作条件DOC-2026-020#p58pending_review

MES_INFO 为券核销包,含 EQUITY_TYPE/EQUITY_NO/EQUITY_VALUE,取现提交时随 coreTransApplyLoan 上送。

"| — | MES_INFO | 券核销包:`EQUITY_TYPE / EQUITY_NO / EQUITY_VALUE`,取现提交时随 `coreTransApplyLoan` 上送 |"

动作条件DOC-2026-020#p58pending_review

RULE_CODE_LIST_PARTNER 为取现提交 STATUS=1212 时的挑战类型清单(OTP/刷脸),由支用反欺诈引擎输出。

"| — | RULE_CODE_LIST_PARTNER | 取现提交 `STATUS=1212` 时的挑战类型清单(OTP/刷脸),支用反欺诈引擎输出 |"

定义DOC-2026-020#p58pending_review

currentServerTime 由 ifes-ams getCommonPage 下发服务端时间(DD/MM/YYYY HH:mm:ss),前端据此算时钟偏移 serverTimeOffsetMs,供逾期重组维护窗口判定。

"| serverTimeOffsetMs(派生) | currentServerTime | ifes-ams `getCommonPage` 下发服务端时间(`DD/MM/YYYY HH:mm:ss`),前端算时钟偏移,供逾期重组维护窗口判定([05](../功能说明/05-灵活还款.md))|"

状态DOC-2026-020#p60pending_review

TXN_CODE 中 AUTH_LOAN_CASH 语义为取现,是多处 tryLoan 通用交易码,含还款/重组调用。

"| AUTH_LOAN_CASH | AUTH_LOAN_CASH | 取现(多处 tryLoan 通用交易码,含还款/重组调用) |"

状态DOC-2026-020#p60pending_review

TXN_CODE 中 AUTN_LOAN_CONSUME 语义为消费,注意拼写为 AUTN。

"| AUTN_LOAN_CONSUME | AUTN_LOAN_CONSUME | 消费(注意拼写 AUTN) |"

状态DOC-2026-020#p60pending_review

TXN_CODE 中 LOAN_CONSUME_INSTALL 语义为消费分期。

"| LOAN_CONSUME_INSTALL | LOAN_CONSUME_INSTALL | 消费分期 |"

状态DOC-2026-020#p60pending_review

TXN_CODE 中 EXTENSION 语义为展期。

"| EXTENSION | EXTENSION | 展期 |"

状态DOC-2026-020#p62pending_review

BIZ_SCENE 取值 JXHJ 表示转分期,调 tryLoan 时配 TXN_CODE=AUTH_LOAN_CASH、LOAN_CODE=9022

"JXHJ | 转分期(installment Index 调 tryLoan,配 TXN_CODE=AUTH_LOAN_CASH、LOAN_CODE=9022)"

状态DOC-2026-020#p62pending_review

BIZ_SCENE 取值 MINI_REPAY 表示最低还款

"MINI_REPAY | 最低还款(regular Index tryLoan)"

状态DOC-2026-020#p62pending_review

BIZ_SCENE 取值 MULTI_SETTLE 表示多笔结清(调整还款计划,非逾期直入分支)

"MULTI_SETTLE | 多笔结清(调整还款计划,非逾期直入分支)"

状态DOC-2026-020#p62pending_review

BIZ_SCENE 取值 OVERDUE_RESTRUCTURE 表示逾期重组(逾期直入分支,AMOUNT=accountPrinAmt)

"OVERDUE_RESTRUCTURE | 逾期重组(逾期直入分支,AMOUNT=accountPrinAmt)"

动作条件DOC-2026-020#p63pending_review

提交时 EXT_EQUITY_TYPE/EXT_EQUITY_VALUE/EXT_EQUITY_NO 仅在带价格券(INT_RG)时附加

"EXT_EQUITY_TYPE/EXT_EQUITY_VALUE/EXT_EQUITY_NO 在带价格券(INT_RG)时附加"

定义DOC-2026-020#p65pending_review

WITHDRAW_PRODUCT_CODE 值 9022 为取现产品号,tryLoan 的 LOAN_CODE 多处硬编码为 9022

"WITHDRAW_PRODUCT_CODE | 9022 | 取现产品号(tryLoan 的 LOAN_CODE 多处硬编码 '9022')"

状态DOC-2026-020#p67pending_review

交易类型 CASH_LOAN=C,语义为取现(Instant Cash)

"CASH_LOAN | C | 取现(Instant Cash)"

状态DOC-2026-020#p67pending_review

交易类型 REFUND=R,语义为退款

"REFUND | R | 退款"

状态DOC-2026-020#p67pending_review

交易类型 REPAYMENT=P,语义为还款

"REPAYMENT | P | 还款"

状态DOC-2026-020#p67pending_review

交易类型 SPENDING_GENERAL=S,语义为普通消费

"SPENDING_GENERAL | S | 普通消费"

状态DOC-2026-020#p67pending_review

交易类型 SPENDING_INSTALLMENT=T,语义为消费分期

"SPENDING_INSTALLMENT | T | 消费分期"

状态DOC-2026-020#p67pending_review

交易类型 PAYLATER=ST,语义为 PayLater 消费

"PAYLATER | ST | PayLater 消费"

状态DOC-2026-020#p67pending_review

交易类型 EXTENSION=EX,语义为展期

"EXTENSION | EX | 展期"

状态DOC-2026-020#p67pending_review

交易类型 DEPOSIT_SATISFACTION=DS,语义为质押余额代偿

"DEPOSIT_SATISFACTION | DS | 质押余额代偿"

状态DOC-2026-020#p67pending_review

交易类型 POINT_SATISFACTION=PS,语义为质押积分代偿

"POINT_SATISFACTION | PS | 质押积分代偿"

状态DOC-2026-020#p69pending_review

还款类型 REPAYMENT_TYPES:EARLY_REPAYMENT=IOURepay(提前还款)、BILL_REPAYMENT=BillRepay(账单还款)

"REPAYMENT_TYPES:EARLY_REPAYMENT=`IOURepay`(提前还款)/ BILL_REPAYMENT=`BillRepay`(账单还款)"

状态DOC-2026-020#p69pending_review

还款方式 REPAYMENT_METHODS:VA 表示虚拟账户

"REPAYMENT_METHODS:VA=`VA`(虚拟账户)"

状态DOC-2026-020#p69pending_review

还款状态 REPAYMENT_STATUSES:PENDING=P、SUCCESSFUL=S、FAIL=C

"REPAYMENT_STATUSES:PENDING=P / SUCCESSFUL=S / FAIL=C"

状态DOC-2026-020#p69pending_review

还款计划动作 REPAYMENT_PLAN_ACTIONS:EARLY=L

"REPAYMENT_PLAN_ACTIONS:EARLY=`L`"

状态DOC-2026-020#p69pending_review

消费状态 SPENDING_STATUSES:SUCCESSFUL=S、SETTLED=F、FAIL=C

"SPENDING_STATUSES:SUCCESSFUL=S / SETTLED=F / FAIL=C"

状态DOC-2026-020#p69pending_review

取现状态 CASH_LOAN_STATUSES:PENDING=P、SUCCESSFUL=S、SETTLED=F、FAIL=C

"CASH_LOAN_STATUSES:PENDING=P / SUCCESSFUL=S / SETTLED=F / FAIL=C"

状态DOC-2026-020#p69pending_review

退款类型 REFUND_TYPES:PARTIALLY=P、TOTAL=A

"REFUND_TYPES:PARTIALLY=P / TOTAL=A"

状态DOC-2026-020#p71pending_review

ACTION_CODE_TYPE 为取现审批结果,取值 LR/LA/LRCLNR/LRCLNL/LACLNL/LACLNH,是额度有效性×借款策略×新额度对比的6种组合

"ACTION_CODE_TYPE(取现审批结果,withdraw.js:21-34):LR/LA/LRCLNR/LRCLNL/LACLNL/LACLNH(额度有效性 × 借款策略 × 新额度对比的 6 种组合)"

状态DOC-2026-020#p71pending_review

取现失败类型 WITHDRAW_FAIL_TYPE:COMMON_FAIL、UNDER_REVIEW(有在途单)、QUOTA_LIMIT(额度限制)

"WITHDRAW_FAIL_TYPE:COMMON_FAIL / UNDER_REVIEW(有在途单)/ QUOTA_LIMIT(额度限制)"

状态DOC-2026-020#p71pending_review

展期状态 extensionStatus:S=success、P=inprocess、C=failed

"extensionStatus(extension.js):S=success / P=inprocess / C=failed"

状态DOC-2026-020#p71pending_review

还款承诺结果 PROMISE_RESULT:ACTIVE_PLAN、UNACTIVE_PLAN、NO_PLAN

"PROMISE_RESULT(repayment.js):ACTIVE_PLAN / UNACTIVE_PLAN / NO_PLAN"

状态DOC-2026-020#p71pending_review

质押类型 pledgeType 取值:DepositPledge、PointPledge、DepositPledgeRelease、PointPledgeRelease、AlloWalletPay、AlloWalletMPCPointPay、PayLaterPay、PayLaterMPCPointPay、PayLaterRepayment

"pledgeType(flexible-limit.js:1-20):DepositPledge / PointPledge / DepositPledgeRelease / PointPledgeRelease / AlloWalletPay / AlloWalletMPCPointPay / PayLaterPay / PayLaterMPCPointPay / PayLaterRepayment"

状态DOC-2026-020#p71pending_review

质押转账状态 TRANSFER_STATUS:TRAN_SUCC(质押成功)、REVERSE_SUCC(解押成功)、TRAN_FAIL、TRAN_INIT/SEND_SUCC/APPLY_SUCC/WAIT_CONDITION(在途)

"TRANSFER_STATUS(flexible-limit.js:32-47):TRAN_SUCC(质押成功)/ REVERSE_SUCC(解押成功)/ TRAN_FAIL / TRAN_INIT·SEND_SUCC·APPLY_SUCC·WAIT_CONDITION(在途)"

状态DOC-2026-020#p71pending_review

提额数据源站点 siteMap 取值:SHOPEE、BPJS

"siteMap(increase-limit.js):SHOPEE / BPJS(提额数据源站点)"

状态DOC-2026-020#p75pending_review

客群类型 PaylaterUserType:FlexibleLimitUser=Y001,语义为 Limit Up 用户

"FlexibleLimitUser | Y001 | Limit Up 用户"

状态DOC-2026-020#p75pending_review

客群类型 PaylaterUserType:LiquidityLoanUser=Y002,语义为 Liquidity(流动性贷款)用户

"LiquidityLoanUser | Y002 | Liquidity(流动性贷款)用户"

状态DOC-2026-020#p75pending_review

客群类型 PaylaterUserType:NotAvailableForModelTraining=G001,语义为风险不建议报送模型训练的正常客户

"NotAvailableForModelTraining | G001 | 风险不建议报送模型训练的正常客户"

状态DOC-2026-020#p75pending_review

客群类型 PaylaterUserType:ConvertInstallmentUser=ZQ01,语义为转分期用户

"ConvertInstallmentUser | ZQ01 | 转分期用户"

状态DOC-2026-020#p75pending_review

客群类型 PaylaterUserType:DBDP=DBDP,语义为 DBDP 用户(在贷余额>0 时弹窗,需还清后才可复借)

"DBDP | DBDP | DBDP 用户(在贷余额>0 时弹窗,需还清后才可复借)"

规则DOC-2026-020#p75pending_review

DBDP 用户在贷余额>0 时弹窗,需还清后才可复借

"DBDP 用户(在贷余额>0 时弹窗,需还清后才可复借)"

状态DOC-2026-020#p77pending_review

LimitUp 灰度分层由 marketCode 第20位决定:值为4表示 BETA(Beta 用户/新 UI,V2 授信结果页仅 Beta 可见 isV2OnboardingEligible)

"BETA | 4 | Beta 用户 / 新 UI(V2 授信结果页仅 Beta 可见 isV2OnboardingEligible)"

状态DOC-2026-020#p77pending_review

LimitUp 灰度分层:marketCode 第20位值为5表示 GAMMA(Gamma 用户/新 UI,V2 结果页回退 V1,但主页/Mission 走 V2)

"GAMMA | 5 | Gamma 用户 / 新 UI(V2 结果页回退 V1,但主页/Mission 走 V2)"

状态DOC-2026-020#p77pending_review

LimitUp 灰度分层:marketCode 第20位为其他值时为 NONE,脏数据兜底走 V1;v2.5(2026-05-17)起老 LimitUp(Segment 3)退出策略,正常应属于{4,5}

"NONE | 其他 | 脏数据兜底走 V1;v2.5(2026-05-17)起老 LimitUp(Segment 3)退出策略,正常应 ∈ {4,5}"

规则DOC-2026-020#p78pending_review

会员提额比例取自 marketCode 第3-4位(2位整数%,如06→6%、10→10%,00或缺失→0),且仅在 member.status==='ACTIVE' 时生效

"会员提额比例(getMemberPremiumPercent):marketCode 第 3-4 位(charAt 2..3),2 位整数%(06→6%,10→10%,00/缺失→0,仅 member.status==='ACTIVE' 生效)"

定义DOC-2026-020#p78pending_review

充值倍数 getTopUpMultiplier 等于 pledgeLeverageLimit.regularLeverageRatio

"充值倍数(getTopUpMultiplier)= pledgeLeverageLimit.regularLeverageRatio。utils/limit-up-utils.js:60-69"

定义DOC-2026-020#p80pending_review

Alpha 主要指首页 UI 变体,并非独立客群标签,与 HomeV2/legacy Home 并列的页面版本,未作为 user-type 枚举值

"**Alpha**:代码中 `alpha` 主要指**首页 UI 变体**(alpha home `pages/pay-later/home/Index.vue` 等),并非独立客群标签;与 HomeV2 / legacy Home 并列的页面版本。未发现 Alpha 作为 user-type 枚举值。"

定义DOC-2026-020#p80pending_review

LimitUp 是产品线/功能名(额度成长),客群细分由 Beta/Gamma tier 与 Y001 承载

"**LimitUp**:是产品线/功能名(额度成长),客群细分由上面的 Beta/Gamma tier 与 Y001 承载,`LimitUp` 字面多用于 i18n/埋点/工具命名。"

状态DOC-2026-020#p82pending_review

提额入口渠道(EnterLimitChannel)的取值:01=AddLimitIntro;020/0201/0202=Prime 双开三态;021/0211/0212=PayLater 开户三态;03=Mission;09=ResultRepaymentPage。

"EnterLimitChannel(提额入口渠道):01=AddLimitIntro、020/0201/0202=Prime 双开三态、021/0211/0212=PayLater 开户三态、03=Mission … 09=ResultRepaymentPage"

状态DOC-2026-020#p82pending_review

报送位置场景 reportLocationScene 的取值包括:LANDING_PAGE_POSITION、OCR_POSITION、FACE_SCANNING_POSITION、CASH_POSITION、REAL_NAME_FACE_SCANNING_POSITION。

"reportLocationScene:LANDING_PAGE_POSITION / OCR_POSITION / FACE_SCANNING_POSITION / CASH_POSITION / REAL_NAME_FACE_SCANNING_POSITION"

定义DOC-2026-020#p85pending_review

flexCode(FLEX_CODE)是灵活额度/产品标识码。

"同上,仅知是灵活额度/产品标识码,无位段拆解"

定义DOC-2026-020#p85pending_review

EQUITY_SCENARIO.PAY_LATER 的值为 'PAY_LATTER'(双 T 拼写),建模映射依赖此原值,不得擅自纠正。

"EQUITY_SCENARIO.PAY_LATER='PAY_LATTER' | 值为双 T 拼写,确认后端契约是否就是 `PAY_LATTER`(建模映射依赖此原值,勿擅自纠正)。"

状态DOC-2026-020#p85pending_review

BIZ_SCENE 场景值中来自前端调用的取值包括:JXHJ、MINI_REPAY、MULTI_SETTLE、OVERDUE_RESTRUCTURE。

"BIZ_SCENE 全集 | JXHJ/MINI_REPAY/MULTI_SETTLE/OVERDUE_RESTRUCTURE 来自前端调用"