先说结论:支付不是接个接口就完事,对账才是命门

不少项目把「接好微信支付」当成支付环节的终点。结果上线第一个月月底,财务拿着微信流水和自己的订单一对,对不上——多收的、少收的、退款没冲抵的,全混在一起。

支付环节的真正终点不是「能付钱」,是「每一笔都算得清」。下面把交易链路和最容易踩的坑理一遍。

一、一笔交易到底经过哪几站

用户点支付 → 微信支付扣款 → 钱进你的商户号 → 你的订单系统记账 → 每日对账。

链路里有两个「账」:微信那边记一笔、你自己的系统记一笔。两本账必须对得上,否则要么丢钱、要么多算。很多人只管「能付」,不管「两本账对不对」,问题就出在这。

二、微信支付费率是怎么回事

微信支付不是免费的,会从交易额里扣一笔手续费,不同行业费率不同,通常 0.6% 上下。

重点是:这笔钱是微信/银行收的,不是开发服务商收的,服务商只代缴不赚差价。报价时凡是涉及费率的,应该明确告诉你「这是微信官方收的、按行业核定」,而不是含糊地并进开发费。

三、为什么金额必须「服务端权威核算」

这是交易系统最不能省的一道防线。

金额、库存、优惠、分账,所有关键计算必须放在服务端,前端只负责展示和发起。原因很硬:

  • 前端传过来的金额不可信——用户改个请求就能改价格;
  • 库存扣减必须原子操作,否则搞促销时瞬间超卖;
  • 分账、分销的每一分钱都要服务端算清楚,前端算等于送钱给刷单的人。

我们做过的社区团购项目,峰值一天 2.4 万单,结算全程服务端权威核算——靠的就是这条原则。把计算放进服务端,是把「账算错」的概率压到趋近于零的唯一办法。

四、对账怎么做才不崩溃

日常对账的核心是「三方对」:

  • 你的订单系统:每笔订单的应收到账额;
  • 微信支付流水:微信实际扣的、手续费多少;
  • 银行入账:最终打到你账户的净额。

三者逐日勾稽。出现差额的常见原因:退款没冲抵、部分退款算错、分账场景漏算某一笔。

如果涉及分销、多级分账,复杂度会明显上升——每一笔成交要拆给平台、团长、供应商,必须逐笔核,不能月底汇总了事。

五、退款与纠纷

退款是另一个容易算糊的地方:

  • 退款原路返回,到账有时效,状态要跟踪;
  • 部分退款(比如拆单、退一件)要单独建模,不能「整单退」一刀切;
  • 退款和原订单的对冲,必须进对账逻辑,否则账永远对不上。

常见坑

  • 只接支付不接对账:能收钱,但月底算不清;
  • 金额算在前端:给刷单和改价留了口子;
  • 分账规则没想清就上线:等到对账才发现拆不出来;
  • 退款状态没人管:用户说退了,系统里还显示已收款。

最后

交易链路这件事,上线前想清楚,比上线后对着对账单一笔笔查便宜一百倍。如果你的业务涉及分销、多级结算、或高并发交易,把场景说给我们,我们可以在方案阶段就把对账和分账结构设计进去——这步省下的,是财务每月的头发。