我的项目中有以下几行代码:
$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。感谢大家的帮助。
答案 0 :(得分:0)
我找到了解决方案。您应该使用POST而不是GET。当然,这在PayPal文档中没有提到过。错误信息也很神秘。