1 Star 0 Fork 197

土豆 / dax-pay

forked from dromara / dax-pay 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 23.06 KB
一键复制 编辑 原始数据 按行查看 历史
喵呀 提交于 2024-04-03 16:01 . feat 分账同步联调

star Build Status Build Status Build Status Downloads

Dromara Dax-Pay(开源支付系统)

❗使用须知

DaxPay是一款基于Apache License 2.0协议分发的开源软件,受中华人民共和国相关法律法规的保护和限制,可以在符合《用户授权使用协议》《Apache License 2.0》开源协议情况下进行免费使用、学习和交流。在使用前请阅读上述协议,如果不同意请勿进行使用。

🍈项目介绍

DaxPay是一套基于Bootx-Platform脚手架构建的开源支付网关系统,已经对接支付宝、微信支付相关的接口,以及扩展了钱包支付、储值卡支付、现金支付等新的支付方式。 可以独立部署,提供接口供业务系统进行调用,不对原有系统产生影响

🧭 特色功能

  • 封装各类支付通道的接口为统一的接口,方便业务系统进行调用,简化对接多种支付方式的复杂度
  • 已对接微信支付支付宝和云闪付相关的接口,后续版本将支持V3版本的接口
  • 支持组合支付,满足用户系统需要多种方式同时进行支付的场景。
  • 支持支付、退款、对账、分账等支付相关的能力
  • 提供HTTP方式接口调用能力,和Java版本的SDK,方便业务系统进行对接
  • 接口请求和响应数据支持启用签名机制,可根据实际需要进行开关,保证交易安全可靠
  • 提供管理平台,方便运营人员进行管理和操作,不需要懂IT技术也可以轻松使用
  • 提供聚合支付电脑收银台手机收银台的演示模块,供开发者参考其实现支付功能的逻辑

📃 文档和源码地址

文档地址

Bootx开源文档站 下的支付网关(DaxPay)模块下可以进行查阅相关文档,具体链接地址如下: 快速指南支付对接操作手册

项目地址

项目 GITEE GITHUB
后端地址 GITEE GITHUB
Web前端地址 GITEE GITHUB
H5前端地址 GITEE GITHUB

🏬 系统演示

管理平台:

注:演示账号部分功能修改删除权限未开放。

地址:https://daxpay.demo.bootx.cn

账号:daxpay

密码:123456

网关接口

注:接口平台只开放支付网关相关的接口,不开放系统其他接口。

地址: https://daxpay.server.bootx.cn/doc.html

账号: daxpay

密码: 123456

收银台演示

请勿大额支付,可以通过后台管理端进行退款

电脑收银台地址: https://daxpay.demo.bootx.cn/#/cashier

手机收银台地址: https://daxpay.demo.bootx.cn/h5/#/cashier/uniCashier

🥞 核心技术栈

名称 描述 版本要求
Jdk Java环境 1.8+,11版本可以正常使用,但17+版本暂不支持
Spring Boot 开发框架 2.7.x
Redis 分布式缓存 5.x版本及以上
MySQL 数据库 基于5.7.X版本开发,基本支持8.x版本
Vue 前端框架 3.x
IJpay 支付SDK开发包 项目自动管理,不需要额外处理

🛠️ 业务系统接入

业务系统想接入支付网关的话,不需要集成到业务系统里,只需要单独部署一份支付系统,然后业务系统通过接口调用即可拥有对应的支付能力, 不会对原业务系统的架构产生影响。如果是Java项目,可以使用SDK简化接入流程, 其他语言可以参照中的说明使用HTTP接口方式接入。

Java客户端SDK

SDK版本号与支付网关的版本保持一致,如果需要使用,请在pom.xml中添加如下依赖。SDK使用方式参考SDK使用说明

 <!-- 支付SDK -->
<dependency>
    <groupId>cn.bootx.platform</groupId>
    <artifactId>daxpay-single-sdk</artifactId>
    <version>${latest.version}</version>
</dependency>

SDK调用示例

此处以简单支付接口为例,演示业务系统如何调用支付网关进行支付,其他接口的调用方式类似,具体请参考支付对接

package cn.bootx.platform.daxpay.sdk;

import cn.bootx.platform.daxpay.sdk.code.PayChannelEnum;
import cn.bootx.platform.daxpay.sdk.code.PayWayEnum;
import cn.bootx.platform.daxpay.sdk.model.PayOrderModel;
import cn.bootx.platform.daxpay.sdk.net.DaxPayConfig;
import cn.bootx.platform.daxpay.sdk.net.DaxPayKit;
import cn.bootx.platform.daxpay.sdk.param.pay.SimplePayParam;
import cn.bootx.platform.daxpay.sdk.response.DaxPayResult;
import org.junit.Before;
import org.junit.Test;

/**
 * 简单支付
 * @author xxm
 * @since 2024/2/2
 */
public class SimplePayOrderTest {

    @Before
    public void init() {
        // 初始化支付配置
        DaxPayConfig config = DaxPayConfig.builder()
                .serviceUrl("http://127.0.0.1:9000")
                // 需要跟网关中配置一致
                .signSecret("123456")
                .signType(SignTypeEnum.HMAC_SHA256)
                .build();
        DaxPayKit.initConfig(config);
    }

    @Test
    public void simplePay() {
        // 简单支付参数
        SimplePayParam param = new SimplePayParam();
        param.setBusinessNo("P0001");
        param.setAmount(1);
        param.setTitle("测试支付宝支付");
        param.setChannel(PayChannelEnum.ALI.getCode());
        param.setPayWay(PayWayEnum.QRCODE.getCode());

        DaxPayResult<PayOrderModel> execute = DaxPayKit.execute(param, true);
        System.out.println(execute);
        PayOrderModel data = execute.getData();
        System.out.println(data);
    }
}

🍎 系统截图

收银台演示

微信截图_20240326141126

驾驶舱

QQ截图20240326141912

H5收银台演示

h5

支付通道配置

微信截图_20240326142208

🛣️ 路线图

当前处于功能开发阶段,部分功能可能会有调整,V2.1.0时将作为正式生产可用版本进行发布,之后会保证系统版本非大版本升级时,API接口和数据接口向前兼容

当前开发进度和任务池

历史更新记录

🥂 Bootx 项目合集

🥪 关于我们

QQ扫码加入QQ交流群

微信扫码加入微信交流群

微信图片_20240226144703

🍻 鸣谢

感谢 JetBrains 提供的免费开源 License:

JetBrains

感谢其他提供灵感和思路的开源项目

部分参考的开源项目和开源许可列表

🍷License

Apache License Version 2.0

🚀Dromara成员项目

<style> .member-project { display: flex; flex-wrap: wrap; } .member-project a { padding: 10px; } .member-project a img { height: 40px; } </style>
Java
1
https://gitee.com/670434893/dax-pay.git
git@gitee.com:670434893/dax-pay.git
670434893
dax-pay
dax-pay
allocation

搜索帮助

53164aa7 5694891 3bd8fe86 5694891