牛逼!SpringBoot+Vue企业级开源聚合支付系统!支持全部支付平台!
最近在查看我的AI工具(https://ai.quanyouhulian.com/)时,发现充值功能做的有点low,需要手工去拷贝订单号再验证,本次决定对此界面做下功能改造!
对于任何一个独立开发站而言,支付功能是必有的一个功能,像国内一般对接的比较多的是:微信支付、支付宝支付、云闪付、京东支付等、国外一般用的多的是:谷歌支付、Cybersource支付、苹果支付、paypal支付等,如果一家家去逐个对接,字段加调试没有几个月是搞不定的!
而以上这些,已经有前人做过整合了!经过在github上的选型和对比,最终决定选用Jeepay这款开源聚合支付系统(项目地址放在文章末尾)。
Jeepay聚合开源支付系统对接详细步骤
一、系统介绍
1、系统简介
Jeepay是一套适合互联网企业使用的开源支付系统,支持多渠道服务商和普通商户模式。已对接微信支付
,支付宝
,云闪付
官方接口,支持聚合码支付。
Jeepay使用Spring Boot
和Ant Design Vue
开发,集成Spring Security
实现权限管理功能,是一套非常实用的web开发框架。
2、名称由来
Jeepay = Jee + pay,是由原XxPay支付系统作者带领团队开发,“Jee”是公司计全科技名称的表示,pay表示支付。中文名称为计全支付,释为:计出万全、支付安全,让支付更加方便安全。
3、功能特点
- 支持多渠道对接,支付网关自动路由
- 已对接
微信
服务商和普通商户接口,支持V2
和V3
接口 - 已对接
支付宝
服务商和普通商户接口,支持RSA和RSA2签名 - 已对接
云闪付
服务商接口,可选择多家支付机构 - 提供http形式接口,提供各语言的
sdk
实现,方便对接 - 接口请求和响应数据采用签名机制,保证交易安全可靠
- 系统安全,支持
分布式
部署,高并发
- 管理端包括
运营平台
和商户系统
- 管理平台操作界面简洁、易用
- 支付平台到商户系统的订单通知使用MQ实现,保证了高可用,消息可达
- 支付渠道的接口参数配置界面自动化生成
- 使用
spring security
实现权限管理 - 前后端分离架构,方便二次开发
4、系统架构
5、核心技术栈
软件名称 | 描述 | 版本 |
---|---|---|
Jdk | Java环境 | 1.8 |
Spring Boot | 开发框架 | 2.4.5 |
Redis | 分布式缓存 | 3.2.8 或 高版本 |
MySQL | 数据库 | 5.7.X 或 8.0 高版本 |
MQ | 消息中间件 | ActiveMQ 或 RabbitMQ 或 RocketMQ |
Ant Design Vue | Ant Design的Vue实现,前端开发使用 | 2.1.2 |
MyBatis-Plus | MyBatis增强工具 | 3.4.2 |
WxJava | 微信开发Java SDK | 4.1.0 |
Hutool | Java工具类库 | 5.6.6 |
二、功能演示
做过支付系统的兄弟们应该都知道(不知道的看完我接下来的解释应该也能清楚了^ ^),一套支付中台由三个模块组成:代理商系统、商户系统、运营后台!
代理商系统:该系统是给代理商使用的,对于只使用支付功能用户来讲可以忽略该系统,主要用来给商户进件,配置商户费率,管理下级代理商,配置下级代理商成本,分润管理等
商户系统:该系统是给商户使用的,主要有设备管理、码牌管理、员工管理、订单管理、数据报表、门店管理、分账管理、个人中心等
运营后台:该系统是给运营人员使用的,主要功能一般有:数据统计、代理商管理、商户管理、订单管理、团队管理等。该系统权限比较多,一般是商户遇到问题由运营人员协助排查问题使用
好了,功能介绍完了,接下来看下该套开源系统的相关界面吧
1、代理商系统
代理商平台一般都是直接登录对应的支付平台的代理商系统后台,所以没有聚合页面,一般想要注册成为代理商需要满足以下条件!对于只使用支付功能商户来说,可以不用考虑!如果你也想成为代理商,可以按对应的支付平台流程完成入驻,后续你名下进件的商户每笔交易都可以拿到分润
代理商入驻可以参考文档:https://docs.jeequan.com/docs/new/new-1dbpqktia32r9
微信服务商平台:https://pay.weixin.qq.com/index.php/partner/public/home
支付宝服务商平台:https://p.alipay.com/page/settleapp/isv-guide
乐刷支付服务商平台:https://jh.leshuazf.com/#/login
2、商户系统
体验地址:http://mch.d.jeepay.vip
账号:huoguoji
密码:jeepay666
输入账号密码登录后界面如下
应用管理主要配置你的appId,这个appId是jeePay自动生成的,后面调用支付时需要传该参数!
支付配置可以配置你的支付通道列表,支付时候可以根据选择的通道拉起对应的支付
每个支付通道都需要配置相关参数,这些参数在进件完成后登录到对应的平台商户后台可以获取到
订单管理每笔订单都由一笔商户订单加一笔支付订单组成!
退款记录内退款订单也和支付订单做了关联
分账记录:一般这种美食城摊位用的比较多,比如美食城A商户配置了分账给总店B,则A的每笔交易在结算时会按配置比例分给B费用
3、运营后台
体验地址:http://mgr.d.jeepay.vip
账号:tiyan007
密码:jeepay666
登录后界面如下,可以查看到每日交易数据报表
应用列表可以查看到全部appid的支付配置,这里可以协助商户完成支付相关配置参数
支付接口可以配置模板列表,这里配置完成后商户在支付配置页就可以看到对应的支付平台
订单管理和商户后台的基本一致,不过运营后台权限要比商户后台的大。商户后台只能查看自己的,运营后台可以查看所有商户的订单信息
三、开发部署步骤
1、项目源码地址
后端工程:https://gitee.com/jeequan/jeepay
前端工程:https://gitee.com/jeequan/jeepay-ui
后端工程下载下来后结构如下
1 |
|
前端工程下载下来后代码结构如下
1 |
|
2、前端工程启动
node版本要求:<= 16
参考命令
1 |
|
3、后端工程启动
启动方式有两种,新机器推荐方法二
方法一:传统源代码方式,mysql创建表,再逐个
方法二:一键部署
先来讲下使用方法一传统部署方式
工程下载到本地后,进入docs,把里面的mysql全部初始化好
接下来,把数据库配置成你自己的,然后把每个工程主应用都启动起来!不知道怎么启动的可以去复习下SpringBoot启动方式!
方法二:一键部署
将Jeepay作为一个支付模块部署,对外提供支付接入能力,有支付需求的业务都可以接入使用。
CentOS 安装脚本 (推荐Anolis OS 8.8):
1 |
|
Ubuntu 安装脚本 (推荐 Ubuntu 22.04 64位):
1 |
|
4、后端如何集成
为了开始使用Jeepay,首先需要在项目中引入其SDK依赖。Jeepay提供了Java SDK,引入sdk依赖(最新发布版本1.5.0),支持:支付、退款、转账、分账等接口。
1 |
|
客户端调用代码可参考:
完整支付测试代码 com.jeequan.jeepay.PayOrderTest
1 |
|
总结
前端工程:https://gitee.com/jeequan/jeepay-ui
后端工程:https://gitee.com/jeequan/jeepay
接口说明文档:https://docs.jeequan.com/docs/jeepay/dev_serv
支付体验地址:https://www.jeequan.com/demo/jeepay_cashier.html
Jeepay是一套开源的聚合支付系统,附带了前后端相关源码,并且集成了后端sdk依赖包,对需要对接支付系统的独立站平台省去了一大笔对接时间!是一套非常实用的web开发框架。