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