聚合支付
2019-05-16 09:58:53 4 举报
聚合支付渠道业务流程
作者其他创作
大纲/内容
成功返回成功,处理中返回处理中
渠道下家服务层处理流程
把解析结果返回给网关
成功
微信文档地址:https://pay.weixin.qq.com/static/product/product_index.shtml#payment_product支付宝文档地址:https://b.alipay.com/signing/productDetailV2.htm?productId=I1011000290000001003上面提到的下家渠道包括(银行、银联、网联、微信和支付宝等可以对接的渠道)
补单服务
渠道核心服务(交易)
定时补单服务
创建订单落库,失败直接返回,落库成功调用下家服务,下家服务同步返回结果,调用下家超时或者异常直接返回
渠道核心服务(异步通知)
渠道下家服务
对返回的数据进行解密或者验签,解析出code_url或者prepay_id 和下家订单号返回调用出
接收异步通知
下家同步响应返回二维码链接(code_url)或者预支付交易会话标识(prepay_id)
渠道核心服务(订单查询)
从各种缓存获取数据,按照下家渠道要求封装对应的报文进行加密或签名
这里聚合支付包含:微信系:Native支付(主扫) 、付款码支付(被扫)、APP支付、JSAPI支付(公众号) 、H5支付、小程序支付支付宝系:当面付(主扫、被扫)、APP支付、网站支付(电脑网站、手机网站)
调用成功
网关服务
请求从网关或运营平台进来
通过
异步通知服务接收到下家渠道的异步通知,根据请求标识调用核心层的异步通知处理,根据下家渠道要求同步响应处理结果,避免下家多次通知,在高并发下影响QPS,以及占用其他服务的处理线程
同步返回OK或SUCCESS等
订单成功
订单完成,且更新成功。把成功订单通知网关,网关通知商户;通知清算总心进行计费、清算给商户;通知备付金系统(发送MQ通知)
先校验参数,不通过,直接返回网关错误信息
处理中
响应下家渠道的信息同步返回异步通知系统
补单分为两个档次:第一档:一个小时内的订单2分钟补一次第二档:一个小时到两个小时内的订单10分钟补一次
把成功订单通知网关,网关通知商户;通知清算总心进行计费、清算给商户;通知备付金系统(发送MQ通知)
渠道核心层处理流程
交易接口流程
请求从接收异步通知服务进来
发送HTTP/HTTPS/Socket请求
先根据订单号查库,订单成功直接返回,处理中在调用下家查询接口
通知完成
作为完整的系统这里还缺少,退款系统和对账系统。这里简单说明一下,从下家提供的方式获取对账文件上传到HDFS系统,上传成功发送一条消息通知对账系统对账。退款分为实时退款和非实时退款(走退款中心进行审核),实时退款直接调用银行接口就行,把退款的订单记录到退款表中。
循环调用渠道核心层service提供的查询接口,直到取出的数据小于2000跳出循环
异步通知流程结束
下家渠道异步通知
取出的订单调用查询完成本次补单任务结束,等待定时任务进入下一轮
根据聚合支付订单的时效性,默认两个小时不支付就关单,补单系统只补订单创建时间在两个小时以内的订单
交易从网关进来
定时任务执行,查询库里符合补单档次且订单状态为支付中的订单,每次取2000笔
调用下家查询,根据下家查询结果更新数据库
接收异步通知服务
渠道核心层service
解析返回结果,更新订单状态和下家订单号
直接调用下家服务进行处理,同步返回结果
请求从网关进来
根据处理结果更新数据库
下家服务说明:这里主要展示一下交易的流程查询接口、异步通知处理接口、商户注册接口等和交易流程类似这里就不一一画出。设计是思想是分成,和下家渠道相关的操作(签名、加密、解密、验签组装报文,发送报文,解析报文)都放到这一层次处理,把处理操作返回给核心层即可。
生成渠道订单号,失败直接返回
处理完成
0 条评论
下一页