# 支付功能模块配置清单 ## 一、已配置项 ✅ ### 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. ✅ **准备生产环境配置** - 配置生产环境变量 - 申请正式支付宝应用(如需) --- **最后更新:** 请根据实际部署环境调整上述配置项。