对账与账单下载操作手册:日终核对、差错处理与留档

支付接口联调通过,只代表"能收钱",不代表"能结账"。财务要出报表、要确认收入、要给业务方算业绩,靠的都是对账结果。而对账是最容易被技术团队低估的一环——它不在需求文档的显眼位置,出问题时却直接让财务停摆。

本文按操作顺序写成手册形式:什么时候拿账单、怎么比、出差异怎么办、留什么证据。支付接口侧的细节见 支付交易流程基础,退款侧见 退款与清结算操作手册。

一、为什么必须做对账

三个理由,都不是"可选项":

第一,回调会丢。 网络抖动、服务重启、接口超时都会导致异步通知没收到。只依赖回调的系统,日积月累一定出现"钱到了但订单没变状态"。

第二,金额会错。 单位换算、优惠券分摊、部分退款叠加,任何一个环节算错,本地流水与通道流水就会不一致。对账是唯一能系统发现这类错误的手段。

第三,财务要闭环。 收入确认、成本核算、税务申报都需要可验证的流水依据,而不是业务库里的一个状态字段。

二、三类账单先分清

账单类型 记录内容 主要用途
交易账单 每笔成功支付明细 与订单流水核对
退款账单 每笔退款明细 与退款单核对
资金账单 结算、手续费、扣款等资金变动 与账户余额核对

很多团队只做交易账单对账,结果发现账户余额永远对不上——因为手续费是单独扣的,结算金额不等于交易金额。资金账单才能解释"为什么交易总额和到账金额不同"。

三、账单什么时候生成、怎么拿

国内通道的账单一般是 T+1 生成前一日数据,不是实时可用。这意味着:

  • 当日无法完成完整对账,只能做"回调 + 查单"的实时核对;
  • 完整对账必须是 T+1 的定时任务,通常在凌晨到上午之间执行;
  • 遇到节假日要看通道的生成规则,部分通道顺延。

获取方式有两种:后台手动下载和接口自动申请。生产环境必须用接口自动化,手动下载只能作为应急手段。微信支付通过申请交易账单接口拿到下载地址再下载文件,支付宝通过对账单查询接口获取下载链接,银联通常走文件服务器按日期取文件。文件格式多为 CSV 压缩包,需要解压后解析。

一个必须注意的细节:下载链接有时效,过期需要重新申请。定时任务要把"申请"和"下载"放在同一次执行里,不要分两步存链接。

四、三层核对法

对账不要一上来就逐笔比,先做粗粒度收敛,能快速定位问题范围:

第一层:笔数与总额。 本地成功笔数 vs 账单笔数,本地金额合计 vs 账单金额合计。只要这一层就对不上,说明有结构性差异(漏单、重复、多通道混算),不必往下细查。

第二层:逐笔匹配。 以商户订单号为键做左右连接,找出三类记录:

  • 本地有、账单无:可能本地误判成功,或订单走了其他通道;
  • 账单有、本地无:典型漏单,回调丢失的候选;
  • 两边都有但金额不同:单位换算或优惠分摊错误。

第三层:状态与时间校验。 已匹配的记录再校验交易时间、支付方式、手续费是否一致。这一层用于发现更隐蔽的问题,比如通道侧改单、汇率差异。

五、五类差错怎么处理

长款(通道有、本地无):先查是否回调丢失。用订单号主动查单,确认支付成功后补单入账,并记录"漏单"原因。如果查单显示不存在,可能是订单号不匹配(大小写、前后空格),需要修正映射关系。

短款(本地有、通道无):本地记录成功但通道无此笔,属于严重问题——可能是伪造回调或本地误判。立即冻结该订单、核对回调原始报文与验签结果,必要时联系通道核查。

金额不一致:最常见于单位错误(元与分混淆)与优惠分摊。修复方式是统一以最小货币单位整数存储,并在入库前做断言校验。

重复入账:同一笔订单被处理两次。根因通常是回调幂等缺失或补单逻辑与回调并发。修复手段是唯一索引兜底。

状态不一致:本地显示成功、通道显示已关闭,或反之。多数是关单与支付竞态,处理方式是关单失败后立即查单,以通道状态为准修正本地。

每一类差错都要落表:订单号、差异类型、涉及金额、发现时间、原因、处理动作、处理人、闭环时间。这张差错台账是排查趋势问题的唯一依据。

六、对账失败的排查顺序

当对账任务报"不平",按这个顺序查,能省掉大半时间:

  1. 时间范围是否正确(时区、跨日边界、是否包含了顺延的节假日数据);
  2. 账单文件是否完整(有没有解压失败、是否下载到空文件);
  3. 通道是否全部覆盖(多通道时漏了一个通道的账单是最常见原因);
  4. 退款是否已扣除(交易账单通常不含退款,需要单独对);
  5. 手续费口径是否一致(含费还是不含费);
  6. 测试订单是否混入(生产环境有过测试单会长期干扰)。

七、留档与审计

对账相关材料属于财务凭证,需要长期保存:原始账单文件、解析后的流水、差错台账、处理记录。保存期限按财务与税务要求执行,通常不短于会计档案的法定保存年限,具体以主管财税要求为准。

留档的三个要点:原始文件不修改(解析结果另存,原始文件只读)、版本可追溯(每次对账结果带任务 ID 与执行时间)、权限受控(账单含交易明细,属于敏感数据)。

八、日终流程参考

按时间顺序排一份可执行的清单:

  1. 上日 24:00 后触发定时任务,申请并下载全部通道账单;
  2. 解压、解析、归一化字段,统一金额单位与时间格式;
  3. 跑第一层笔数总额核对,不平则告警并停止;
  4. 跑第二层逐笔匹配,生成差异清单;
  5. 对差异执行查单,能自动修正的自动补单,不能的进人工队列;
  6. 生成对账报告,推送财务与业务负责人;
  7. 人工处理差错台账,当日闭环或给出预计闭环时间;
  8. 归档原始账单与对账结果。

多通道场景下,聚合层会额外增加一层对账复杂度,相关设计见 聚合支付与服务商模式;自动化开票与账单生成见 发票账单自动生成方案;微信支付侧的账单接口见 微信支付 APIv3 接入实操。更多支付方案可参见 支付 分类。

来源:16IDC 原创,文中涉及的产品能力、费率与准入要求以 pay.weixin.qq.com 等官网文档及合同为准。