聚合支付平台

聚合支付平台

一、聚合支付平台介绍

1、业务背景及功能介绍

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

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

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

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

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

5)支付对接流程

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

②技术对接

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

④对账和提现

6)聚合支付

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

2、支付对接时序图介绍

支付成功通知

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

1、支付相关

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

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

3)订单系统 扣费系统

2、管理系统

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

2)渠道管理

3)订单管理

4)对账

5)权限

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

三、聚合支付系统介绍

1、架构介绍

Adpator,对接不同支付渠道。

商户的管理后台

通知

Mysql redis

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框架

 

Session里面有各种方法

3、Beetl3模板

选择模板、传入参数。

4、Requst dispatcher(分发)

定义分发规则

Url找到哪个类的哪个方法

定了一个规约

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

5、在非spring环境下使用MyBites

封装DBTools类,通过传SqlSessionlamda表达式

 

 

 

 

 

 

 

 

 

posted @ 2021-05-26 19:55  majingyun  阅读(1044)  评论(0编辑  收藏  举报