Files
AIGC/demo/PAYMENT_SETUP.md
2025-10-21 16:50:33 +08:00

140 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 支付配置说明
## 支付宝配置
### 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配置正确允许支付平台的域名