Why shipping address not being passed to PayPal using Zencart PayPal IPN

Zencart provides a number of payment modules by default. One of those is PayPal IPN (Instant Payment Notification) which you can enable from the Zencart admin panel. PayPal IPN works like PayPal Website Payments Standard with the added benefit that PayPal notifies the merchant website when the customer has successfully completed the transaction on the PayPal website. This allows the merchant to update relevant tables in the database in case the customer does not return to the merchant’s website.

By default, the Zencart PayPal IPN module does not pass the shipping address of the customer to the PayPal website. This does not affect the payment transaction of the customer but it does put the merchant in a vulnerable state. PayPal provides “Seller Protection” in case the shipping address of the customer is verified to be safe. If the shipping address is not passed over from the merchant website to PayPal then PayPal will not provide “Seller Protection” to the merchant in case the transaction is found out to be of fraudulent nature.

To enable passing of shipping address details from Zencart to PayPal please do the following steps.

1. Open the paypal.php in the includes/modules/payment folder of your Zencart website.
2. Once opened you will find the following line around line 238-239


3. Change the above line to

'no_shipping' == 2,

4. Save the file.

That’s it. Now the shipping address will be passed over to PayPal website and hopefully this will have resolved the problem.

Let me know how it went 🙂

Leave a Comment