dax-pay 是 Dromara 旗下的开源支付网关系统,当前版本 3.0.0,对接了支付宝、微信支付、云闪付的接口,独立部署后通过 HTTP 向业务系统提供调用,不与原有系统耦合。GitHub 上 900+ star。以下是读 README 和仓库目录结构的备忘。
是什么
它能做的:支付、退款这些核心链路;运营端 + 商户端双端;多商户和服务商模式;把各类通道封装成统一接口;请求响应可启用签名机制;对外提供 HTTP 接口和 Java 版 SDK。它不做的:收银台、聚合支付、收款码牌在 README 里标为「功能扩展包」(付费),开源版默认不带;系统只传递信息流,资金清结算归你选的支付平台;官方不提供在线托管服务,全部自己部署。README 给了运营端和商户端两套开源版演示地址与演示账号,可以先点进去看界面再决定读不读源码。
技术栈与部署
README 的版本表给得比较硬:JDK 21+、Spring Boot 3.5.x、Redis 7.x+,数据库 MySQL 8.0+ 或 PostgreSQL 12+,前端 Vue 3.x。后端仓库按模块切分:daxpay-channel、daxpay-payment、daxpay-platform、daxpay-plugin、daxpay-device、daxpay-demo、daxpay-start;_config 目录下有 script 和 sql,根目录有 Dockerfile。daxpay-demo 是业务系统对接示例,_license 目录单独列了参考过的开源项目和许可清单,这个做法值得记一笔。前端(dax-pay-ui)和网关前端(dax-pay-h5)各是独立仓库。
git clone https://github.com/dromara/dax-pay.git
除此之外,README 没给启动命令和部署步骤,只给了演示站和文档站链接;怎么把服务跑起来,README 没写,得自己试。
值得抄的三点
一、通道按 Maven 模块切。仓库目录里几十个 daxpay-channel-xxx 子模块:wechat、alipay、union 是官方三件套,其余 leshua、lakala、yeepay、stripe、douyin 之类是三方渠道,还有一个 mock 模块——没有真实通道资质时也能把支付链路联调跑通。通道抽象做到构建单元这一层,而不是只做一个接口,加渠道不动主干。
二、网关式对外。业务系统只走 HTTP + 签名调用,不挑语言不挑框架,对原有系统零代码侵入。README 强调可独立部署,这决定了它适合「给存量业务加一层支付」的场景,而不是整体替换。
三、插件与设备层单独拆。daxpay-plugin(含风控插件模块)和 daxpay-device 独立成目录,风控、收款设备这些能力不污染核心支付链路;开源版与商业版底层代码同源、接口尽量兼容,升级路径也写在 README 里。
别踩的坑
– JDK 21 是硬要求。存量 Java 项目不少还在 8 / 11,老基座直接放不进去,先确认环境再动手。
– README 说三方通道以付费扩展包支持,但仓库目录里 leshua、lakala、hkrt 等通道模块真实存在,两者的关系 README 没解释清楚——开源版到底哪些通道开箱可用,得自己验证,别按 README 想当然。
– 演示站账号「部分功能权限未开放」,看演示评估功能范围会漏东西,建议配合文档站交叉核对。
– MySQL 与 PostgreSQL 是否功能对等、通道扩展包支持哪种库,README 没写,得自己试。
– README 里附了扩展包价目表(功能包 99、通道包 199–249 这个量级),评估时要把「开源版够不够用」和「缺的那几块要不要花钱」分开算,这两件事容易混在一起谈。
许可证
仓库 LICENSE 文件正文和 README 都写明 Apache-2.0(GitHub 页面上自动识别的标签是 LGPL-3.0,两处不一致时以 LICENSE 正文为准):允许商用、修改和再分发,无传染性,但必须保留许可证与版权声明,附带专利授权条款。另注意 README 在开源协议之外叠了一份《用户授权使用协议》:可在遵守两份协议的前提下免费商用、不付版权费用,但版权归原公司所有,且系统仅限用户自行部署使用。商用前两份都要读完。

















- 最新
- 最热
只看作者