一、概述
还款信息同步,是把"扣款/收款"的事实数据准确、可核对地写入合同的还款计划,并驱动合同状态、催收与 AI 外呼。以统一还款流水表作为唯一事实来源,其余状态由其推导。
二、还款信息来源
| 来源 | 场景 | 同步方式 |
| 代扣通道 | 绑卡后到期自动扣款 | 支付回调(实时)+ 查单 + T+1 对账 |
| 银行代扣 | 签约绑定银行卡 + 银行协议扣款,到期批量扣款 | 银行代扣回盘文件(T+0 / T+1)+ 批量扣款 |
| 用户主动还款 | App / 小程序还款 | 支付回调(实时) |
| 资方代收 | 资金方放款并代收 | 资方 API / Webhook 回传明细 |
| 银行转账 / 线下 | 客户打款到公司账户 | 银行流水导入 + 回单 OCR + 人工匹配 |
| 出纳手工 | 现金 / 线下收款 | 出纳录入 + 审核 |
三、四种同步机制
① 实时回调(主力)
发起代扣 → 通道异步回调支付结果(成功/失败/处理中)→ 按渠道流水号幂等更新单笔。
② 主动查单(兜底)
回调丢失时,定时轮询通道"查单接口"补偿,保证不丢单。
③ T+1 批量对账
通道/银行每日下发对账文件(SFTP/API),跑批核对,处理差错(长款/短款/冲正/重复)。
④ 手工导入
出纳线下收款,导入银行回单/流水,系统按金额+日期+户名自动匹配合同,未匹配转人工。
银行代扣(批量扣款)同步流程
- 签约绑卡:四要素核验,签订银行代扣 / 协议支付授权
- 生成扣款批次:到期日按合同生成代扣明细(合同号、卡号、金额、期次)
- 提交银行:通过银行 / 银联批量代扣接口提交扣款指令
- 银行扣款:银行执行扣款,返回回盘文件(成功 / 失败 / 余额不足明细)
- 回盘解析入账:T+0 实时回盘或 T+1 对账文件,按流水号幂等写入还款流水表
- 失败处理:余额不足 / 卡状态异常 → 置"异常还款未提交" → 触发 AI 外呼
四、同步字段(还款流水表)
| 字段 | 说明 |
| 合同编号 / 期次 | 定位到具体合同与应还期 |
| 应还日期 / 应还本金 / 利息 / 服务费 | 由还款计划生成,作为核对基准 |
| 实还金额 / 实还日期 | 本次实际还款事实 |
| 还款方式 / 渠道 | 代扣 / 主动 / 转账 / 现金 |
| 渠道交易流水号 | 幂等去重主键 |
| 状态 | 成功 / 失败 / 部分 / 冲正 |
五、状态机与业务动作
应还→
扣款发起→
成功 / 部分 / 失败
成功
入账 → 更新剩余本金/期次 → 结清判断 → 关闭该期
部分还款
记录已还 → 剩余欠款 → "部分还款提示"外呼
六、对账与差错处理(三单匹配)
系统还款计划+
通道流水+
银行入账→
一致:标记已对账
/
差异:生成差错工单
| 差错类型 | 处理 |
| 长款 | 多收,挂账待退 / 冲抵下期 |
| 短款 | 少收,生成补扣任务 / 触发外呼 |
| 重复 | 以流水号去重,退回多余 |
| 冲正 | 反向入账,回滚状态 |
| 未匹配 | 转人工认领(金额+日期+户名) |
七、与 AI 智能外呼联动
| 同步后的状态 | 外呼任务 / 话术模板 |
| 正常还款未提交 | 还款提醒 |
| 异常还款未提交 | 异常处理(换卡/补缴) |
| 合同逾期-部分还款提示 | 部分还款提醒 |
| 合同逾期未提交 | 逾期催收 |
| 业务结清未提交 | 结清提醒 |
| 合同已全部还款未结清提示 | 结清确认 |
八、接口示例
① 支付结果回调(通道 → 系统)
{
"bizId": "HT20260924001", // 合同编号
"period": 3, // 期次
"tradeNo": "CH20261002000139", // 渠道流水号(幂等主键)
"amount": "3906.87", // 实还金额
"paidAt": "2026-10-02 10:21:03",
"channel": "withhold", // 代扣
"status": "SUCCESS" // SUCCESS / FAIL / PARTIAL
}
② 查单补偿(系统 → 通道)
// 批量查询未确认订单的真实状态
GET /api/v1/trade/query?tradeNo=CH20261002000139
// 返回与回调同结构,用于补偿丢失的回调
③ 对账文件(T+1)
// SFTP 下载:channel_20261002.csv
tradeNo,bizId,period,amount,status,paidAt
CH20261002000139,HT20260924001,3,3906.87,SUCCESS,2026-10-02 10:21:03
④ 银行代扣回盘文件
// 银行回盘:bank_withhold_20261002.txt
bizId,period,amount,cardNo,status,failReason,tradeNo
HT20260924001,3,3906.87,6217****1234,SUCCESS,,B20261002001
HT20260924002,3,2600.00,6222****5678,FAIL,余额不足,
// status: SUCCESS / FAIL(余额不足、卡冻结、协议失效…)
设计要点:① 以渠道流水号做幂等去重;② 实时回调 + 查单 + T+1 对账三层保证不漏单;③ 所有状态由统一还款流水表推导;④ 每次同步生成催记/凭证,异常转人工。
九、时序(单笔代扣)
到期日→
发起代扣→
通道处理→
回调成功→
幂等入账→
更新计划/状态→
生成催记
失败/未回调 → 查单补偿 → 仍失败 → 置"异常还款未提交" → 触发 AI 外呼。