Saya memiliki lingkungan dev pada curl 7.19.7.
Baru-baru ini saya perhatikan bahwa Paypal Express tidak lagi berfungsi dan sedang mengembalikan kesalahan "Unable to communicate with the PayPal gateway."
.
Menggali log pengecualian bisa Anda lihat
exception 'Exception' with message 'PayPal NVP CURL connection error #35: SSL connect error' in /path/app/code/core/Mage/Paypal/Model/Api/Nvp.php:983
Stack trace:
#0 /path/app/code/core/Mage/Paypal/Model/Api/Nvp.php(616): Mage_Paypal_Model_Api_Nvp->call('SetExpressCheck...', Array)
#1 /path/app/code/core/Mage/Paypal/Model/Express/Checkout.php(381): Mage_Paypal_Model_Api_Nvp->callSetExpressCheckout()
#2 /path/app/code/core/Mage/Paypal/Controller/Express/Abstract.php(108): Mage_Paypal_Model_Express_Checkout->start('http://asdf...', 'http://asdf...', false)
#3 /path/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Paypal_Controller_Express_Abstract->startAction()
#4 /path/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch('start')
#5 /path/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#6 /path/app/code/core/Mage/Core/Model/App.php(365): Mage_Core_Controller_Varien_Front->dispatch()
#7 /path/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#8 /path/index.php(210): Mage::run('uk', 'store')
Saya tidak tahu apakah Paypal telah mengubah apa pun dengan sandbox mereka baru-baru ini, tetapi pergi ke URL api-3t.sandbox.paypal.com di SSLLabs dan melihat bahwa satu-satunya protokol yang mereka dukung adalah TLS 1.2.
Setelah membaca tentang pengaturan versi protokol dalam manual PHP, saya menambahkan berikut ini
nano +194 lib/Varien/Http/Adapter/Curl.php
curl_setopt_array($this->_getResource(), $options);
+curl_setopt($this->_getResource(), CURLOPT_SSLVERSION, 6);
return $body;
Bagus! Setelah apache anggun sekarang saya dapat menggunakan Paypal express. Namun, saya tidak senang bahwa saya harus meretas inti. Saya juga tidak senang bahwa saya harus meretas inti di tempat khusus curl
daripada ke Paypal.
Adakah yang punya saran tentang cara yang benar untuk memperbaiki masalah ini?
EDIT:
Hanya mengonfirmasi beberapa temuan tambahan, ini tidak memengaruhi Standar Paypal di Magento karena tampaknya tidak digunakan di curl
bawah tenda. Kami mendapatkan negatif palsu pada mesin tertentu.
T: "Bagaimana ini bisa berhasil! Curl gagal terhubung ke kotak pasir di baris perintah"
A: "Ini menggunakan standar paypal dan tidak mengungkapkan, itu tidak digunakan curl