0

A little while ago we had a customer contact us saying that he was unable to complete the checkout and got the error "customer email already exists". Worryingly, he tried a few times and on each attempt his card was charged.

After trying to find a reason for this we discovered that he had somehow managed to create four customer accounts. The accounts were created a week or so before his first purchase so weren't created during the checkout process and, looking in the admin, all four accounts were created within a minute of each other - 09:10:39, 09:11:02, 09:11:23 and 09:11:21

Now, I imagine there are safeguards built into Magento to stop more than one account being created with the same email, so what could have caused these to fail? Where should we be looking first?

I've checked the _exception.log in var/log and there are 3 entries like this:

    2015-11-04T09:14:32+00:00 DEBUG (7): Exception message: This customer email already exists
    Trace: #0 /route/to/site/app/code/core/Mage/Customer/Model/Resource/Customer.php(99): Mage::exception('Mage_Customer', 'This customer e...', 3)
    #1 /route/to/site/app/code/core/Mage/Eav/Model/Entity/Abstract.php(1122): Mage_Customer_Model_Resource_Customer->_beforeSave(Object(Mage_Customer_Model_Customer))
    #2 /route/to/site/app/code/core/Mage/Core/Model/Abstract.php(318): Mage_Eav_Model_Entity_Abstract->save(Object(Mage_Customer_Model_Customer))
    #3 /route/to/site/app/code/core/Mage/Customer/Model/Resource/Address.php(70): Mage_Core_Model_Abstract->save()
    #4 /route/to/site/app/code/core/Mage/Eav/Model/Entity/Abstract.php(1124): Mage_Customer_Model_Resource_Address->_afterSave(Object(Mage_Customer_Model_Address))
    #5 /route/to/site/app/code/core/Mage/Core/Model/Abstract.php(318): Mage_Eav_Model_Entity_Abstract->save(Object(Mage_Customer_Model_Address))
    #6 /route/to/site/app/code/core/Mage/Customer/controllers/AddressController.php(142): Mage_Core_Model_Abstract->save()
    #7 /route/to/site/app/code/local/Mage/Core/Controller/Varien/Action.php(417): Mage_Customer_AddressController->formPostAction()
    #8 /route/to/site/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch('formPost')
    #9 /route/to/site/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
    #10 /route/to/site/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
    #11 /route/to/site/app/Mage.php(685): Mage_Core_Model_App->run(Array)
    #12 /route/to/site/index.php(100): Mage::run('base', 'website')
    #13 {main}

I know it's an odd one but has anyone ever encountered anything similar? Are there any likely causes? Any pointers much appreciated.

Thanks

1 Answer 1

0

Sounds like the customer reached the complete order and initiate account page, when they clicked finalize it paid the order, made the account, and then failed or faulted after the fact so they did not receive the page with the confirmation.

Now when they resubmit, it starts the pay and new account process over again.

This error log provides the report that re-creating their account failed, but we would have to see the original error that broke the finalize the first time and got them stuck there.

Preventing that would ensure a satisfying purchase experience

6
  • But he created his account before placing the order, he registered separately about a week before. He'd managed to log in at the start of the checkout, only when it got to the last step did he get the error. Sorry, where could we find the original error?
    – wbdc
    Commented Dec 15, 2015 at 15:47
  • That is a different story! So at the end of the checkout, it does not find they are logged in or their account does not exists (corrupt/incomplete?) and it probably asks them for a password and starts the account creation all over again. 1 thing that comes to mind is the template used, displays the password field to create an account at the end of checkout when one is not needed, which triggers the second account creation. ... Try logging in and going through checkout and see if a password field is at the end of the checkout process. I'll be back in 2 hours (lunch with client)
    – ppostma1
    Commented Dec 16, 2015 at 16:50
  • If a customer isn't already logged in it only asks for their username and password at the start of the checkout, not at the end. The accounts were created before any orders were made, so there were 4 accounts created during the registration process. It just only became apparent when he tried to place an order. This hasn't happened to any other customers, with accounts or guests, that we can tell so my thinking is that it could be a server error? Does Magento keep logs that would confirm or rule this out? Going back a couple of months now.
    – wbdc
    Commented Dec 18, 2015 at 10:10
  • So this is a live site I can visit and test? I can run through the process and see what comes up.
    – ppostma1
    Commented Dec 18, 2015 at 16:43
  • That'd be great, thank you. Although we're not too keen on posting the address publicly. Is there another way to send it to you?
    – wbdc
    Commented Dec 21, 2015 at 16:31

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.