Problems with Paypal Express in zen cart

We’ve got a few phone calls lately about the issue with PayPal Express. The issue is that when customer clicks on Paypal Express button, it display many lines of warning instead of taking them directly to Paypal page.
The errors:

Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /home2/crowscom/public_html/includes/modules/payment/paypalwpp.php on line 1467

Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /home2/crowscom/public_html/includes/modules/payment/paypalwpp.php on line 1467

Warning: Cannot modify header information – headers already sent by (output started at /home2/crowscom/public_html/includes/modules/payment/paypalwpp.php:1467) in /home2/crowscom/public_html/includes/modules/payment/paypalwpp.php on line 1492

Warning: Cannot modify header information – headers already sent by (output started at /home2/crowscom/public_html/includes/modules/payment/paypalwpp.php:1467) in /home2/crowscom/public_html/includes/functions/functions_general.php on line 44

There’ll be multiple steps to get this fixed. You need to fix the file in the root called “ipn_main_handler.php”. Then in the Modules, you need to repair/add codes in the Payment module. There’re a few files involved such as paypal.php, paypalwpp.php. Then inside this folder includes\modules\payment\paypal, you’ll need to modify these files below. Even though, there’re some minor changes but if you don’t do it, errors still exist.

– ipn_application_top.php
– paypal_admin_notification.php
– paypal_curl.php
– paypal_functions.php
– paypalwpp_admin_notification.php
– tpl_ec_button.php

Then next, in the language pack, select your store’s language (English/Portugese/Japanese…),  then select modules/payment  folder, modify this file paypalwpp.php. You’re done! Errors should disappear and the Paypal Express button should take your customers directly to Paypal page.