【问题标题】:NSS: client certificate not found (nickname not specified) with Paypal with CURLNSS:使用 CURL 的 Paypal 未找到客户端证书(未指定昵称)
【发布时间】:2017-07-07 03:19:30
【问题描述】:

我集成了 paypal 支付 API,从今天开始,它向我显示错误,例如 NSS: client certificate not found (nickname not specified)。我在这里尝试了一些可用的解决方案,但无法解决。

我们在服务器上启用了 OPEN SSL 并使用 CentOs 6.x。尝试再次升级操作系统,结果相同。

我们处于沙盒模式并在 IP 上运行我们的服务器作为我们的域尚未映射。任何帮助将不胜感激。

【问题讨论】:

    标签: php curl paypal


    【解决方案1】:

    如果您使用Curl,则必须在Curl 调用中传递以下参数。如果您在 json 数据中有任何多余的空间,请注意。

    类似这样的:

     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/payments/payment");
      curl_setopt($ch, CURLOPT_POST, true);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
      curl_setopt($ch, CURLOPT_POSTFIELDS, CARD_DATA_OBJECT);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Authorization: Bearer ".PAYPAL_TOKEN));
    

    希望对你有帮助。

    【讨论】:

    • 我遇到了同样的问题 NSS:找不到客户端证书(未指定昵称)。使用您的代码后得到相同的结果。知道如何解决它。
    • 我认为您的答案可能适用于沙盒,但 NSS 与认证有关。我是否必须在托管服务器上配置任何东西才能使交易在实时 Paypal 帐户中正常工作。
    • @BhavdipSagar 是的,您还必须升级您的 php 和 Curl 版本,因为 PayPal 已将他的握手策略更改为其他域。它需要 TLS 和带有 Curl 的 Openssl,如果您使用的是 NSS,那么它将不再工作。
    猜你喜欢
    • 2012-09-06
    • 2013-03-24
    • 2017-12-09
    • 1970-01-01
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多