支付后台:支付的核心功能,处理来自于商户后台的支付与退款请求,是整个聚合支付消息传递的关键。
收银台:考虑支付请求并不一定来自于后台。在实际支付场景中,请求可以由客户端APP或浏览器跳转过来,它与后台请求所使用的网络通常是不一样的,某些场景下,还要提供让客户选择支付方式的页面。
支付机构:支付落地在支付机构或银行,意味着最终是调用他们提供的接口,但支付机构的接口并不是一成不变的,经常会升级改造。将每个支付机构的接口包装成一个服务,可以减少支付机构接口改造核心业务模块的影响。
对账结算模块:
账户服务:为了实时记账而存在的服务,将支付金额按规则进行分账,并与外部账户保持同步。
商户服务:负责提供商户交互的UI界面,融合商户使用过程中所需的功能。值得说明的是,对账结算模块中除了账户服务之外,比对与结算功能通常不需要设计为服务。比对通常使用批处理技术(如Spark或MapReduce),而结算模块由于与会计系统对接,通常按指定的规范来实现。