Files
MTKJPAY/PAYPAL_CONFIG_CHECK.md
qiube ca5e88cdf1 docs(guide): 添加PayPal配置检查和客户订单表创建说明
- 创建PAYPAL_CONFIG_CHECK.md文档,提供PayPal配置错误的解决方案
- 添加mt-pay/database/README_CUSTOMER_ORDER.md文档,说明客户订单表创建方法
- 提供详细的数据库表结构和SQL脚本执行指南
- 包含配置文件格式要求和调试方法说明
2025-12-23 16:03:24 +08:00

69 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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";
}
```