Files
AIGC/demo/PAYMENT_CONFIGURATION_CHECKLIST.md

260 lines
7.1 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. 支付宝基础配置(开发环境)
-`alipay.app-id` - 应用ID
-`alipay.private-key` - 应用私钥
-`alipay.public-key` - 支付宝公钥
-`alipay.gateway-url` - 网关地址(沙箱)
-`alipay.charset` - 字符集UTF-8
-`alipay.sign-type` - 签名方式RSA2
-`alipay.notify-url` - 异步通知地址当前使用ngrok
-`alipay.return-url` - 同步返回地址当前使用ngrok
### 2. 后端代码实现
- ✅ 支付宝服务AlipayService
- ✅ 支付API控制器PaymentApiController
- ✅ 支付服务PaymentService
- ✅ 支付数据模型Payment, PaymentStatus, PaymentMethod
### 3. 前端代码实现
- ✅ 支付API封装payments.js
- ✅ 支付模态框组件PaymentModal.vue
- ✅ 订阅页面Subscription.vue
---
## 二、需要检查/更新项 ⚠️
### 1. 支付宝回调地址配置
**当前状态:**
- 开发环境使用 ngrok 地址:`https://curtly-aphorismatic-ginger.ngrok-free.dev`
**需要操作:**
- [ ] **如果 ngrok 地址已过期**,需要:
1. 重新运行 `ngrok http 8080` 获取新地址
2. 更新 `application-dev.properties` 中的 `alipay.notify-url``alipay.return-url`
3. 在支付宝开放平台配置新的回调地址
- [ ] **如果部署到生产环境**,需要:
1. 使用正式域名替换 ngrok 地址
2. 确保回调地址是 HTTPS支付宝要求
3. 在支付宝开放平台配置生产环境的回调地址
**配置文件位置:**
```
demo/src/main/resources/application-dev.properties (开发环境)
demo/src/main/resources/application-prod.properties (生产环境)
```
---
### 2. 支付宝开放平台配置
**需要在支付宝开放平台配置:**
- [ ] **应用回调地址**
- 登录支付宝开放平台https://open.alipay.com
- 进入"我的应用" → 选择应用
- 配置"应用网关"和"回调地址"
- 添加 `notify-url``return-url`
- [ ] **公钥配置**
- 确认应用公钥已上传到支付宝平台
- 确认支付宝公钥已配置在 `alipay.public-key`
- [ ] **沙箱测试账号**
- 获取沙箱买家账号和密码
- 用于测试支付流程
---
### 3. 生产环境配置(如需上线)
**需要配置环境变量或更新配置文件:**
```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} # 需要配置正式域名
```
**操作步骤:**
1. [ ] 在服务器环境变量中设置上述变量
2. [ ] 或创建 `application-prod.properties` 并填写实际值
3. [ ] 确保使用正式环境的 APPID 和密钥(不是沙箱)
4. [ ] 确保回调地址使用 HTTPS 协议
---
### 4. PayPal 配置(如果使用)
**当前状态:** PayPal 配置存在但可能需要更新
**需要配置项:**
```properties
# PayPal配置在 application-dev.properties 或 application-prod.properties
paypal.client-id=你的PayPal客户端ID
paypal.client-secret=你的PayPal客户端密钥
paypal.mode=sandbox # 或 live生产环境
paypal.return-url=http://yourdomain.com/api/payments/paypal/return
paypal.cancel-url=http://yourdomain.com/api/payments/paypal/cancel
```
**操作步骤:**
1. [ ] 如果使用 PayPal需要
- 在 PayPal 开发者控制台创建应用
- 获取 Client ID 和 Client Secret
- 配置回调地址
---
### 5. 数据库表检查
**需要确认以下表已创建:**
- [ ] `payments`
- [ ] `orders` 表(支付成功后创建订单)
- [ ] 相关外键和索引
**检查方法:**
```sql
SHOW TABLES LIKE 'payments';
SHOW TABLES LIKE 'orders';
```
---
### 6. 网络安全配置
**回调地址安全要求:**
- [ ] **开发环境:**
- 确保 ngrok 服务运行
- 回调地址必须是公网可访问的 HTTPS
- [ ] **生产环境:**
- 配置 SSL 证书
- 确保回调地址使用 HTTPS
- 配置防火墙规则,允许支付宝服务器访问回调接口
---
### 7. 支付测试配置
**测试前需要确认:**
- [ ] 支付宝沙箱账号已配置
- [ ] 沙箱买家账号可用于测试支付
- [ ] 回调地址在支付宝平台已配置
- [ ] 本地或服务器可以接收到支付宝回调
**测试步骤:**
1. [ ] 创建测试支付订单
2. [ ] 使用沙箱账号扫码支付
3. [ ] 验证异步通知是否接收
4. [ ] 验证支付状态是否正确更新
---
## 三、配置优先级
### 🔴 紧急(必须配置)
1. **支付宝回调地址** - 如果 ngrok 地址已过期,需要立即更新
2. **支付宝开放平台回调配置** - 必须配置才能接收支付通知
### 🟡 重要(建议配置)
3. **生产环境配置** - 如需上线必须配置
4. **数据库表检查** - 确保表结构完整
### 🟢 可选(按需配置)
5. **PayPal 配置** - 如果使用 PayPal 支付
6. **支付测试环境** - 用于测试支付功能
---
## 四、快速检查命令
### 检查配置文件是否存在
```bash
# Windows PowerShell
Test-Path demo/src/main/resources/application-dev.properties
Test-Path demo/src/main/resources/application-prod.properties
```
### 检查支付宝配置是否完整
查看配置文件中的以下项是否都已填写:
- `alipay.app-id`
- `alipay.private-key`
- `alipay.public-key`
- `alipay.gateway-url`
- `alipay.notify-url`
- `alipay.return-url`
### 测试回调地址可访问性
```bash
# 测试 notify-url 是否可访问
curl -X POST https://your-notify-url/api/payments/alipay/notify
# 测试 return-url 是否可访问
curl https://your-return-url/api/payments/alipay/return
```
---
## 五、常见问题
### Q1: ngrok 地址已过期怎么办?
**A:**
1. 重新运行 `ngrok http 8080`
2. 获取新的 HTTPS 地址
3. 更新 `application-dev.properties` 中的回调地址
4. 在支付宝开放平台更新回调地址配置
### Q2: 生产环境如何配置回调地址?
**A:**
1. 使用正式域名(必须是 HTTPS
2. 在支付宝开放平台配置生产环境回调地址
3. 确保服务器防火墙允许支付宝 IP 访问
### Q3: 如何验证配置是否正确?
**A:**
1. 创建测试支付订单
2. 使用沙箱账号支付
3. 检查日志是否收到支付宝回调
4. 验证支付状态是否正确更新
---
## 六、下一步操作建议
根据当前配置状态,建议按以下顺序操作:
1.**检查 ngrok 地址是否有效**
- 如果无效,更新回调地址配置
2.**验证支付宝开放平台配置**
- 确认回调地址已在平台配置
- 确认公钥配置正确
3.**测试支付流程**
- 创建测试订单
- 完成支付测试
- 验证回调接收
4.**准备生产环境配置**
- 配置生产环境变量
- 申请正式支付宝应用(如需)
---
**最后更新:** 请根据实际部署环境调整上述配置项。