You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel集成srmklive/laravel-payPal遇SSL证书错误求助

解决Laravel集成PayPal沙箱时的cURL SSL证书错误

问题详情

本地环境使用srmklive/laravel-payPal包对接PayPal沙箱,执行获取AccessToken的代码时触发cURL错误60,错误信息如下:

Error Received : array:1 [▼ //
app\Http\Controllers\PaypalController.php:23 "error" => " cURL error 60: SSL certificate problem: unable to get local issuer certificate for https://api-m.sandbox.paypal.com/v1/oauth2/token ◀ " ]

涉及代码片段:

public function paypal(Request $request)
{
    $provider = new PayPalClient;
    $provider->setApiCredentials(config('paypal'));
    $paypalToken = $provider->getAccessToken();
    dd($paypalToken);
    
    // ... 后续代码
}   

修复方案

这个错误源于本地环境缺少可信的SSL根证书,导致cURL无法验证PayPal API的证书有效性,以下是三种可行解决办法:

方案1:配置SSL根证书(推荐,适用于所有环境)

  1. 下载最新的cURL CA证书文件(cacert.pem)
  2. 打开PHP配置文件php.ini,找到并修改以下两项配置,替换为证书文件的绝对路径:
    curl.cainfo = "/path/to/your/cacert.pem"
    openssl.cafile = "/path/to/your/cacert.pem"
    
  3. 重启本地开发服务器(如XAMPP、WAMP、Valet等)

方案2:临时禁用SSL验证(仅本地开发用)

注意:生产环境禁止使用此方法,会引发安全风险

在初始化PayPal客户端后,添加一行代码关闭SSL证书验证:

public function paypal(Request $request)
{
    $provider = new PayPalClient;
    $provider->setApiCredentials(config('paypal'));
    // 禁用SSL验证
    $provider->getHttpClient()->verifyPeer(false);
    $paypalToken = $provider->getAccessToken();
    dd($paypalToken);
    
    // ... 后续代码
}   

方案3:检查开发环境SSL配置

如果使用Laravel Valet或Homestead,可尝试重新生成本地SSL证书,确保环境自带的证书可信。

内容的提问来源于stack exchange,提问作者user18514343

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 03:16:10