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

1.9 KiB
Raw Blame History

PayPal配置检查指南

错误信息

Username must not be null

这个错误表示PayPal的clientIdClient ID配置为空。

问题原因

Spring Boot的@ConfigurationProperties在绑定配置时,需要确保:

  1. 配置文件中的属性名格式正确
  2. 配置类能够正确加载
  3. 配置文件被正确读取

解决方案

1. 检查配置文件

确保 application-dev.yml 中有以下配置:

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.ymlsrc/main/resources目录下

临时解决方案

如果配置仍然无法加载,可以在代码中临时硬编码(仅用于测试):

// 仅用于测试,生产环境必须使用配置文件
if (clientId == null) {
    clientId = "AdGYUZpvLuHR30dybOApvM-RNB1pVKtd74SVfh-6TK52xV-1JEBddHVMCWuDdyyHri4DXd4kABBi7Icb";
    clientSecret = "ENblspyRmwsOU_PWFurlhEYUF5Da6aYKl0pjK4ehm7p3R5aSqvbpaF_YsIIs8v0ty1c9WJu15XP-Fe_1";
}