Initial commit: AIGC项目完整代码

This commit is contained in:
AIGC Developer
2025-10-21 16:50:33 +08:00
commit 47c8e02ab0
137 changed files with 30676 additions and 0 deletions

139
demo/PAYMENT_SETUP.md Normal file
View File

@@ -0,0 +1,139 @@
# 支付配置说明
## 支付宝配置
### 1. 申请支付宝开放平台应用
1. 访问 [支付宝开放平台](https://open.alipay.com/)
2. 注册开发者账号
3. 创建应用,选择"网页&移动应用"
4. 获取应用信息:
- APPID
- 应用私钥
- 支付宝公钥
### 2. 配置沙箱环境
1. 在开放平台控制台启用沙箱环境
2. 获取沙箱应用信息
3. 下载沙箱版支付宝APP进行测试
### 3. 更新配置文件
`application-dev.properties` 中更新以下配置:
```properties
# 支付宝沙箱配置
alipay.app-id=你的沙箱APPID
alipay.private-key=你的应用私钥
alipay.public-key=支付宝公钥
alipay.gateway-url=https://openapi.alipaydev.com/gateway.do
alipay.notify-url=http://你的域名:8080/api/payments/alipay/notify
alipay.return-url=http://你的域名:8080/api/payments/alipay/return
```
## PayPal配置
### 1. 申请PayPal开发者账号
1. 访问 [PayPal开发者中心](https://developer.paypal.com/)
2. 注册开发者账号
3. 创建应用,选择"Sandbox"环境
4. 获取应用信息:
- Client ID
- Client Secret
### 2. 更新配置文件
`application-dev.properties` 中更新以下配置:
```properties
# PayPal沙箱配置
paypal.client-id=你的沙箱Client ID
paypal.client-secret=你的沙箱Client Secret
paypal.mode=sandbox
paypal.return-url=http://你的域名:8080/api/payments/paypal/return
paypal.cancel-url=http://你的域名:8080/api/payments/paypal/cancel
```
## 生产环境配置
### 1. 环境变量配置
生产环境建议使用环境变量:
```bash
# 支付宝生产环境
export ALIPAY_APP_ID=你的生产APPID
export ALIPAY_PRIVATE_KEY=你的生产私钥
export ALIPAY_PUBLIC_KEY=支付宝生产公钥
export ALIPAY_NOTIFY_URL=https://你的域名/api/payments/alipay/notify
export ALIPAY_RETURN_URL=https://你的域名/api/payments/alipay/return
# PayPal生产环境
export PAYPAL_CLIENT_ID=你的生产Client ID
export PAYPAL_CLIENT_SECRET=你的生产Client Secret
export PAYPAL_RETURN_URL=https://你的域名/api/payments/paypal/return
export PAYPAL_CANCEL_URL=https://你的域名/api/payments/paypal/cancel
```
### 2. 更新生产环境配置
`application-prod.properties` 中:
```properties
# 支付宝生产环境
alipay.app-id=${ALIPAY_APP_ID}
alipay.private-key=${ALIPAY_PRIVATE_KEY}
alipay.public-key=${ALIPAY_PUBLIC_KEY}
alipay.gateway-url=https://openapi.alipay.com/gateway.do
alipay.notify-url=${ALIPAY_NOTIFY_URL}
alipay.return-url=${ALIPAY_RETURN_URL}
# PayPal生产环境
paypal.client-id=${PAYPAL_CLIENT_ID}
paypal.client-secret=${PAYPAL_CLIENT_SECRET}
paypal.mode=live
paypal.return-url=${PAYPAL_RETURN_URL}
paypal.cancel-url=${PAYPAL_CANCEL_URL}
```
## 测试支付功能
### 1. 启动应用
```bash
# 启动后端服务
mvn spring-boot:run
# 启动前端服务
cd frontend
npm run dev
```
### 2. 测试流程
1. 访问 http://localhost:3000
2. 登录测试账号
3. 创建订单
4. 选择支付方式
5. 完成支付测试
### 3. 测试账号
- **支付宝沙箱**: 使用沙箱版支付宝APP扫码支付
- **PayPal沙箱**: 使用沙箱测试账号进行支付
## 注意事项
1. **HTTPS要求**: 生产环境必须使用HTTPS
2. **域名配置**: 确保回调URL使用正确的域名
3. **签名验证**: 确保私钥和公钥配置正确
4. **日志监控**: 监控支付回调日志
5. **异常处理**: 实现完善的异常处理机制
## 常见问题
### Q: 支付宝回调失败
A: 检查notify-url是否正确确保服务器可以接收POST请求
### Q: PayPal支付页面无法打开
A: 检查Client ID和Secret是否正确确保使用沙箱模式
### Q: 签名验证失败
A: 检查私钥格式,确保没有多余的空格和换行符
### Q: 跨域问题
A: 确保CORS配置正确允许支付平台的域名