5

We have been experiencing something strange and unusual the past couple of months. We get about 30 orders a day, and for the past 2 months, we have 5 known cases where customers place an order, but the order is not created in Magento. They are charged, and there is a transaction in Authorize.NET. There is a quote in Magento DB, but no order or invoice records. Authorize.Net holds what the order's "Increment ID" should be, but when you try to look it up in the backend Sales -> Orders, it is not there.

Searching on Google, I see cases of this happening when the orders are placed through eBay or some other interface, but in these cases the customers are placing orders directly the our site.

The only thing I've found that these orders have in common is they are placed roughly around the same time (authorize.net submit date), between 18:00-20:00. We do have crons for data imports and db backups, but those run around 22:00-1:00.. What could possibly be causing this? I'm hoping this isn't too local of a question, and sorry if it is.

9
  • do you find those orders in sales_flat_order table? Sometimes it doesn't appear in Grid but do exist in database, because of transaction error.
    – MagExt
    Jan 12, 2015 at 21:29
  • No, they are not in that table. Jan 13, 2015 at 0:08
  • What are you using for session storage in local.xml ?
    – B00MER
    Jan 13, 2015 at 0:24
  • @B00MER <session_save>db</session_save> Jan 14, 2015 at 19:17
  • Any MySQL timeouts or deadlocks?
    – B00MER
    Jan 15, 2015 at 20:09

1 Answer 1

6

There is no hard set answer for your question. Over time Ive faced several issues that have resulted in cards being charged and no order in magento. The areas that I tend to look for are:

1) MySQL error log. Look to see if there are any deadlocks that would be stopping the SQL converting from quote to order.

2) Session storage. Look to see if sessions are being dropped. This has caused me issues in the past as the connection from customer session is lost and quote is not converted to order.

3) MySQL database tables. Ensure that they are all set to be InnoDB to allow for row level locking and not table level locking.

4) Look at automated process and what could be writing into sales_* or order_* tables at the same time

5) Debug using mage::log in Sales/Order/Model for when it converts from quote to order.

What I have found is that it does change per issue I have had but these have been the common routes I have explored in the past.

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.