PayPal Payment Pro, no 'Decline error"?
ver 1.3.9h
Have PayPal website payment pro
I have had a couple customers tell me they complete the payment form hit continue and it returns them back to the payment form, with No error message.
The problem is usually their bank declining the payment. However, they don't know this because the payment mod is not returning a Decline error ???
site is
www.cvtreasures.com
Re: PayPal Payment Pro, no 'Decline error"?
It can only display the error message if your template still has the code in it to display the errors. Oftentimes people decide that the $messageStack section of the various template files aren't doing anything so they just remove it, and then come complaining about the symptoms you describe.
Have you replicated the problem?
Have you then tested the same thing using the default template instead of your custom template (assuming you've properly built your own custom template instead of editing the original template_default files)?
What exactly is the error that PayPal is sending back, according to the debug logs?
Re: PayPal Payment Pro, no 'Decline error"?
Hi DrByte,
We are the one building template for our friend's site www.cvtreasures.com and we didn't remove the $messageStack from our template because no beneficial purpose of doing that.
Upon further checking we realized that we used FEC (checkout) module in this site, and the related file is actually tpl_checkout_stacked.php
In this file I didn't see the standard zencart's $messageStack which are below:
PHP Code:
<?php if ($messageStack->size('redemptions') > 0) echo $messageStack->output('redemptions'); ?>
<?php if ($messageStack->size('checkout') > 0) echo $messageStack->output('checkout'); ?>
<?php if ($messageStack->size('checkout_payment') > 0) echo $messageStack->output('checkout_payment'); ?>
So I put that codes into this file (mod), not sure if this proper because I dont really inspect this mod deeper and how they work.
My conclusion that this issue has something to do with the mod it self, probably we can post in their support thread later for clarification
Perhaps you have other opinion?
Best regards!
Re: PayPal Payment Pro, no 'Decline error"?
I'm not intimately acquainted with every alteration that mod has made to accomplish its goals, so can't comment on what it's doing differently.
A payment module written for the current version of Zen Cart should indeed set error messages into the 'checkout' messageStack. If it does that, then the code you posted is likely to show those messages properly.
So, if it's displaying no error message, then either no error message was trapped, or none was set to messageStack, or wasn't set to the 'checkout' messageStack, or the module isn't the one encountering the problem that's doing the redirect back to that page.
You'll probably need to do some code tracing to see what's breaking "where" and "why". Logs can be useful in that process too.
Re: PayPal Payment Pro, no 'Decline error"?
I'm using the built in Paypal Website Payments Pro and Express Checkout modules, and I also do not get an error. Just returns me to the payment page with no error.
I have not modified the tpl_checkout_payment_default.php page, the messageStack code is there in the template_default/template/tpl_checkout_payment_default.php file.
I'm on 1.3.9d
Re: PayPal Payment Pro, no 'Decline error"?
Apparently, we are having a similar problem. It's been happening for some time, though I just found out about it.
Message Stack shows some errors, like invalid CC number, and incorrect CCV code. However, when the billing address is incorrect, it comes back to the payment page with no error.
Also, I received an "Internal Error" when a cc had insufficient funds. That seams misleading.
Using paypal pro and express checkout.
v1.3.9h
Re: PayPal Payment Pro, no 'Decline error"?
I find it doesn't show if the error code is 15005, but it works if it is 15006 or another error message. I don't see any reference to these error codes in the payment module though...
Re: PayPal Payment Pro, no 'Decline error"?
Do you also have Fast Easy Checkout installed ? I think that may be the culprit
Quote:
Originally Posted by
divinelighting
Apparently, we are having a similar problem. It's been happening for some time, though I just found out about it.
Message Stack shows some errors, like invalid CC number, and incorrect CCV code. However, when the billing address is incorrect, it comes back to the payment page with no error.
Also, I received an "Internal Error" when a cc had insufficient funds. That seams misleading.
Using paypal pro and express checkout.
v1.3.9h
Re: PayPal Payment Pro, no 'Decline error"?
Do not have Fast and Easy Checkout installed.
About the only mod we use that is active during checkout is Quantity Discounts by That Software Guy.
Still wondering why message stack does not show when AVS mismatch.
Re: PayPal Payment Pro, no 'Decline error"?
Has anyone had more luck with this. One of my sites has this issue. It is still 1.3.9h and there are no changes to the files in question. As numinix says the issue seems to occur just with 15005 errors and seems a bit intermittent. So a nightmare to reproduce...
Re: PayPal Payment Pro, no 'Decline error"?
Quote:
Originally Posted by
niccol
Has anyone had more luck with this. One of my sites has this issue. It is still 1.3.9h and there are no changes to the files in question. As numinix says the issue seems to occur just with 15005 errors and seems a bit intermittent. So a nightmare to reproduce...
We have put this in "the cost of doing business" category. Lets me sleep at night.
Re: PayPal Payment Pro, no 'Decline error"?
I'm surprised this hasn't been resolved yet. It's a widespread issue with a module that comes with Zen Cart.
Anyways, I've debugged further and found that in paypaldp.php if the error code is 15005, then the function terminateEC will have a blank value for the $error_msg parameter on line 1758.
This is coming from line 1853:
$detailedMessage = ($errorText == MODULE_PAYMENT_PAYPALDP_INVALID_RESPONSE || $errorText == MODULE_PAYMENT_PAYPALDP_TEXT_DECLINED || $this->enableDebugging || $response['CURL_ERRORS'] != '' || $this->emailAlerts) ? (isset($response['RESULT']) && $response['RESULT'] != 0 ? MODULE_PAYMENT_PAYPALDP_CANNOT_BE_COMPLETED . ' (' . $errorNum . ')' : $errorNum) . ' ' . urldecode(' ' . $response['L_SHORTMESSAGE0'] . ' - ' . $response['L_LONGMESSAGE0'] . ' ' . $response['CURL_ERRORS']) : '';
Likely while the Zen Cart developers were testing this, they had enableDebugging true so this worked every time. But with it disabled, all the other conditions are failing. The reason they are failing is because $errorText is getting reassigned above and so it will never match the MODULE_PAYMENT_PAYPALDP_INVALID_RESPONSE or MODULE_PAYMENT_PAYPALDP_TEXT_DECLINED definitions.
So, bandaid solution is to enable debugging or email alerts. But ultimately this needs to be fixed for those who do not want to receive an email every time a customer's credit card declines.
Re: PayPal Payment Pro, no 'Decline error"?
Quote:
Originally Posted by
numinix
This is coming from line 1853:
$detailedMessage = ($errorText == MODULE_PAYMENT_PAYPALDP_INVALID_RESPONSE || $errorText == MODULE_PAYMENT_PAYPALDP_TEXT_DECLINED || $this->enableDebugging || $response['CURL_ERRORS'] != '' || $this->emailAlerts) ? (isset($response['RESULT']) && $response['RESULT'] != 0 ? MODULE_PAYMENT_PAYPALDP_CANNOT_BE_COMPLETED . ' (' . $errorNum . ')' : $errorNum) . ' ' . urldecode(' ' . $response['L_SHORTMESSAGE0'] . ' - ' . $response['L_LONGMESSAGE0'] . ' ' . $response['CURL_ERRORS']) : '';
Thanks for the detailed report.
I haven't done any regression testing on this yet, but it appears that replacing $this->enableDebugging with $this->enableDebugging || (int)trim($errorNum) > 0 appears to solve the specific problem stated.
Re: PayPal Payment Pro, no 'Decline error"?
Yes that will work. Will you include this fix in the next version?
Re: PayPal Payment Pro, no 'Decline error"?
It will be included in a future release.
Re: PayPal Payment Pro, no 'Decline error"?
Hi
my customer is using 1.39h with paypal pro - would you advise to make the above mod and if so where is the file located?
thanks
Derek