|
java支付系统底座,专注微信、支付宝、储值卡、现金卡支付领域
一、项目简介 Dax-Pay是Bootx-Platform的子项目之一,主要是对支付收单和账务进行优化,精简与支付无关的模块,专注支付领域,对微信和支付宝的各种支付方式进行封装, 同时扩展了更多支付方式,如储值卡、现金卡等,可以作为一个简单的四方支付进行使用。 二、核心技术栈名称描述版本要求
JdkJava环境1.8+,11版本可以正常使用,但17+版本暂不支持
Spring Boot开发框架2.7.x
Redis分布式缓存5.x版本及以上
MySQL数据库基于5.7.X版本开发,基本支持8.x版本
Vue前端框架3.x三、功能概述Dax-Pay是Bootx-Platform的子项目之一,专注支付领域,对微信和支付宝的各种支付方式进行封装, 同时扩展了更多支付方式,如储值卡、现金卡等,可以作为一个支付系统的底座进行使用。 支持支付宝、微信、云闪付等通道,提供收单、退款、聚合支付、组合支付、对账、分账等功能,同时扩展了钱包支付方式。通过HTTP方式进行调用,不与其他系统产生耦合关联,可以快速集成到各种系统中,提供可视化界面进行管理,便于实现统一的支付信息管理。 功能亮点- 支持单通道支付、聚合支付、组合支付、退款、对账等支付功能
- 单通道支付:支持支付宝、微信、现金、钱包、储值卡等多种支付方式
- 聚合支付:支持微信或支付宝使用同一个码
- 组合支付:支持多种同步支付和一个异步支付(微信、支付宝)进行组合支付
- 支持退款:部分对款、全部退款等方式
- 储值卡:支持单卡支付、多卡支付,退款时支持退款到原储值卡中,也支持将余额退到同一个卡上
- 支付宝:支持web支付、wap支付、扫码支付、付款码支付、APP支付
- 微信:wap支付、扫码支付、付款码支付、APP支付、公众号/小程序支付
四、借鉴和部分参考的开源项目- Spring Cloud Gateway整合Swagger2 Demo,全网首例:wxdfun/sw
- JEECG BOOT 低代码开发平台:jeecgboot/jeecg-boot
- HZERO-基于微服务架构开源免费的企业级PaaS平台:open-hand/hzero
- RuoYi-Vue 全新 Pro 版本:zhijiantianya/ruoyi-vue-pro
- Snowy国产密码算法后台权限管理系统:xiaonuobase/snowy
- 表单设计器 k-form-design:kcz66/k-form-design
- Vue微信菜单编辑器: hopex/vue-menu
- flowable antd vue 的工作流设计器: Vincent-Vic/workflow-bpmn-modeler-antdv
- flowable 工作流相关思路和实现 乐之终曲
- GoView 一个Vue3搭建的低代码数据可视化开发平台: dromara/go-view
- easy-cron 这是基于Vue.js和iviewui封装一个crontab表达式的组件: toktok/easy-cron
- ACTable是对Mybatis做的增强功能,通过配置model注解的方式来创建表,修改表结构,并且实现了共通的CUDR功能提升开发效率:sunchenbin/mybatis-enhance
- Knife4j是一个集Swagger2 和 OpenAPI3为一体的增强解决方案:xiaoym/knife4j
- easy_trans 一个注解搞定数据翻译:dromara/easy_trans
Java客户端SDK
SDK版本号与支付网关的版本保持一致,如果需要使用,请在pom.xml中添加如下依赖。
- <!-- 支付SDK -->
- <dependency>
- <groupId>cn.daxpay.single</groupId>
- <artifactId>daxpay-single-sdk</artifactId>
- <version>${latest.version}</version>
- </dependency>
[color=rgb(51, 102, 153) !important]复制代码
SDK调用示例
此处以支付接口为例,演示业务系统如何调用支付网关进行支付,其他接口的调用方式类似
- /**
- * 统一支付接口
- * @author xxm
- * @since 2024/2/5
- */
- public class PayOrderTest {
- @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 pay() {
- PayParam param = new PayParam();
- param.setClientIp("127.0.0.1");
- param.setBizOrderNo("P0004");
- param.setTitle("测试接口支付");
- param.setChannel(PayChannelEnum.ALI.getCode());
- DaxPayResult<PayModel> execute = DaxPayKit.execute(param);
- System.out.println(execute);
- System.out.println(execute.getData());
- }
- }
[color=rgb(51, 102, 153) !important]复制代码
以下内容需要积分高于 2 才可浏览
链接:https://pan.baidu.com/s/15JByuLWGUHr2HRlYefs5Fw
提取码下载:
|
|
|