Aw: Paypal payment orders (Not finished) state
SOLUTION!! SOLUTION!! SOLUTION!! SOLUTION!! SOLUTION!! SOLUTION!!
I fixed it after days and days of searching and testing, I finally got it corrected so hopefully this helps others not have to go through all the problems I did!!
- Check to make sure you are using at least PHP4 or higher. If you are not - None of this will work for you!
- Go to your pm_paypal.php file and change the following line:
curl_setopt($ch, CURLOPT_SSLVERSION, $pmconfigs['CURLOPT_SSLVERSION']);
(This is about line 87 in the pm_paypal file)
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2 );
This should be enough for most people and allow the orders to finish properly and the emails to be sent.
IF NOT - then also do the steps here - ONLY IF THE ABOVE 2 STEPS DO NOT FIX THE PROBLEM:
- Go to this page https://gist.github.com/VersatilityWerks/5719158/download
to get a clean copy of the file cacert.pem
NOTE - Any method involving windows notepad or other editors corrupts the file and gives the cURL error 60 etc and it messes it up and won't work.
- Take that newly saved file and upload it anywhere on your server you want. I put mine in the PHP/Extras folder just to keep everything together.
- Now go to your PHP.ini file and find the line:
CHANGE IT TO
curl.cainfo = "[pathtothisfile]\cacert.pem"
- Restart your server!
If you do not have access to your server then contact your administrator.
After these steps, your orders will complete / finish correctly and the emails will be sent assuming all the other settings and configurations are correct.
Hopefully this helps everyone else who is experiencing the same issues!