项目介绍
DaxPay
是Dromara开源社区
旗下一套开源支付网关系统,已经对接支付宝、微信支付、云闪付相关的接口。独立部署,提供接口供业务系统进行调用,不对原有系统产生影响。
源码地址
核心技术栈
名称 | 描述 | 版本要求 |
---|---|---|
Jdk | Java环境 | 21+ |
Spring Boot | 开发框架 | 3.3.x |
Redis | 分布式缓存 | 5.x版本及以上 |
MySQL/Postgresql | 数据库 | MySQL8.x及以上/Postgresql 10及以上 |
Vue | 前端框架 | 3.x |
特色功能
- 封装各类支付通道的接口为统一的接口,方便业务系统进行调用,简化对接多种支付方式的复杂度
- 已对接
微信支付
、支付宝
和云闪付
相关的接口,并以扩展包的方式支持更多类型的通道 - 支持多应用配置,可以同时对接多个支付通道账号,方便多个业务系统对接
- 支持支付、退款、对账、分账等支付相关的能力
- 提供
HTTP
方式接口调用能力,和Java
版本的SDK
,方便业务系统进行对接 - 接口请求和响应数据支持启用签名机制,保证交易安全可靠
- 提供管理端,方便运营人员进行管理和操作
更新说明
- 重构: JDK版本升级为21+, Spring Boot 版本升级为3.3.x, 前端组件升级为Antd Vue 4.x + Vite5
- 重构: 数据库更新为PostgreSQL + MySQL8.x 双版本支持
- 重构: 脚手架全新重构, 精简和优化各种功能模块, 支持基于有赞文章实现的Redis延时队列
- 重构: 支持多应用模式, 每个应用都可以配置单独一套支付通道、通知订阅、收款码牌等配置, 可以实现同时对接多个业务系统
- 重构: 项目结构进行重构, 修改为支付核心+通道扩展+功能插件的方式, 实现功能模块的耦合拆分, 便于进行功能扩展和二次开发
- 重构: 对账功能进行重构, 更加简单直观和易用
- 重构: 删除订单调整相关逻辑, 分别放到订单同步和回调处理中, 只保留
- 新增: 微信支付同时支持V2和V3版本的接口, 同时V3版本支持付款码和撤销接口
- 新增: 交易调试接口功能, 用于开发时对交易流程进行测试
- 新增: 获取通道认证信息的测试页, 便于获取微信、支付宝等用户的认证信息
- 新增: 增加简易移动端收款码牌功能, 支持自动跳转到微信或支付宝对应的H5收银台, 支持自主配置所使用的通道和支付方式
- 新增: 增加商户通知功能, 通过订阅指定类型的通知类型, 将会在符合条件时推送到预留的客户系统地址上
- 优化: 各类错误处理进行统一化处理
- 优化: 优化商户回调功能, 简化配置项, 使用延时器优化重复推送的逻辑
- 优化: 减少在各种流程中上下文对象的线程变量使用, 非必需的上下文对象使用方法调用明确传输
- 优化: 对各类状态码进行优化合并, 如转账接收方类型、分账接收方类型等
- 优化: 所有金额统一为元, 保留两位小数
文档和演示地址
文档地址
在 DaxPay文档站 下的单商户模块下可以进行查阅相关文档,具体链接地址如下: 快速指南、 支付对接、 操作手册
演示地址
注:演示账号部分功能权限未开放。
地址:https://single.web.daxpay.cn
账号:daxpay
密码:daxpay123
系统截图
PC收银台演示(旧版)
移动端收银演示
支付通道配置