PayPal Express Checkout Redirecting to Cart: Error in Exception.log

errorexceptionnvp-gateway-errorpaypalpaypal-express

Magento CE 1.9.0.1 running on Ubuntu 14.04

PayPal Express Checkout

Not sure at all where this issue cropped up from. In the process of upgrading from 1.7 to 1.9 and had checked PayPal integration off the list. I didn't make any changes outside of styling during the time which this error began occurring.

Here is the logged error:

2014-09-09T20:24:35+00:00 ERR (3):
exception 'Mage_Core_Exception' with message 'PayPal NVP gateway errors: Array Correlation ID: 964dcac6ee158. Version: 72.0.' in /var/www/html/app/code/core/Mage/Paypal/Model/Api/Nvp.php:1062
Stack trace:
#0 /var/www/html/app/code/core/Mage/Paypal/Model/Api/Nvp.php(1008): Mage_Paypal_Model_Api_Nvp->_handleCallErrors(Array)
#1 /var/www/html/app/code/core/Mage/Paypal/Model/Api/Nvp.php(616): Mage_Paypal_Model_Api_Nvp->call('SetExpressCheck...', Array)
#2 /var/www/html/app/code/core/Mage/Paypal/Model/Express/Checkout.php(381): Mage_Paypal_Model_Api_Nvp->callSetExpressCheckout()
#3 /var/www/html/app/code/core/Mage/Paypal/Controller/Express/Abstract.php(108): Mage_Paypal_Model_Express_Checkout->start('http://staging.p...', 'http://staging.p...', false)
#4 /var/www/html/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Paypal_Controller_Express_Abstract->startAction()
#5 /var/www/html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('start')
#6 /var/www/html/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#7 /var/www/html/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#8 /var/www/html/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#9 /var/www/html/staging/store/index.php(87): Mage::run('staging', 'website')

Best Answer

Found out I had a 3rd party extension that was inadvertently hiding one of the fields in my billing/shipping address (specifically the state/region field). Something was applying a style upon page load that added "display:none;" to the field. Haven't figured out why it is being hidden yet but it definitely is supposed to be there. I don't have any extension that intentionally hides fields in my checkout and I was unable to narrow it down with Chrome's timeline tool.

I stumbled across this solution that ultimately led me to check all of my fields: Paypal Express Checkout redirects to cart for United States

PayPal of course doesn't even list that it is missing field data in the logs. Typical.