支付系统架构设计 —— 从幂等、防重、对账到分布式事务的完整工程能力

28 阅读1分钟
  1. 前言:为什么“支付体系”是后端架构的终极大关?

    • 小 bug 就可能造成巨大资金损失
    • 支付的复杂不是代码复杂,而是“业务不可逆 + 高并发 + 一致性”
    • 所有成熟后端必须理解支付体系思想
  2. 支付系统核心组件

    • 支付订单(Pay Order)
    • 交易流水(Transaction)
    • 渠道请求(Channel Request)
    • 回调处理(Notify)
    • 对账(Reconciliation)
  3. 支付系统的关键技术痛点

    • 幂等:如何确保“支付成功”不被重复处理
    • 防重:如何避免渠道回调重复推送
    • 超时处理:异步支付等待
    • 补单补偿:渠道延迟 / 网络波动
    • 一致性:支付状态必须唯一准确
  4. 支付流程设计

    • 下单 → 跳转渠道 → 回调 → 校验签名 → 业务完成
    • 状态机驱动支付状态
    • 各阶段日志与完整事件链路
  5. 风控与限额体系融合

    • 限额(单笔/单日/分级)
    • 异常检测(设备/环境/行为)
    • 出入金风控策略
  6. 对账体系设计(核心难点)

    • 渠道账 vs 平台账 vs 业务账
    • 对账模型(T+0 / T+1)
    • 自动对账与人工对账闭环
  7. 分布式事务解决方案

    • TCC(Try-Confirm-Cancel)
    • 消息事务(Outbox + MQ)
    • 最终一致性状态机
  8. 总结

    • 支付是业务工程 + 系统工程的极致结合
    • 真正理解支付系统,后端架构能力会提升两个台阶