Skip to content

生产对账操作 ​

支付对账按渠道账户和账期执行,账期使用渠道账户配置的时区。系统分别处理交易账单、账户资金账单和银行到账账单;三类事实不能互相替代。

账单来源与支持边界 ​

渠道tradefund原始证据
微信支付v3 tradebill,请求 ALLv3 fundflowbill,默认 BASIC 账户下载地址、SHA1、商户响应验签、原始 CSV
支付宝alipay.data.dataservice.bill.downloadurl.query trade同接口 signcustomer官方下载地址、API 响应签名、原始 ZIP/CSV
云闪付/银联全渠道文件接口 txnType=76,解析 ZM/ZME全渠道交易文件不等于独立余额资金账单银联响应验签、Base64/压缩包、ZM/ZME 原文件

下载、导入和解析失败会保留原件(若渠道已返回原件)并标记 rejected,不能降级为空账单。waiting / no_bill 表示渠道尚未提供文件,不是零交易;temporary 失败会按任务策略重试,permanent / integrity / format 需要人工处理。

沙箱账单和标准人工导入用于演示或补录,来源单独记录。只有生产渠道下载并通过完整性、商户身份、账期、币种、重复流水和汇总校验的账单,才可作为生产调账依据。

自动流程 ​

  1. 系统为每个启用渠道账户按 trade / fund 能力创建持久账期;账期覆盖扫描会补建缺失日期。
  2. 下载任务取得原始文件并写入私有文件存储。文件 SHA-256、渠道摘要、文件名、大小、解析器版本和标准化行号均可追溯。
  3. 解析器使用整数最小货币单位。金额、商户号、币种、账期、行数和渠道汇总不一致时拒绝发布。
  4. 发布账单版本后创建可恢复的核对运行,运行冻结本地事实快照、案件版本和资金余额快照。
  5. 支付/退款对账按商户订单号、渠道流水号及退款号匹配;多个支付应用可共享渠道账户,应用归属只从服务端订单事实派生。
  6. 失败账期按渠道出账窗口、指数退避和任务最大尝试次数处理。补偿任务只能调用原查单/退款查询链路,不直接修改账单证据。

对账运行完成后,系统将差异写入案件并保留发现、变化、解除、重新打开和人工处置事件。账单重新核对生成新运行,不覆盖旧运行快照。

银行到账核验 ​

银行流水以 type=settlement、direction=in 导入;渠道结算事实以 type=settlement、direction=out 产生。财务人员在账单版本通过校验后创建到账分配:一笔到账可分配多个渠道结算,一笔渠道结算也可拆分到多个到账。

系统锁定账期和明细,使用整数金额校验两端剩余金额;同一到账/结算对重复提交必须使用相同金额。只有显式分配才会建立到账事实,相同金额或参考号不会自动匹配。未分配部分继续生成差异案件。

已发生分配的账单版本不能被新的账单静默替换。更正版必须经过替代版本与银行分配保护;需要调整时通过新的差异案件和审批记录处理。

差异和调账 ​

差异类型包括本地单边、渠道单边、金额、状态、归属、汇总和余额差异。渠道单边、余额差异和未知归属必须先调查或挂账;系统不会因为金额相等自动增加商户可用余额。

人工调账必须引用生产渠道下载账单、差异案件当前版本和原始证据;申请人与审批人必须分离,执行时以双分录凭证原子写入。冲正通过关联原凭证的冲正审批完成。平台手续费与渠道资金账单是不同事实,不能把平台手续费分录直接当作渠道费用。

浏览器操作入口 ​

  • /payment/recon:账期、账单版本、原件、标准明细、核对运行和差异案件。
  • /payment/recon 的银行到账分配:选择已校验银行账单和渠道结算,录入一笔或多笔分配金额后提交。
  • 账单原件下载会记录操作审计;文件存储必须为私有策略。

本文描述代码中的生产能力边界;未包含真实商户凭据联调结果,也不把沙箱或示例数据视为生产验证。

Built with VitePress for local documentation preview.