2

I'm using a payment gateway module (Oitoo, that contacts the service from Cielo - in Brazil) to capture and approve credit card transactions during checkout. When a card is approved, everything goes smooth and fast, the module talks to Cielo via webservice, gets the ok and the order is finalized.

When the card is rejected, the response comes quickly from Cielo (I've logged it), but Magento gets stuck waiting for over 2 minutes before showing a dialog with the message telling us the transaction failed.

It all runs fast until a line that thwrows an exception with the message that will be shown to the user later on:

Mage::throwException(Mage::helper('payment')->__('Error Message goes here...'));

This exception is quickly logged to exception.log.

After that, Magento goes who knows where and only returns 2 minutes later. The whole session halts. Even opening a new tab on the store domain on the same browser will keep you waiting. The website works fine on another browser, so it's not a server freeze.

For backend orders everything works fine, no delays.

I've tried to contact the module developer but had no response so far. But it's known to work.

What could possibly be going on? Could it be that some SQL transactions have to be rolled back and that is what takes so long?

1 Answer 1

0

Here's what was causing the issue: sendmail was not configured correctly.

When a card is rejected, the module throws an exception and, as a result, Magento sends a Transaction Failed email to the store owner. Sendmail had a problem so it would be stuck trying to send the message and would not return to the calling Magento instance. The whole instance would be stuck waiting for a response from sendmail.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.