ZenCart not finishing off the payment with PayPal

Carpigiani
Carpigiani used Ask the Experts™
on
I am using ZenCart 1.3.7.  I am connecting Paypal to our website and I have it all working up through logging onto PayPal and completing the payment.  If the payment completed then it return me to our website.  The payment does NOT go through in PayPal AND it returns to the website with the error message "We were not able to process your order. Please try again, select an alternate payment method, or contact the store owner for assistance. (Invalid Data)"  I do not know where the error message is coming from.  The message is in English and the website is in another language.

Something that I don't know about is in Modules>Payment>PayPal Express Checkout.  On the line for PayPal Express Checkout, in the column "Order Status" it says "In process" which makes me think there is something not complete. I have never done something like this so I don't know what "in process" means.  I have put in the ID, password, and signature.  I have turned on the IPN with PayPal like ZenCart asks for along with the address ZenCart suggests.

Another thing that I don't know about is cURL Proxy Status.  Configuration>My Store>cURL Proxy Status is turned off, because I can't find anything with our provider that says that a proxy is necessary.  I have tried turning it on but it I get the same message "We were not able to process your order. Please try again, select an alternate payment method, or contact the store owner for assistance. (Invalid Data)"

Where do I need to look next or what do I need to change or fix?

Thanks!
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
David FavorFractional CTO
Distinguished Expert 2018

Commented:
This is almost surely a problem with the site initiating the PayPal payment.

PayPal quietly changed their requirements a few months ago.

Sites initiating payments must run TLSv1.2 or TLSv1.3 protocols only.

If any of SSL2 or SSL3 or TLSv1.0 or TLSv1.1 protocols are enabled, transactions will simply be rejected with the dreaded "We were not able to process your order..." error message.

PayPal sent out email for nearly a year before this change occurred.

Best check this first, as old protocols is a primary reason for this problem.

Author

Commented:
Thanks!

I suspected that there might be some security issue but I did not know about the TLSv1.2 or 1.3.

If I would do the PayPal IPN instead of the PayPal Express Checkout in ZenCart could I avoid needing the TLS, since the transaction would all happen inside of the PayPal website? I don't want to go through the headache of getting that working if it won't change anything.
Fractional CTO
Distinguished Expert 2018
Commented:
Several months ago PayPal sent out a single, terse email saying they were boosting all site access requirements to a minimum of TLSv1.2 for sites sending requests to PayPal.

Then a few days... as I recall... less than a week later... PayPal enforced this new policy...

My guess is they found some flaw in TLSv1.1 (TLSv1.0 flaws are already known) which was either being exploited or was about to be exploited, so the boosted requirements to TLSv1.2 with no big fanfare, so hackers would have no chance to access this exploit on a large scale.

And... wow... this caused many problems for people running < TLSv1.2 on their sites, as transactions simply mysteriously stopped working... because... most coders write code without sufficient error testing/trapping/reporting capabilities built in... so many sites just silently stopped producing income.

Very ugly.

Note: To use PayPal, in any capacity, you must use TLSv1.2 on the site initiating any PayPal request. Makes no difference the type of request.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial