What happened to PayPal payment standards in 1.9? …One day everything is working fine, then you upgrade to Magento 1.9 and PayPal Standard has disappeared! You’ll notice, it’s been replaced by PayPal Express. Magento seems to be pushing everyone to using PayPal Express over standard payments. Which, for most, is fine – PayPal Express keeps visitors on your website after they’ve completed the order (which is what you want). However, this can cause complications for store owners that rely on PayPal Standard (or have custom development around this payment method). Follow the below guide for Magento 1. 9 to enable both PayPal Standard and PayPal Express Checkout.
Enabling Payment Standards
You can easily enable Payment Standards in Magento 1.9 by running the below database query:
update core_config_data set value = 1 where path = 'payment/paypal_standard/active';
However, you will now receive a nasty message when loading your PayPal configuration that says:
The following error(s) occured:
Some PayPal solutions conflict. Please re-enable the previously enabled payment solutions
Disable PayPal Express
Magento did not like that! You’ll also notice both the Express Checkout Solutions box is enabled, along with Payment Standard.
In order to get rid of the error message, you’ll need to disable PayPal express by running the below database query:
update core_config_data set value = 0 where path = 'payment/paypal_express/active';
At this point, you will now have PayPal Standard turned on, and Express Turned off.
Enable Both PayPal Standard and PayPal Express
So you need both, huh? To enable both PayPal Standard and PayPal Express, follow the below steps:
- Run the below database updates:
update core_config_data set value = 1 where path IN ('payment/paypal_express/active','payment/paypal_standard/active');
- Copy the PayPal adminhtml block to app/code/local (this is called a local copy)
mkdir -p app/code/local/Mage/Paypal/Block/Adminhtml/System/Config/Fieldset && cp app/code/core/Mage/Paypal/Block/Adminhtml/System/Config/Fieldset/Location.php app/code/local/Mage/Paypal/Block/Adminhtml/System/Config/Fieldset/Location.php
- Comment out lines 335 – 347
in app/code/local/Mage/Paypal/Block/Adminhtml/System/Config/Fieldset/Location.php:
/*if (paypalConflictsObject.isConflict || paypalConflictsObject.ecMissed) {
var notification = \'' . $this->helper('core')->jsQuoteEscape($this->__('The following error(s) occured:')) . '\';
if (paypalConflictsObject.isConflict) {
notification += "\\n " + \'' . $this->helper('core')->jsQuoteEscape($this->__('Some PayPal solutions conflict.')) . '\';
}
if (paypalConflictsObject.ecMissed) {
notification += "\\n " + \'' . $this->helper('core')->jsQuoteEscape($this->__('PayPal Express Checkout is not enabled.')) . '\';
}
notification += "\\n" + \'' . $this->helper('core')->jsQuoteEscape($this->__('Please re-enable the previously enabled payment solutions.')) . '\';
setTimeout(function() {
alert(notification);
}, 1);
}*/
Conclusion
PayPal Express is definitely “the chosen method” by Magento at this point. The above may work as a temporary fix, but in the long run you will need to migrate your PayPal checkout method from Standard -> Express at some point.
Need help enabling PayPal Standard and PayPal Express?
We’ve had a lot of experience customizing Magento here at Cadence Labs. If you need help, head over to the Cadence Labs contact page, or email us at [email protected]