系列文章目录
支付系统设计三:渠道网关设计01-总览
支付系统设计三:渠道网关设计02-客户端报文解析
支付系统设计三:渠道网关设计03-参数验证
支付系统设计三:渠道网关设计04-渠道数据补全
支付系统设计三:渠道网关设计05-交易持久化
支付系统设计三:渠道网关设计06-业务处理
支付系统设计三:渠道网关设计07-后置处理
支付系统设计三:渠道网关设计08-结果响应
前言
在《支付系统设计一:支付系统产品化》文章中,我们知道支付渠道网关对应于基础能力
层,主要具有以下功能:
- 统一支付出口,提供丰富的支付工具原子能力(代扣、批扣、代付、批付、快捷支付、网关支付、鉴权、银行卡签约等);
- 与业务场景解耦,业务场景的多变特点不会体现在Paygw系统中 ;
屏蔽各支付渠道的接入差异(通讯方式差异、加密方式差异、业务报文差异);
快速接入支付渠道的能力(可以达到不停机接入);
在《支付系统设计二:统一开发框架》文章中,我们对整个项目系统定了统一的开发框架,在此基础上完成渠道网关的设计开发工作。
本篇将讲解在以不停机
接入支付渠道为目标的设计总览,后文会对设计进行详解,仅供大家在系统设计时候借鉴参考。
一、应用架构
首先从1.0架构整个应用架构中可以看到paygw在整个应用中所处的位置,主要是负责和支付渠道的通讯。
如下是paygw和上下游系统的具体通讯,对于一个业务流程的不同阶段,paygw可以为客户端,也可以为服务端,注意区分,因为在下面具体系统设计时候是对上下游系统进行抽象,都作为渠道和paygw进行交互。
二、开发框架
在《支付系统设计二:统一开发框架》的基础上,进行具体代码编写。
三、E-R图
涉及到的主要实体关系如下:
主要涉及到的核心表及关系:
四、管理后台配置
在对接新支付渠道时,后台管理系统需要进行对应的配置,因为以不停机作为系统设计目标,所以最大化参数配置,将可变的参数进行系统话配置,最大限度的满足不同支付渠道的需要。
五、运行时执行流程
如上执行流程分为四个阶段:
CLIENT_REQUEST_RECEIVE:接收客户端请求阶段;
SERVER_REQUEST_SEND:服务端消息发送阶段;
SERVER_RESPONSE_RECEIVE:接收服务端返回报文;
CLIENT_RESPONSE_SEND:客户端请求返回阶段;
六、屏蔽渠道差异
总结
本篇主要大概介绍了支付网关为了实现不停机在线接入支付渠道实现的方式,后面将逐一解析对各个环节进行实现介绍。