做业务系统绕不开支付。最开始我的做法很直接——在订单 Service 里直接调微信支付的 SDK,回调接口里直接写订单状态更新的逻辑,能跑,但代码乱成一团,支付逻辑和业务逻辑死死绑在一起。后来系统里的支付场景越来越多,除了普通订单,还有 VIP、拼团、提现……每种业务都有自己的支付回调处理逻辑,这种写法完全撑不住 于是重新设计了这套支付模块,核心目标只有一个:支付层只负责和微信打交道,业务层只负责处理自己的逻辑,两边互不感知。 一、为什么支付要单独成模块 先说问题。如果不做解耦,支付回调通常长这样: 所有业务类型的…