Zen Cart Logo
Forums / PayPal Express Checkout support / Paypal errors 77 since switching to php 7.1

Paypal errors 77 since switching to php 7.1

Views: 18,049

Results 1 to 11 of 11
22 Feb 2019, 5:08 PM
#1
greg5sb avatar

greg5sb

New Zenner

Join Date:
Dec 2011
Posts:
19
Plugin Contributions:
0

Paypal errors 77 since switching to php 7.1

Since switching to php 7.1 I've been seeing paypal error 77 when attempting to checkout with paypal. I haven't been able to figure out exactly what the error code represents. I'm using zen cart 1.55f. Any thoughts?

Full Error:

An error occurred when we tried to contact the payment processor. Please try again, select an alternate payment method, or contact the store owner for assistance. () - (77)
22 Feb 2019, 6:58 PM
#2
greg5sb avatar

greg5sb

New Zenner

Join Date:
Dec 2011
Posts:
19
Plugin Contributions:
0

Re: Paypal errors 77 since switching to php 7.1

I just noticed that zen cart is reporting that my PHP version is 7.2, but my host control panel is showing 7.1 version. Could this be related to my issues?

22 Feb 2019, 8:27 PM
#3
greg5sb avatar

greg5sb

New Zenner

Join Date:
Dec 2011
Posts:
19
Plugin Contributions:
0

Re: Paypal errors 77 since switching to php 7.1

Now zen cart is reporting php 7.1 just like my control panel.

I've ran extras/paypal_tlstest.php:

CURL TLS Connection successful.

ran extras/ipncheck.php:

IPNCHECK.PHP - Version 1.5.5

CURL RESPONSE RECEIVED - Communications OKAY
IPN TESTING - Response Received via CURL -- COMMUNICATIONS OKAY

Ran extras/curltester.php:

Connection uses TLS 1.2

Testing communications to various destinations. This is a simple diagnostic to determine whether your server can connect to common destinations.
For advanced "details" mode, add ?details=on to the URL.

