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