# pay-core **Repository Path**: Vincentor/pay-core ## Basic Information - **Project Name**: pay-core - **Description**: 支付系统骨架-类似支付宝 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-07-03 - **Last Updated**: 2026-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Pay-Core 支付平台 支付宝/微信支付风格的支付系统,**模块化单体架构**:Maven 多模块按领域拆分,**一个 `pay-server` 进程统一启动**,无注册中心。 ## 架构说明 **仅 `pay-server` 一个启动类**,Maven 子模块只提供 Controller / Service / Mapper,不单独起进程。 ## 快速开始 需要 **JDK 21**(见根 `pom.xml` 的 `java.version`)。若系统 `mvn` 仍指向 JDK 8,请先设置 `JAVA_HOME` 再编译。 ```bash # Windows 示例 set JAVA_HOME=D:\Java\jdk-21.0.10 # 1. 编译 mvn clean install -DskipTests # 2. 启动单体后端(8080) mvn -pl pay-server spring-boot:run # 3. 启动前端(5173) cd pay-admin-web && npm install && npm run dev # 4. 创单 curl -X POST http://localhost:8080/api/v1/orders \ -H "Content-Type: application/json" \ -d '{"merchantId":"M001","outTradeNo":"O20250703001","amount":100,"subject":"测试商品"}' ``` ## 模块一览 | Maven 模块 | 职责 | API 前缀 | |-----------|------|---------| | pay-user-center | 用户 | `/api/v1/users` | | pay-merchant-center | 商户 | `/api/v1/merchants` | | pay-order-center | 订单 | `/api/v1/orders` | | pay-payment-center | 支付 | `/api/v1/payments` | | pay-refund-center | 退款 | `/api/v1/refunds` | | pay-channel-center | 渠道 | `/api/v1/channels` | | pay-account-center | 账务 | `/api/v1/accounts` | | pay-clearing-center | 清分 | `/api/v1/clearing` | | pay-settlement-center | 结算 | `/api/v1/settlement` | | pay-reconciliation-center | 对账 | `/api/v1/reconciliation` | | pay-risk-center | 风控 | `/api/v1/risk` | | pay-notify-center | 通知 | `/api/v1/notify` | | pay-id-generator | 发号器 | `/api/v1/id` | | **pay-server** | **统一启动入口** | 8080 | ## 数据库 单库 **`pay-core`**,28 张表,脚本 `sql/schema.sql`。配置采用 **profile 分环境**(`application.yml` + `application-dev.yml` / `application-prod.yml`)。 ## 技术栈 - Java 21 + Spring Boot 3.2 + MyBatis-Plus - Vue 3 + Vite + Element Plus(`pay-admin-web/`) - Maven Monorepo + Lombok(父 POM 统一引入) ## 目录结构 ``` pay-core/ ├── pay-server/ # 单体启动入口 ⭐ ├── pay-common/ # 公共组件、数据源、发号器 ├── pay-*-center/ # 各领域模块(库,非独立进程) ├── pay-admin-web/ # 管理前端 ├── sql/schema.sql # 建表脚本 └── docs/ # 架构 & 数据库文档 ```