(Another resource you may find useful for testing your server's overall customer-facing SSL configuration: https://www.ssllabs.com/ssltest/index.html )

Connecting to Zen Cart Version Server (http) ...
GOOD: CURL Connection successful.

Connecting to Zen Cart Version Server (https) ...
GOOD: CURL Connection successful.

Connecting to Zen Cart Support Server (https) ...
GOOD: CURL Connection successful.

Connecting to USPS (port 80)...
GOOD: CURL Connection successful.

Connecting to USPS Test/Staging/Sandbox Server (port 80)...
GOOD: CURL Connection successful.

Connecting to UPS (port 80)...
GOOD: CURL Connection successful.

GOOD: Socket established

Connecting to UPSXML (onlinetools.ups.com) ...
GOOD: CURL Connection successful.

Connecting to UPSXML (sandbox) ...
GOOD: CURL Connection successful.

Connecting to FedEx (port 80)...
GOOD: Socket established

Connecting to Canada Post REST API (SSL) ...
GOOD: CURL Connection successful.

Connecting to PayPal IPN (port 443)...
GOOD: Socket established

GOOD: CURL Connection successful.

Connecting to PayPal IPN (port 443) Sandbox ...
GOOD: Socket established

GOOD: CURL Connection successful.

Connecting to PayPal Express/Pro Server ...
GOOD: CURL Connection successful.

Connecting to PayPal Express/Pro Sandbox ...
GOOD: CURL Connection successful.

Connecting to PayPal Payflowpro Server ...
GOOD: CURL Connection successful.

Connecting to PayPal Payflowpro Pilot/Sandbox Server ...
GOOD: CURL Connection successful.

Connecting to PayPal TLSTest Server ...
GOOD: CURL Connection successful.

Connecting to Cardinal Commerce 3D-Secure Server ...
GOOD: CURL Connection successful.

Connecting to Square Payments Server ...
GOOD: CURL Connection successful.

Connecting to AuthorizeNet Production Server ...
GOOD: CURL Connection successful.

Connecting to AuthorizeNet Developer/Sandbox Server ...
GOOD: CURL Connection successful.

Connecting to First Data GGe4 server (SSL)...
GOOD: CURL Connection successful.

Connecting to Payeezy Processing Server...
GOOD: CURL Connection successful.

Connecting to Payeezy Sandbox Server...
GOOD: CURL Connection successful.

Connecting to Elavon Server...
GOOD: CURL Connection successful.

Connecting to Elavon Sandbox Server...
GOOD: CURL Connection successful.

Testing completed. See results above.

Found this error in the logs Paypal_CURL_******.log I've edited out the ip addresses and some other info:

2019-02-22 08:16:15
-------------------
(live transaction) --> https://api-3t.paypal.com/nvp
Request Headers: 
Array
(
    [0] => Content-Type: text/namevalue
    [1] => X-VPS-Timeout: 90
    [2] => X-VPS-VIT-Client-Type: PHP/cURL
    [3] => X-VPS-VIT-Integration-Product: PHP::Zen Cart(R) - PayPal/NVP
    [4] => X-VPS-VIT-Integration-Version: 1.5.5
)


Request Parameters: {SetExpressCheckout} 
Array
(
    [PAYMENTREQUEST_0_AMT] => 6.49
    [PAYMENTREQUEST_0_ITEMAMT] => 6.49
    [L_PAYMENTREQUEST_0_NAME0] => Test Product
    [L_PAYMENTREQUEST_0_QTY0] => 1
    [L_PAYMENTREQUEST_0_AMT0] => 6.49
    [PAYMENTREQUEST_0_CURRENCYCODE] => USD
    [LOCALECODE] => US
    [GIFTMESSAGEENABLE] => 0
    [GIFTRECEIPTEENABLE] => 0
    [GIFTWRAPENABLE] => 0
    [GIFTWRAPNAME] => 
    [GIFTWRAPAMOUNT] => 0
    [BUYEREMAILOPTINENABLE] => 0
    [CUSTOMERSERVICENUMBER] => 
    [BRANDNAME] => 
    [PAYMENTREQUEST_0_PAYMENTACTION] => Sale
    [ALLOWNOTE] => 1
    [LANDINGPAGE] => Billing
    [NOSHIPPING] => 0
    [RETURNURL] => 
    [CANCELURL] => 
    [PAGESTYLE] => Primary
    [METHOD] => SetExpressCheckout
    [USER] => 
    [PWD] => 
    [VERSION] => 124.0
    [SIGNATURE] => 
)


Response: 
Array
(
    [] => 
    [CURL_ERRORS] => (77) 
)

(77) 
Array
(
    [url] => https://api-3t.paypal.com/nvp
    [content_type] => 
    [http_code] => 0
    [header_size] => 0
    [request_size] => 0
    [filetime] => -1
    [ssl_verify_result] => 0
    [redirect_count] => 0
    [total_time] => 0.012848
    [namelookup_time] => 0.012768
    [connect_time] => 0.081031
    [pretransfer_time] => 0
    [size_upload] => 0
    [size_download] => 0
    [speed_download] => 0
    [speed_upload] => 0
    [download_content_length] => -1
    [upload_content_length] => -1
    [starttransfer_time] => 0
    [redirect_time] => 0
    [redirect_url] => 
    [primary_ip] => 
    [certinfo] => Array
        (
        )

    [primary_port] => 443
    [local_ip] => 
    [local_port] => 43582
)


SetExpressCheckout, Elapsed: 133ms -- Failed
(77) 
Array
(
    [url] => https://api-3t.paypal.com/nvp
    [content_type] => 
    [http_code] => 0
    [header_size] => 0
    [request_size] => 0
    [filetime] => -1
    [ssl_verify_result] => 0
    [redirect_count] => 0
    [total_time] => 0.012848
    [namelookup_time] => 0.012768
    [connect_time] => 0.081031
    [pretransfer_time] => 0
    [size_upload] => 0
    [size_download] => 0
    [speed_download] => 0
    [speed_upload] => 0
    [download_content_length] => -1
    [upload_content_length] => -1
    [starttransfer_time] => 0
    [redirect_time] => 0
    [redirect_url] => 
    [primary_ip] => 
    [certinfo] => Array
        (
        )

    [primary_port] => 443
    [local_ip] => 
    [local_port] => 43582
)
23 Feb 2019, 11:16 PM
#4
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,513
Plugin Contributions:
176

Re: Paypal errors 77 since switching to php 7.1

CURL error 77 is an SSL/TLS CA configuration error.
If it happened immediately after switching PHP versions, it's possible that your host's PHP configuration is different between PHP versions, and they need to make some adjustments. One way to confirm is to switch back to the other PHP version (assuming you're still on the same server).
Error 77 is something your hosting company has to fix, because it's related to the internal SSL/TLS negotiation configuration.

24 Feb 2019, 5:37 PM
#5
greg5sb avatar

greg5sb

New Zenner

Join Date:
Dec 2011
Posts:
19
Plugin Contributions:
0

Re: Paypal errors 77 since switching to php 7.1

DrByte:

CURL error 77 is an SSL/TLS CA configuration error.
If it happened immediately after switching PHP versions, it's possible that your host's PHP configuration is different between PHP versions, and they need to make some adjustments. One way to confirm is to switch back to the other PHP version (assuming you're still on the same server).
Error 77 is something your hosting company has to fix, because it's related to the internal SSL/TLS negotiation configuration.

Thanks for the reply DrByte. The host forced an update to 7.1 and so I can't go back. But it was working before the switch. Is there any way I can get more information/documentation about this error for my host to see what is going on. My google searches haven't come up with anything for this particular error. I've had errors like this in the past and it was extremely difficult to get them to do anything about it. Always saying it wasn't a problem on their end.

25 Feb 2019, 10:21 PM
#6
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,513
Plugin Contributions:
176

Re: Paypal errors 77 since switching to php 7.1

The "CURL error 77" is not happening "in" Zen Cart. It's happening from the PHP/CURL sublayer, which is entirely under the control of your hosting company.
Googling about CURL error 77 indicates that it's a problem with CA Certificates and SSL/TLS config. That's not anything you can control, but if your hosting company can't fix it, find a host who can.

23 Feb 2020, 12:05 AM
#7
fjolsvith avatar

fjolsvith

New Zenner

Join Date:
Mar 2016
Location:
Norcatur, Kansas, USA
Posts:
88
Plugin Contributions:
2

Re: Paypal errors 77 since switching to php 7.1

I was having Curl Error 60 when trying to install the Square Payment module, and was able to fix the problem. I'm running WAMP 3.2.0, Apache 2.4.27, PHP 7.1.9.

I found the solution on this StackOverflow page:

tl-dr: In the php.ini file, find the ";curl.cainfo =" line and change it to the absolute path of your cacert.pem file. For my server it was:

curl.cainfo = "C:\wamp\bin\apache\apache2.4.27\conf\key\cacert.pem"

Thanks to dbltoe for helping me troubleshoot this.

23 Feb 2020, 12:12 AM
#8
fjolsvith avatar

fjolsvith

New Zenner

Join Date:
Mar 2016
Location:
Norcatur, Kansas, USA
Posts:
88
Plugin Contributions:
2

Re: Paypal errors 77 since switching to php 7.1

Also, I might mention that the extras/paypal_tlstest.php file fails as the tlstest.paypal.com server no longer resolves in DNS:

Error: 6: Could not resolve host: tlstest.paypal.com

Connection Details:
Array
(
    [url] => "https://tlstest.paypal.com/"
    [content_type] => 
    [http_code] => 0
    [header_size] => 0
    [request_size] => 0
    [filetime] => -1
    [ssl_verify_result] => 0
    [redirect_count] => 0
    [total_time] => 0.063
    [namelookup_time] => 0
    [connect_time] => 0
    [pretransfer_time] => 0
    [size_upload] => 0
    [size_download] => 0
    [speed_download] => 0
    [speed_upload] => 0
    [download_content_length] => -1
    [upload_content_length] => -1
    [starttransfer_time] => 0
    [redirect_time] => 0
    [redirect_url] => 
    [primary_ip] => 
    [certinfo] => Array
        (
        )

    [primary_port] => 0
    [local_ip] => 
    [local_port] => 0
)






Advanced use: To also display the certificate chain, add ?i= to the end of the URL.
23 Feb 2020, 12:47 PM
#9
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: Paypal errors 77 since switching to php 7.1

Fjolsvith:

Also, I might mention that the extras/paypal_tlstest.php file fails as the tlstest.paypal.com server no longer resolves in DNS:

Error: 6: Could not resolve host: tlstest.paypal.com

Connection Details:
Array
(
[url] => "https://tlstest.paypal.com/"
[content_type] =>
[http_code] => 0
[header_size] => 0
[request_size] => 0
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.063
[namelookup_time] => 0
[connect_time] => 0
[pretransfer_time] => 0
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => -1
[starttransfer_time] => 0
[redirect_time] => 0
[redirect_url] =>
[primary_ip] =>
[certinfo] => Array
(
)

[primary_port] => 0
[local_ip] => 
[local_port] => 0

)

Advanced use: To also display the certificate chain, add ?i= to the end of the URL.

Please note that the extras/paypal_tlstest.php may change from version of Zen Cart to version of Zen Cart. Perhaps you could identify here what version of Zen Cart's extras folder is being attempted that is not resolving?
24 Feb 2020, 3:36 PM
#10
bfearless avatar

bfearless

New Zenner

Join Date:
Feb 2020
Location:
Maryville, TN
Posts:
11
Plugin Contributions:
0

Re: Paypal errors 77 since switching to php 7.1

somebody from ZenCart needs to contact HostGator and tell them this isn't working. I get this:

An error occurred when we tried to contact the payment processor. Please try again, select an alternate payment method, or contact the store owner for assistance. () - (35) SSL connect error

Whenever I try to connect to PayPal Express. I've spent two hours with them and they cannot resolve this issue. Please tell them to upload the current version of ZenCart (theirs is 5.01 or something like that) and test it and make sure it works. They have it as a one-click install with no documentation. This is going to damage the reputation of ZenCart if host providers aren't up to their game. I really want to use ZenCart, but I'm frustrated at this.

Sorry for the ranting, but I've spent more time than I'd like trying to get this working. It should not be this hard and I'm no idiot. Hello to everyone. I'm new here, but if issues continue to pop up, I'm going back to my old tried and true Mal's e-commerce. Not very elegant, but It works every time.

24 Feb 2020, 3:55 PM
#11
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,099
Plugin Contributions:
56

Re: Paypal errors 77 since switching to php 7.1

It doesn't appear that your site is 'protected' by an SSL certificate.

Either that or HostGator's one-click-install (not!) is busted and has not set your site's /includes/configure.php to indicate that your site has an SSL certificate installed.