Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Major
-
Resolution: Fixed/Completed
-
Affects Version/s: 4.2.0
-
Fix Version/s: 4.2.1
-
Component/s: CiviContribute
-
Labels:None
Description
I was tracking down an error in recurring payments made via authorize.net. The payments appeared to be made successfully via CiviCRM, no error messages reported, but they never appeared on the authorize.net web site.
Tracking down the problem in /CRM/Core/Payment/AuthorizeNet.php, I inserted print_r statements to verify that authorize.net was returning an error and the error was being reported via self::error($responseFields['code'], $responseFields['text']); around line 313. And it was successfully reaching function &error in about line 548.
However, the error was never reported on the screen, and it was not reported via drupal's watchdog (I have enabled the admin option in civicrm to post all civicrm errors to drupal's watchdog).
The payments showed in the recurring contributions table as 'pending' when in fact that had never been successfully submitted to authorize.net.
I haven't traced the problem any further than CRM_Core_Payment_AuthorizeNet->error() to find out why the errors are not being reported but this could be one reason people have difficulty troubleshooting authorize.net connection problems, because many of the errors are not reported by the error handler and the transaction appears to have completed successfully when in fact it failed with an unreported error.