I had installed Zencart 1.3.8a for a client and was enabling the Paypal IPN – Website Payments Standard payment module. I input the client email address, made the other configuration details and clicked on Update but the module was still being shown in the yellowish color in the payment modules section of Zencart. This means that the module is not active and has some configuration issues.
I started to trouble shoot the problem and found that the module enabled flag is set to false for some strange reason. I then started to debug it by printing the value of the enabled flag in the code when the module is loaded. The enabled flag is active at the start however once it crosses the following line in the includes/modules/payment/paypal.php file
if (PROJECT_VERSION_MAJOR != '1' && substr(PROJECT_VERSION_MINOR, 0, 3) != '3.8') $this->enabled = false;
the enabled flag is set to false. The above code checks that module is running on Zencart version 1.3.8 and if it’s not then disables it.
I checked the project_version table in the database and found that the minor version is 3.8a instead of 3.8. You can see how much frustrating this is.
I commented the above line as I did not feel that it did not serve any purpose for my version of Zencart. The check had probably been placed there so that if anyone tries to use it on an earlier version of Zencart then it is disabled.
After commenting out the line the module worked fine and I hope the above helped you as well.