# 微信支付密钥文件说明

## 文件说明

### 必需文件

1. **apiclient_cert.p12** - 微信支付商户证书
   - 文件大小：约2-3KB
   - 用途：用于退款、撤销等需要证书的操作
   - 获取方式：从微信商户平台下载

### 可选文件

2. **apiclient_key.pem** - 微信支付私钥文件
   - 用途：用于签名验证
   - 格式：PEM格式的私钥文件

3. **apiclient_cert.pem** - 微信支付公钥文件
   - 用途：用于验证微信返回的数据
   - 格式：PEM格式的公钥文件

## 获取方式

### 1. 登录微信商户平台
- 访问：https://pay.weixin.qq.com/
- 使用商户号登录

### 2. 下载证书
- 进入：账户中心 → API安全 → API证书
- 下载 `apiclient_cert.p12` 文件

### 3. 设置证书密码
- 下载时会要求设置证书密码
- 请妥善保管密码，后续配置需要用到

## 配置说明

### application.yml 配置

```yaml
wx2:
  # 证书路径（需要配置全路径）
  certUrl: ${WX_CERT_URL:./certs/wechat/apiclient_cert.p12}
```

### 环境变量配置

```bash
# Windows
set WX_CERT_URL=C:\Users\admin\Desktop\1818AI_admin\1818_user_server\certs\wechat\apiclient_cert.p12

# Linux/Mac
export WX_CERT_URL=/path/to/project/certs/wechat/apiclient_cert.p12
```

## 安全建议

1. **文件权限**：设置适当的文件读取权限
2. **路径安全**：不要使用相对路径，使用绝对路径
3. **定期更新**：证书有效期通常为1年，请及时更新
4. **备份管理**：将证书文件备份到安全位置

## 常见问题

### Q: 证书文件路径错误
A: 确保使用绝对路径，并且文件确实存在于指定位置

### Q: 证书密码错误
A: 检查证书密码是否正确，密码通常在下载时设置

### Q: 证书文件损坏
A: 重新从微信商户平台下载证书文件

### Q: 权限不足
A: 确保应用有读取证书文件的权限

## 测试验证

配置完成后，可以通过以下方式测试：

1. 启动应用
2. 调用退款接口
3. 检查日志中是否有证书相关错误
4. 确认退款功能正常工作

## 注意事项

⚠️ **重要提醒**：
- 证书文件包含敏感信息，请勿泄露
- 生产环境建议使用环境变量配置路径
- 定期检查证书有效期
- 证书丢失请立即联系微信支付客服 