В последнее время сервис я хостинг на GoDaddy (Economy хостинг Windows) начал быть отказано Curl подключения к API конечной PayPal: https://api.sandbox.paypal.com/v1/oauth2/tokenGoDaddy PayPal отказ API оповещения рукопожатия
с ошибкой:
error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Чтение: Paypal can not connect to Sandbox server. Return error 14077410 (sslv3 alert handshake failure)
Я понимаю, что это связано с требованием TLS1.2. Это включено в OpenSSL 1.01, но мой сервер в настоящее время работает 0.9.8y, и, поскольку это общий хостинг, я не контролирую его.
Значит, кто-нибудь знает об этом?
Моего код:
url_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/oauth2/token");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $clientId . ":" . $secret);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");
curl_setopt($ch, CURLOPT_SSLVERSION,6);
$result = curl_exec($ch);
if (empty($result)) die("Error: No response.<br /> <b>Err:</b> " . curl_error($ch).' <b><br />ErrNo:</b> '.curl_errno($ch)."<br/>".phpinfo());
else {
$json = json_decode($result);
//print_r($json->access_token);
}
Единственный способ решить проблему - это обновить стек серверного программного обеспечения. Если GoDaddy не сделает этого для вас на вашем существующем сервере, вам нужно будет перейти на новый сервер. –
уйти от godaddy –