# mars-pay **Repository Path**: Marsfactory/mars-pay ## Basic Information - **Project Name**: mars-pay - **Description**: 基于 Spring Boot 3 + Thymeleaf 实现的前后端不分离支付系统,支持微信支付和支付宝支付。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 12 - **Created**: 2025-10-13 - **Last Updated**: 2025-12-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MarsPay - Spring Boot 3 支付系统 ## 项目简介 基于 Spring Boot 3 + Thymeleaf 实现的前后端不分离支付系统,支持微信支付和支付宝支付。 ## 技术栈 - **JDK**: 17 - **Spring Boot**: 3.0.5 - **模板引擎**: Thymeleaf - **数据库**: MySQL 8.0+ - **ORM**: MyBatis Plus 3.5.5 - **支付 SDK**: - 微信支付 Java SDK V3 (0.2.12) - 支付宝 EasySDK (2.2.3) - **工具类**: Hutool, Lombok ## 项目图片 ![index.png](image%2Findex.png) ![order.png](image%2Forder.png) ![pay_methods.png](image%2Fpay_methods.png) ## 在线访问地址 https://marspay.ymbyte.com/ ## 项目结构 ``` mars-pay/ ├── src/main/java/com/mars/pay/ │ ├── MarsPayApplication.java # 启动类 │ ├── common/ # 公共类 │ │ ├── Result.java # 统一响应封装 │ │ ├── PaymentStatusEnum.java # 支付状态枚举 │ │ └── PaymentTypeEnum.java # 支付方式枚举 │ ├── config/ # 配置类 │ │ ├── WechatPayConfig.java # 微信支付配置 │ │ └── AlipayConfig.java # 支付宝配置 │ ├── controller/ # 控制器 │ │ ├── IndexController.java # 首页控制器 │ │ ├── OrderController.java # 订单控制器 │ │ └── PaymentController.java # 支付控制器 │ ├── service/ # 服务层 │ │ ├── OrderService.java # 订单服务 │ │ ├── WechatPayService.java # 微信支付服务 │ │ ├── AlipayService.java # 支付宝服务 │ │ └── PaymentLogService.java # 支付日志服务 │ ├── mapper/ # 数据访问层 │ │ ├── OrderMapper.java # 订单 Mapper │ │ └── PaymentLogMapper.java # 支付日志 Mapper │ ├── entity/ # 实体类 │ │ ├── Order.java # 订单实体 │ │ └── PaymentLog.java # 支付日志实体 │ ├── dto/ # 数据传输对象 │ └── utils/ # 工具类 │ └── QRCodeUtil.java # 二维码工具 ├── src/main/resources/ │ ├── application.yml # 主配置文件 │ ├── schema.sql # 数据库建表脚本 │ ├── templates/ # Thymeleaf 模板 │ │ ├── index.html # 首页 │ │ ├── order-list.html # 订单列表 │ │ ├── pay-wechat.html # 微信支付页 │ │ ├── pay-alipay.html # 支付宝支付页 │ │ └── pay-success.html # 支付成功页 │ └── static/ # 静态资源 │ ├── css/ │ ├── js/ │ └── images/ └── pom.xml # Maven 依赖配置 ``` ## 功能特性 1. ✅ **统一订单管理** - 创建订单 - 订单查询 - 订单状态更新 2. ✅ **微信支付** - Native 支付(扫码支付) - 支付回调处理 - 支付状态查询 3. ✅ **支付宝支付** - 电脑网站支付 - 支付回调处理 - 支付状态查询 4. ✅ **支付日志** - 记录所有支付相关操作 - 请求参数和响应结果记录 5. ✅ **Thymeleaf 页面** - 支付二维码展示 - 支付跳转按钮 - 支付结果页面 ## 快速开始 ### 1. 环境要求 - JDK 21+ - Maven 3.6+ - MySQL 8.0+ ### 2. 数据库初始化 执行 `src/main/resources/schema.sql` 创建数据库表。 ### 3. 配置文件 修改 `application.yml` 中的配置: - 数据库连接信息 - 微信支付配置(appid、商户号、密钥等) - 支付宝配置(appid、私钥、公钥等) ### 4. 启动项目 ```bash mvn clean install mvn spring-boot:run ``` 访问:http://localhost:8080 ## API 接口 ### 订单接口 - `GET /order/list` - 订单列表 - `POST /order/create` - 创建订单 ### 支付接口 - `GET /pay/wechat/{orderId}` - 微信支付页面 - `GET /pay/alipay/{orderId}` - 支付宝支付页面 - `POST /notify/wechat` - 微信支付回调 - `POST /notify/alipay` - 支付宝支付回调 - `GET /pay/query/{orderNo}` - 查询支付状态 ## 注意事项 1. **测试环境配置**:在正式上线前,请先在微信/支付宝的沙箱环境中测试。 2. **回调地址**:需要配置公网可访问的回调地址。 3. **证书文件**:微信支付需要下载并配置证书文件。 4. **金额单位**:数据库存储单位为元,调用支付接口时需转换为分。 ## 许可证 MIT License --- ## 联系方式 **作者**: 程序员Mars 微信:Mars8377