Paypal沙箱卷曲NVP请求失败(DoExpressCheckoutPayment)

时间:2016-11-03 16:43:08

标签: php ssl curl paypal nvp

我的项目中有以下几行代码:

    $queryString = http_build_query($data);
    $hCurl = $this->_setApiEndpoint($queryString);

    $headers = array('Content-type: multipart/form-data');
    curl_setopt($hCurl, CURLOPT_HTTPHEADER, $headers);
    //turning off the server and peer verification(TrustManager Concept).
    curl_setopt($hCurl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($hCurl, CURLOPT_SSL_VERIFYHOST, false);

    curl_setopt($hCurl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);

    parse_str($response, $result);

这是我们的paypal集成。我们使用不同的API端点,一切都很好。此代码正在生产中,并且正在运行。但是只有一个方法在沙箱中不起作用(DoExpressCheckoutPayment)。我已经认为它是Sandbox中的一个Bug,但是curl_error和curl_errno打印出一个错误,我也尝试使用Postman并且它有效。

curl_errno = 56
curl_error = SSL read: error:00000000:lib(0):func(0):reason(0), errno 104

在docker机器内发出请求,我们使用https local。感谢大家的帮助。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。您应该使用POST而不是GET。当然,这在PayPal文档中没有提到过。错误信息也很神秘。