Question

We have 2 stores (a 1.7.0.2 upgrade from 1.5.1 and a 1.6 install) that both have a problem that for some orders has a missing e-mail address (customer_email in sales_flat_order). The stores are two completely different installations and the only thing I found that is the same in both versions is that they both use OneStepCheckout (latest version) and that the problem is only seen for clients (but not all) that already have a customer account. I guess that the problem is in the customer account, but I can't find anything strange with these accounts.

Any ideas on where to check or how to debug this problem?

Thanks.

Was it helpful?

Solution

Ensure you are running OSC 4.0.7.

We had this problem using Magento 1.7.0.2 and OSC 4.0.6 . It turned out to be a bug in OneStepCheckout where it was not handling users being recognized by the persistent shopping cart correctly. We communicated this to OSC and they gave us a hotfix (but I believe it has been fixed in 4.0.7: http://www.onestepcheckout.com/wiki/index.php/Changelogs#OneStepCheckout_4.0.7_changes

Grep for $this->getQuote()->setCustomerId(0); in app\code\local\Idev\OneStepCheckout\Block\Checkout.php (should give 5 matches), since that was basically the hotfix.

Edit: this should've been a comment.. not really an answer.

OTHER TIPS

NOTE: This is not an answer, per se, but I wanted to add my own experiences with this issue where I can format it more easily.

I have seen the same issue. It's something I have not had a chance to delve into completely, but from what I have seen, it's a combination of the following factors:

  1. A registered customer.
  2. Persistent shopping cart.

If a customer has previously registered on the site, but is not logged in, and the persistent shopping cart is on (or indeed the cookie is present for the customer after the persistent shopping cart has been turned off) then the issue seems to occur.

I have not seen this occur with customers that have not registered, but it makes me wonder if it's something to do with a shared computer account and two different customers, one that has registered and one that has not.

I am going to keep investigating this as well, we automatically tie a customer to a customer group, so this issues means that the order is not assigned to a customer group.

Edit: we are using Firecheckout, not OSC

We are also using OSC and this issue is occurring on our site. I think it happens in non-core checkout extensions. In core Magento, if you turn on persistent cart then guest customers are forced to register or sign-in, so the email address will always exist. Several checkout extensions (like OSC) do not enforce this restriction so you get into a scenario that the core code is not expecting.

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top