wordPress-PayPalSdk开发-本地环境配置CA 根证书

事件背景:

在为 WordPress 平台开发电商类插件以支持用户在线交易时,需集成 PayPal 支付功能。在对接 PayPal Server SDK 的过程中,遭遇了OAuth 令牌获取失败与SSL 证书验证问题。

具体表现为:初始化 PayPal 客户端并调用 API 时,系统持续返回 “Client is not authorized. An OAuth token is needed to make API calls” 错误,表明 SDK 未能成功获取认证令牌;

进一步调试为何未能成功获取认证令牌:获取令牌失败提示:SSL certificate problem: self-signed certificate in certificate chain

所以问题根源找到了: 是SSL 证书验证失败:我的本地服务器服务器(WAMP 环境)在向 PayPal 令牌接口(HTTPS 协议)发起请求时,无法识别或信任 PayPal 的 SSL 证书,因为证书链中存在 “自签名证书”(通常是你的服务器本地配置的测试证书,或未安装权威 CA 根证书)。

本地配置 cacert.pem

配置 CA 根证书,即cacert.pem文件。

1:本地服务器环境版本:Wampserver 3.3.2(64 位) + PHP 8.2.13

2:访问 curl 官方 CA 证书库下载页,点击页面中的 cacert.pem 链接下载文件:地址如下:

https://curl.se/ca/cacert.pem

3:将cacert.pem 到指定路径(无则新增):C:\wamp64\bin\php\php8.2.13\extras\ssl

4:修改 php.ini 配置

路径:C:\wamp64\bin\apache\apache2.4.58\bin\php.ini

注意确认有效的路径,Wampserver有多个php.ini文件,别绕晕了。最好用php测试下

Loaded Configuration File:确认加载的 php.ini 路径

// phpinfo.php
<?php
phpinfo();
?>

在 php.ini 文件中,搜索以下两个配置项(若无则新增)

; 配置 cURL 证书验证
curl.cainfo = "C:\wamp64\bin\php\php8.2.13\extras\ssl\cacert.pem"
; 配置 OpenSSL 证书验证(可选,增强兼容性)
openssl.cafile = "C:\wamp64\bin\php\php8.2.13\extras\ssl\cacert.pem"

5:保存后,重启 WAMP 服务。

6:继续验证,调试成功: