背景介绍
之前使用的是外面的四方系统,不方便服务商批量提供和管理收款账号;所以想着自己写一套,技术使用的都是新技术 前后分离,前端使用vue,后端使用springcloud-alibaba+springboot微服务架构。现在系统可以投入使用,对账功能及优化点持续完善开发。
市面的系统都已经泛滥了,说不定还有后门,所以自己开发比较靠谱实在,虽然页面比较丑但是支付系统还得看只要功能和支付网关可用性。
系统技术栈
后端框架使用spring cloud-alibaba+springboot微服务架构(使用nacos服务注册),mybatisplus,数据库有mysql5.7+redis 以及消息中间件MQ;前端使用的是vue+ElementUi进行开发。
代码结构
- 所有模块可单独使用一个服务器部署,只需要暴露网关服务器地址,安全保障得到提高,分布式部署,性能也得到了提高,各服务互不牵连,提高整个系统可用性;还可以在网关外部使用nginx做一层代理。
- zwpay-gateway:后端统一入口网关
- zwpay-isv:服务商模块(服务商即为系统提供收款账号的同学使用的系统----当系统使用自身通道时才需要使用)
- zwpay-manager:运营管理模块
- zwpay-merchant:商户管理模块
- zwpay-payment:支付网关
- zwpay-ui-isv:服务商前端页面模块
- zwpay-ui-mch:商户前端页面模块(扫码支付页面在商户模块)
- zwpay-ui-mgr:运营管理前端页面模块
系统主要功能
- 支付网关
- 外部系统对接拉起支付订单,查询订单支付状态;
- 使用MQ做高可用支付订单回调通知
- 对接其他三方或四方系统
- 使用多个策略模式设计,轻松集成通道
- 运营系统
- 对商户的添加,删除,信息修改
- 指定一个或多个服务商给商户(指定后该商户订单的收款账号只会从指定的服务商配置的账号抽取)
- 对商户的应用进行添加,删除,修改及状态修改(状态为关闭则该应用不能拉起支付 订单)
- 对服务商的添加,删除,信息修改
- 查看所有服务商在每个支付方式配置的收款账号
- 查看所有支付订单和订单回调状态(通知失败可重发通知)
- 添加支付方式及支付接口(添加后需要在代码中增加对应的支付通道)
- 商户系统
- 对自己的支付应用进行管理,可添加,修改,配置应用的支付方式
- 发起支付测试
- 查看自己的支付订单
- 服务商系统
- 可添加所有支付方式的账号
- 可查看自己所有账号的支付订单
系统预览
作者是后端java开发,前端页面都是使用组件,并没有什么样式所以比较丑;系统主要功能也都拥有了,其他的优化点还会不断的改善 比如:对账,订单导出等等(角色权限还在考虑要不要实现),系统功能还在持续增加(不一定会放出来)。
如果有好的通道或者有研究新支付通道的想法也可以一起交流,或者有什么好的建议;或者有需要这系统的可以--->(zwen14@163.com)