为了账号安全,请及时绑定邮箱和手机立即绑定

Paypal 结帐错误:“SSL 证书问题:无法获取本地颁发者证书”

Paypal 结帐错误:“SSL 证书问题:无法获取本地颁发者证书”

PHP
ibeautiful 2023-07-07 10:43:52
我在前端(javascript)创建贝宝订单并获取 orderId 和 payerId:createOrder: async (data, actions) => {          const item = await this.fetchPaypalItem()          return actions.order.create({            purchase_units: [              {                description: item.description,                amount: {                  value: item.description,                }              }            ]          })      },我收到了我检查过的 orderId 和 payerId。在服务器端(Laravel),我正在使用官方库https://github.com/paypal/Checkout-PHP-SDK,当我尝试创建订单(来自 paypal 文档)时,出现错误,如下所示:public function createOrder(Request $request){        $request = new OrdersCreateRequest();        $request->prefer('return=representation');        $request->body = self::buildRequestBody();       // 3. Call PayPal to set up a transaction        $client = PayPalClient::client();        $response = $client->execute($request);        return response()->json($response);}我检查了一下,$client 对象是空对象。我正在检查我的凭据,但没有问题,因为它正在 javascript 上运行。我更改了该官方库的 HttpClient 类中的一行: $curl->setOpt(CURLOPT_SSL_VERIFYPEER, true); => $curl->setOpt(CURLOPT_SSL_VERIFYPEER, false); 现在它正在工作,但我担心它不安全。有什么解决方案可以解决这个问题吗?这样安全吗?
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

这是curl_setopt($handle, CURLOPT_CAINFO, null) 的错误。它没有经过认证...在官方 sdk 中,我下载了 cacert.pem 文件并将其路径切换为 null,现在当 CURLOPT_SSL_VERIFYPEER 设置为 true 时可以正常工作。



查看完整回答
反对 回复 2023-07-07
  • 1 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信