Tenemos 2 tiendas (una actualización 1.7.0.2 de 1.5.1 y una instalación 1.6) que tienen el problema de que a algunos pedidos les falta una dirección de correo electrónico (customer_email en sales_flat_order) . Las tiendas son dos instalaciones completamente diferentes y lo único que encontré que es lo mismo en ambas versiones es que ambas usan OneStepCheckout (última versión) y que el problema solo se ve para los clientes (pero no todos) que ya tienen una cuenta de cliente . Supongo que el problema está en la cuenta del cliente, pero no puedo encontrar nada extraño con estas cuentas.
¿Alguna idea sobre dónde verificar o cómo depurar este problema?
Gracias.
orders
ce-1.7.0.2
upgrade
Vladimir Kerkhoff
fuente
fuente
Respuestas:
Asegúrese de estar ejecutando OSC 4.0.7.
Tuvimos este problema usando Magento 1.7.0.2 y OSC 4.0.6. Resultó ser un error en OneStepCheckout donde no estaba manejando correctamente a los usuarios reconocidos por el carrito de compras persistente. Comunicamos esto a OSC y nos dieron una revisión (pero creo que se ha solucionado en 4.0.7: http://www.onestepcheckout.com/wiki/index.php/Changelogs#OneStepCheckout_4.0.7_changes
Grep
$this->getQuote()->setCustomerId(0);
en la aplicación \ code \ local \ Idev \ OneStepCheckout \ Block \ Checkout.php (debería dar 5 coincidencias), ya que esa era básicamente la revisión.Editar: esto debería haber sido un comentario ... no realmente una respuesta.
fuente
NOTA: Esta no es una respuesta, per se, pero quería agregar mis propias experiencias con este problema donde puedo formatearlo más fácilmente.
He visto el mismo problema. Es algo que no he tenido la oportunidad de profundizar por completo, pero por lo que he visto, es una combinación de los siguientes factores:
Si un cliente se ha registrado previamente en el sitio, pero no ha iniciado sesión , y el carrito de la compra persistente está activado (o, de hecho, la cookie está presente para el cliente después de que el carrito de la compra persistente se ha apagado), entonces parece que el problema ocurre.
No he visto que esto ocurra con clientes que no se han registrado, pero me hace preguntarme si tiene algo que ver con una cuenta de computadora compartida y dos clientes diferentes, uno que se ha registrado y otro que no.
Voy a seguir investigando esto también, vinculamos automáticamente a un cliente a un grupo de clientes, por lo que este problema significa que el pedido no está asignado a un grupo de clientes.
Editar: estamos usando Firecheckout, no OSC
fuente
También estamos usando OSC y este problema está ocurriendo en nuestro sitio. Creo que sucede en extensiones de pago no principales. En el núcleo de Magento, si activa el carrito persistente, los clientes invitados se verán obligados a registrarse o iniciar sesión, por lo que la dirección de correo electrónico siempre existirá. Varias extensiones de pago (como OSC) no aplican esta restricción, por lo que se encuentra en un escenario que el código central no espera.
fuente