3.3 KiB
3.3 KiB
微信支付配置说明
配置项说明
根据微信支付官方文档,以下是简化的微信支付配置说明(仅包含必填参数):
1. 基础配置
wechat:
pay:
# 子商户配置
sub-app-id: wx3c06d9dd4e56c58d # 子商户APPID
sub-mch-id: 1900000100 # 子商户号
# API密钥(32位字符串)
api-key: your-32-character-api-key-here
# 证书序列号
cert-serial-no: your-cert-serial-number
# 私钥文件路径
private-key-path: classpath:cert/apiclient_key.pem
# 支付回调地址
notify-url: https://your-domain.com/api/payment/wechat/callback
2. 参数说明
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| sub-app-id | String | 是 | 子商户APPID |
| sub-mch-id | String | 是 | 子商户号 |
| api-key | String | 是 | API密钥,32位字符串 |
| cert-serial-no | String | 是 | 证书序列号 |
| private-key-path | String | 是 | 私钥文件路径 |
| notify-url | String | 是 | 支付成功回调地址 |
3. 证书配置
- 将微信支付商户私钥文件
apiclient_key.pem放置在src/main/resources/cert/目录下 - 确保证书序列号与私钥文件匹配
- 私钥文件格式应为 PEM 格式
4. 回调地址配置
- 支付回调地址:用于接收支付成功通知
- 退款回调地址:用于接收退款成功通知
- 回调地址必须是 HTTPS 协议
- 回调地址需要能够接收 POST 请求
5. 安全注意事项
-
API密钥安全:
- API密钥是32位字符串,请妥善保管
- 不要将API密钥提交到代码仓库
- 建议使用环境变量或配置中心管理
-
证书安全:
- 私钥文件不要提交到代码仓库
- 确保证书文件权限设置正确
- 定期更新证书
-
回调地址安全:
- 使用HTTPS协议
- 验证回调签名
- 处理重复通知
6. 环境配置
开发环境 (application-dev.yml)
wechat:
pay:
# 使用测试商户号和测试APPID
sub-app-id: wx3c06d9dd4e56c58d
sub-mch-id: 1900000100
api-key: your-test-api-key
cert-serial-no: your-test-cert-serial
private-key-path: classpath:cert/test_apiclient_key.pem
notify-url: https://test-domain.com/api/payment/wechat/callback
生产环境 (application-prod.yml)
wechat:
pay:
# 使用正式商户号和正式APPID
sub-app-id: wx3c06d9dd4e56c58d
sub-mch-id: 1900000100
api-key: ${WECHAT_PAY_API_KEY}
cert-serial-no: ${WECHAT_PAY_CERT_SERIAL}
private-key-path: classpath:cert/prod_apiclient_key.pem
notify-url: https://your-domain.com/api/payment/wechat/callback
7. 常见问题
-
证书序列号获取:
- 登录微信支付商户平台
- 在"账户中心" -> "API安全" -> "API证书"中查看
-
API密钥设置:
- 在微信支付商户平台设置32位API密钥
- 确保与代码中配置的密钥一致
-
回调地址配置:
- 确保回调地址可以正常访问
- 使用HTTPS协议
- 处理跨域问题
-
测试环境:
- 使用微信支付沙箱环境进行测试
- 测试商户号和正式商户号不同
- 测试环境需要特殊配置