I'm trying to set up a site with PayPal and UC Recurring and some other nonsense that's not really relevant. Here's what is!
We were unable to process your credit card payment. Please verify your card details and try again. If the problem persists, contact us to complete your order.
Totally vague and unhelpful. :(
However, if I hack uc_paypal.module and toss the following in the uc_paypal_wpp_charge() function:
... $nvp_response = uc_paypal_api_request($nvp_request, variable_get('uc_paypal_wpp_server', 'https://api-3t.sandbox.paypal.com/nvp')); # HACK. DON'T DO THIS. IT WILL BARF CODE AT YOU. var_dump($nvp_response); die; ...
Buried in that glop I get back is the extremely specific and helpful:
["L_LONGMESSAGE1"]=> string(96) "There's an error with this transaction. Please enter a valid postal code in the billing address."
Is there a way for uc_paypal.module (and, presumably, other payment gateway modules who all store their errors in a different format) to percolate that more specific error up the stack so that uc_credit.module can display it to an end user, and they have some clue how to proceed?