# 支付回调 **Repository Path**: Martinkeep/payment-callback ## Basic Information - **Project Name**: 支付回调 - **Description**: 用于码支付的回调,并保存数据。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-29 - **Last Updated**: 2025-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Based on the provided code map, here is the README.md tailored for this project: --- # 支付回调处理系统 这是一个用于处理支付回调请求的轻量级服务系统,主要功能包括支付回调验证、日志记录以及邮件通知。 ## 项目结构概览 - **PaymentApplication.java**: Spring Boot 应用主类。 - **PaymentCallbackController.java**: 提供 REST 接口 `/notify_url` 用于接收支付平台的回调通知。 - **PaymentCallbackService.java**: 核心业务逻辑,包括签名验证、支付成功处理及邮件通知。 - **PaymentCallbackLog.java**: 数据实体类,映射数据库表 `payment_callback_log`。 - **PaymentCallbackLogMapper.java**: MyBatis Plus Mapper,用于操作支付回调日志数据。 - **PaymentCallbackRequest.java**: DTO 类,封装回调请求参数。 - **SignUtil.java**: 签名工具类,提供 MD5 签名生成与验证方法。 - **application.yml**: Spring Boot 配置文件。 - **pom.xml**: Maven 项目配置文件。 - **sql/payment_data.sql**: 数据库初始化脚本。 ## 核心功能 - **签名验证**:通过 `SignUtil` 工具类验证回调请求的签名是否合法。 - **支付日志记录**:将回调信息记录到数据库表 `payment_callback_log`。 - **邮件通知**:支付成功后,通过 JavaMailSender 发送邮件通知管理员。 ## 配置项说明 在 `application.yml` 中可配置以下参数: - `payment.merchant.key`: 商户密钥。 - `spring.mail.username`: 邮件发送账号。 - `payment.admin.email`: 管理员接收邮件地址,默认为 `1905333495@qq.com`。 ## 使用说明 1. **启动项目**:运行 `PaymentApplication` 类中的 `main` 方法。 2. **测试回调接口**:向 `/notify_url` 发送 GET 请求,携带必要参数(如 `pid`, `trade_no`, `sign` 等)。 3. **查看日志**:支付回调信息将记录在数据库中,并可通过日志查看邮件发送情况。 ## 数据库脚本 请在部署前执行 `sql/payment_data.sql` 脚本以创建必要的表结构。 ## 测试类 `PaymentApplicationTests.java` 提供了基础的 Spring 上下文加载测试。 ## 许可证 本项目采用 MIT License,请参阅 LICENSE 文件获取详细信息。 --- 如需进一步定制 README 内容,请提供具体需求或补充说明。