聚合支付系统的设计与实现

本文介绍了支付中心系统的设计,包括其存在的目的、支付流程、处理支付结果的问题及解决方案,以及设计模式的应用。支付流程涉及唤起收银台、用户确认支付、支付结果处理等步骤。文中还详细讨论了支付订单超时关闭、保证支付结果实时性和通知上游容错的策略,同时阐述了模板方法和策略模式在系统中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

支付中心存在的目的

支付中心系统对内为各个业务线提供统一的支付、退款等服务,对外对接三方支付或银行服务实现资金的流转。如下图:

大部分公司基本都是这样的架构,主要有以下几方面的优点:

  1. 形成统一支付服务,降低业务线接入成本及重复研发成本。
  2. 更好更快的支持创新业务,为公司业务快速发展提供条件。
  3. 更利于构建安全,稳定,可扩展的支付系统。
  4. 利于核心支付数据的沉淀和统一利用。

支付流程

上图展示了用户支付的主要流程,分为三个步骤:

  1. 用户在业务订单确认页,唤起收银台页面。
  2. 用户在收银台页面选择支付方式,确认支付,显示第三方支付页面,输入密码,进行真实支付行为。
  3. 系统处理用户支付结果,并通知给用户及各个相关系统。

下面详细说下这三个步骤:

1. 唤起商户收银台

  1. 用户在订单确认页点击“去支付“按钮,调用收银台支付下单接口。
  2. 收银台将订单信息缓存并入库,然后将订单标识拼装到收银台URL上返回给订单系统。
  3. 订单系统接收到收银台地址跳转到收银台页面。

上图展示了两个业务线(景区业务线,酒店业务线)唤起的收银台页面,大概可以分为三个区域:

页面上部分显示的是支付剩余时间和应付金额;

中间部分是订单信息,根据收银台定义的数据格式,业务线动态传递过来的;

剩余部分展示的是支付渠道,支付渠道也是业务线根据自己的需求在支付后台管理系统配置的,想要哪些支付方式以及它们的顺序都可以自定义。

2. 用户确认支付

  1. 用户在收银台页面选择支付方式(支付宝支付,微信支付,银行卡支付等),点击立即支付按钮,
  2. 调用支付中心创单接口,支付中心调用三方支付创单接口,同步返回支付信息,支付中心对返回参数进行处理,返回给收银台,
  3. 收银台携带支付中心返回的参数,调用三方接口,唤起三方收银台,
  4. 用户输入密码,立即支付。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值