-
前言:为什么“支付体系”是后端架构的终极大关?
- 小 bug 就可能造成巨大资金损失
- 支付的复杂不是代码复杂,而是“业务不可逆 + 高并发 + 一致性”
- 所有成熟后端必须理解支付体系思想
-
支付系统核心组件
- 支付订单(Pay Order)
- 交易流水(Transaction)
- 渠道请求(Channel Request)
- 回调处理(Notify)
- 对账(Reconciliation)
-
支付系统的关键技术痛点
- 幂等:如何确保“支付成功”不被重复处理
- 防重:如何避免渠道回调重复推送
- 超时处理:异步支付等待
- 补单补偿:渠道延迟 / 网络波动
- 一致性:支付状态必须唯一准确
-
支付流程设计
- 下单 → 跳转渠道 → 回调 → 校验签名 → 业务完成
- 状态机驱动支付状态
- 各阶段日志与完整事件链路
-
风控与限额体系融合
- 限额(单笔/单日/分级)
- 异常检测(设备/环境/行为)
- 出入金风控策略
-
对账体系设计(核心难点)
- 渠道账 vs 平台账 vs 业务账
- 对账模型(T+0 / T+1)
- 自动对账与人工对账闭环
-
分布式事务解决方案
- TCC(Try-Confirm-Cancel)
- 消息事务(Outbox + MQ)
- 最终一致性状态机
-
总结
- 支付是业务工程 + 系统工程的极致结合
- 真正理解支付系统,后端架构能力会提升两个台阶