聚合支付平台

一、聚合支付平台介绍

1、业务背景及功能介绍

1)商家对接支付,形成二维码显示到你的网站上。二维码背后就是一个字符串。给到一个微型和支付宝的url。

2)Deplink 可以调到对应的APP,如:weixin:// 唤醒微信的APP。

3)对接支付入款API和回调API,回调API修改订单状态。

4)支付中有几个角色,商户:对接支付的人。接口:聚合支付平台。

支付渠道:支付宝、微信、京东等。清结算系统。

5)支付对接流程

①商务对接,身份提交给平台,还有手续费问题

②技术对接

③测试和上线(数据类型用decimal)

④对账和提现

6)聚合支付

聚合平台自己又成了商户的角色。

java 聚合支付开源 聚合支付接口_spring

2、支付对接时序图介绍

支付成功通知

java 聚合支付开源 聚合支付接口_支付平台_02

二、一个聚合支付平台的基本需求

1、支付相关

1)支付API(出入款、查询、异步回调通知)

2)对接不同的支付渠道(支付方式)

3)订单系统 扣费系统

2、管理系统

1)商户账户管理(配置商户、手续费等)

2)渠道管理

3)订单管理

4)对账

5)权限

6)其他(权限、结算、统计)

三、聚合支付系统介绍

1、架构介绍

Adpator,对接不同支付渠道。

商户的管理后台

通知

Mysql 和redis

java 聚合支付开源 聚合支付接口_聚合支付 无spring化_03

2、技术栈

Java8  node.js  vue  mysql

3、为什么去spring化

Spring 并不是百分之百完美的,不用spring对代码的掌控力很高。

四、无spring实现

1、web功能

Simple HTTP API Endpoint

1) 为什么这个业务场景只需要简单的http服务

① 对B端系统用户

② 使用签名技术而非普通session认证

③ 接口变化非常缓慢

④ 基本无复杂前端相关业务

2) 我们需要的是:

① HTTP协议服务器

② HTTP请求分发器

③ 支持不同HTTP相应

④ 提供业务代码框架

⑤ Cookie以及其它http协议。

2、NanoHttpd框架

java 聚合支付开源 聚合支付接口_聚合支付 无spring化_04

 


Session里面有各种方法

java 聚合支付开源 聚合支付接口_spring_05

3、Beetl3模板

选择模板、传入参数。

java 聚合支付开源 聚合支付接口_API_06

4、Requst dispatcher(分发)

定义分发规则

Url找到哪个类的哪个方法

定了一个规约

java 聚合支付开源 聚合支付接口_API_07

包路径规则定义完成后,利用反射找到对应的class。

5、在非spring环境下使用MyBites

封装DBTools类,通过传SqlSession的lamda表达式

java 聚合支付开源 聚合支付接口_API_08

 


 

java 聚合支付开源 聚合支付接口_API_09