Cursos Magento

Pedidos são cancelados automaticamente no 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.

Japa chorando com seus pedidos cancelados

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).

Tempo de vida de um pedido de pagamento no Magento 2
Configurações de pedidos no cron.

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.

Últimos posts por Ricardo Martins (exibir todos)
Assuntos: | | | |
Comentários

Deixe seu comentário

[fbcomments url="https://www.magenteiro.com/blog/magento-2/pedidos-cancelados-magento-2/"]