Muitos de nossos clientes reclamam que adicionam itens ao carrinho e, quando fazem o checkout, são redirecionados para um carrinho vazio.
Nós pensamos que isso poderia resultar de um tempo de sessão muito curto, por isso tentamos aumentar o tempo de vida do cookie / sessão para 86400 (no administrador e no servidor).
Depois disso, tentei reproduzir o problema e consegui obter um comportamento estranho, como você pode ver na imagem em anexo.
Eu adicionei produtos ao carrinho, voltei depois de 20 a 30 minutos e vi meus itens no minicart. então procedi ao checkout e ele me redirecionou para este carrinho vazio enquanto o minicart ainda estava mostrando meus itens (atualizar a página também não funcionou):
-- Qualquer ideia?
ATUALIZAÇÃO: Até o momento, resolvemos esse problema alterando novamente a configuração da sessão para usar arquivos (Memcached desativado). Eu sei que o Magento recomenda o uso do Memcached e não tenho idéia do que causou esse problema ...
app \ code \ Vendor \ Extension \ etc \ frontend \ section.xml
<action name="extension/controller/action">
Neste nome de parâmetro de ação, você deve passar a ação completa (por exemplo, checkout / carrinho / add) na qual o carrinho é atualizado. Isso significa que você exclui ou adiciona programaticamente um produto ao carrinho no carrinho de compras.
Por fim, comente abaixo se tiver algum problema ao usar este código.
— Yuvrajsinh Engenheiro de TI
O Magento coloca todos os dados específicos do cliente (carrinho de compras, nome do cliente, etc ...) no armazenamento local para impedir o armazenamento em cache de proxies como o Varnish. Posteriormente, esses dados são inseridos na página usando JS. O comportamento que você observou é uma configuração incorreta da vida útil do cache. Idealmente, ele deve estar alinhado com a vida útil da sessão.
— Andrey Konosov
Como eu disse, aumentamos a sessão e o cookie para 86400, o que não ajudou. A única coisa que parece corrigir o problema foi desativar o memcached (que foi configurado conforme sugerido pelos documentos do Magento). Paramos de verificar o problema depois disso, então não tenho idéia do que realmente o causou.