- 创建PAYPAL_CONFIG_CHECK.md文档,提供PayPal配置错误的解决方案 - 添加mt-pay/database/README_CUSTOMER_ORDER.md文档,说明客户订单表创建方法 - 提供详细的数据库表结构和SQL脚本执行指南 - 包含配置文件格式要求和调试方法说明
69 lines
1.9 KiB
Markdown
69 lines
1.9 KiB
Markdown
# PayPal配置检查指南
|
||
|
||
## 错误信息
|
||
```
|
||
Username must not be null
|
||
```
|
||
|
||
这个错误表示PayPal的`clientId`(Client ID)配置为空。
|
||
|
||
## 问题原因
|
||
|
||
Spring Boot的`@ConfigurationProperties`在绑定配置时,需要确保:
|
||
1. 配置文件中的属性名格式正确
|
||
2. 配置类能够正确加载
|
||
3. 配置文件被正确读取
|
||
|
||
## 解决方案
|
||
|
||
### 1. 检查配置文件
|
||
|
||
确保 `application-dev.yml` 中有以下配置:
|
||
|
||
```yaml
|
||
paypal:
|
||
client-id: AdGYUZpvLuHR30dybOApvM-RNB1pVKtd74SVfh-6TK52xV-1JEBddHVMCWuDdyyHri4DXd4kABBi7Icb
|
||
client-secret: ENblspyRmwsOU_PWFurlhEYUF5Da6aYKl0pjK4ehm7p3R5aSqvbpaF_YsIIs8v0ty1c9WJu15XP-Fe_1
|
||
mode: sandbox
|
||
enabled: true
|
||
```
|
||
|
||
### 2. 检查Spring Boot配置
|
||
|
||
确保主应用类或配置类启用了配置属性绑定。
|
||
|
||
### 3. 重启应用
|
||
|
||
修改配置后,**必须重启应用**才能生效。
|
||
|
||
### 4. 验证配置加载
|
||
|
||
启动应用后,检查日志中是否有PayPal配置相关的错误信息。
|
||
|
||
## 配置属性映射
|
||
|
||
Spring Boot会自动将以下格式进行映射:
|
||
- `client-id` (kebab-case) → `clientId` (camelCase)
|
||
- `client-secret` (kebab-case) → `clientSecret` (camelCase)
|
||
|
||
## 调试方法
|
||
|
||
如果配置仍然无法加载,可以:
|
||
|
||
1. **添加启动日志**:在`PayPalProperties`类中添加`@PostConstruct`方法打印配置值
|
||
2. **检查环境变量**:确认使用的是`dev`环境(`spring.profiles.active=dev`)
|
||
3. **检查配置文件位置**:确保`application-dev.yml`在`src/main/resources`目录下
|
||
|
||
## 临时解决方案
|
||
|
||
如果配置仍然无法加载,可以在代码中临时硬编码(仅用于测试):
|
||
|
||
```java
|
||
// 仅用于测试,生产环境必须使用配置文件
|
||
if (clientId == null) {
|
||
clientId = "AdGYUZpvLuHR30dybOApvM-RNB1pVKtd74SVfh-6TK52xV-1JEBddHVMCWuDdyyHri4DXd4kABBi7Icb";
|
||
clientSecret = "ENblspyRmwsOU_PWFurlhEYUF5Da6aYKl0pjK4ehm7p3R5aSqvbpaF_YsIIs8v0ty1c9WJu15XP-Fe_1";
|
||
}
|
||
```
|
||
|