Pedidos são cancelados automaticamente no Magento 2
Desenvolvimento, Magento 2
Publicado em 08 de abril de 2020
Um “problema” muito comum em lojas com Magento 2 é ter pedidos sendo cancelados automaticamente após algumas horas.
E para nossa surpresa, isto é um recurso nativo do Magento 2 mas que certamente fará o desenvolvedor perder algum tempo tentando “adivinhar” o que está acontecendo. Claro, isso não vale mais pra você que está lendo este artigo e vai se lembrar disso quando chegar sua hora.
Pagamentos pendentes são cancelados automaticamente
Exatamente. Se você ou seu meio de pagamento usa o estado “Pending Payment” (Pagamento Pendente), o Magento cancelará qualquer pedido não pago após 8 horas.
Descobri isso após algumas reclamações com pedidos feitos com Boleto PagSeguro serem cancelados sem que o mesmo enviasse qualquer notificação de cancelamento para loja.
Solução
Apesar deste ser um recurso nativo, é possível alterar o tempo que um pedido é cancelado automaticamente.
Isto é feito em Stores > Configuration > Sales > Sales > Order Cron Settings (Lojas > Configuração > Vendas > Vendas> Configurações de Pedidos do Cron).
Lá você encontrará o campo Pending Payment Order Lifetime, ou Tempo de vida de pedido com pagamento pendente. O tempo é configurado em minutos, e o padrão é 480 (8 horas).
Altere este valor para 43200 caso queira cancelar o pedido em 30 dias, por exemplo.
Você pode fazer isso via linha de comando também:
bin/magento config:set sales/orders/delete_pending_after 43200 bin/magento cache:clean config
Indo além (mais detalhes)
O cancelamento automático é feito pelo cron do Magento na tarefa sales_clean_orders
. Esta tarefa é executada de hora em hora.
Você pode executá-lo manualmente com o n98 através do comando n98-magerun2 sys:cron:run sales_clean_orders
.
No PagSeguro Magento 2 – não faça nada
Se você usa meu módulo PagSeguro para Magento, não é necessário realizar nenhuma alteração à partir da versão 2.4.5.
Esta questão foi contornada, como mostrado neste commit, fazendo com que esta tarefa pule os pagamentos feitos com PagSeguro, já que o próprio PagSeguro informa quando o pedido deve ser cancelado.
Achou esta dica útil?
Se inscreva no boletim semanal do Magenteiro e fique por dentro deste e de outros conteúdos exclusivos, e lançamentos de novos cursos Magento.
- PagSeguro (PagBank) para Magento 1 recebe a Nova Geração - 9 de abril de 2024
- Recorrência no WooCommerce Sem Plugins Pagos - 28 de janeiro de 2024
- Chargeback. O que é, e como se livrar deles. - 19 de dezembro de 2023
Deixe seu comentário
[fbcomments url="https://www.magenteiro.com/blog/magento-2/pedidos-cancelados-magento-2/"]