Magento – Authorize.net Direct Post Sometimes Fails in Chrome

authorize.netee-1.13

We are finally in the middle of launching authorize.net DPM as a payment method in magento and are having some strange issues.

Basically in some rare, unpredictable (to me) circumstances the customers browser fails to communicate with authorize.net and the order gets stuck in the ‘payment pending’ status. No record of the attempt shows up in the authorize.net control panel and (according to chrome://net-internals and fiddler) the browser doesn't even attempt to communicate with authnet. There are no errors in the javascript console, or any of the Magento logs.

The customer is just dumped back on the checkout page after hitting the order button.

It doesn't happen with every order. And we can see that when it does happen, the customers usually try to hit the submit button several minutes later and the order goes through fine.

As far as we can tell, this only happens in chrome 34.

Have you seen anything like this happen before? Any tips on where to start looking?

Best Answer

I have found other reports of this issue; you are not alone. We have also seen this issue on our site using DirectPost as well.

There appears to be no particular rhyme or reason for the issue. The browser simply never posts to Authorize.net, even though the form submission is called without error (in directPost.js, this.tmpForm.submit();). While it is true that most of the user agents belonged to Chrome 34, we saw a few other user agents as well including two versions of Firefox (26 and 28, IIRC).

The issue is almost impossibly non-reproducable and affects Magento versions 1.11 to 1.13 that I know of. It likely affects all Magento versions since the DirectPost implementation method (form submission with an iframe target) has not changed in quite some time if at all. For us, this issue affects 1-10% of DirectPost sales on any given day.

Additionally, the same customer may hit the order button again and it may or may not work. Some customers will try repeatedly and it will usually successfully submit the order the second time; other customers will attempt many times without success.

Magento support does not seem to be aware of this issue, having no patches or suggestions for resolution.

We have decided to move to another payment method (regular Authorize.net) instead of DirectPost which has resolved (avoided) the issue.

Related Topic