繁体   English   中英

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

[英]Paypal Checkout error: “SSL certificate problem: unable to get local issuer certificate”

我在前端(javascript)上创建 paypal 订单并获取 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 object 是空的 object。 我正在检查我的凭据,但没有问题,因为它正在 javascript 上运行。

我在该官方库的 HttpClient class 中更改了一行: $curl->setOpt(CURLOPT_SSL_VERIFYPEER, true); => $curl->setOpt(CURLOPT_SSL_VERIFYPEER, false); 现在它正在工作,但我担心它不安全。 该问题的任何解决方案,这样安全吗?

curl_setopt($handle, CURLOPT_CAINFO, null) 出错。 它没有被证明...在官方 sdk 中,我下载了 cacert.pem 文件并用 null 切换了它的路径,现在当 CURLOPT_SSL_VERIFYPEER 设置为 true 时正在工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM