FernandoAcosta.Netdocs

Cancelamento por método de pagamento

3 min de leituraAtualizado há 5 dias

O cancelamento por método de pagamento é o jeito mais cirúrgico de liberar estoque. Cada gateway que você tem instalado ganha um prazo próprio. Quando o pedido é criado e não é pago dentro desse prazo, ele é cancelado individualmente — e o estoque volta na mesma hora.

Onde configurar

Vá em WooCommerce → Configurações → Pagamento e role abaixo dos métodos de pagamento. Na seção Cancelamento de pedidos você vê um campo numérico pra cada gateway instalado.

A descrição do campo é sempre a mesma: Minutos até cancelar pedidos neste método.

Deixe em branco pra desativar o cancelamento automático naquele gateway específico.

Quanto tempo pra cada método?

Não há um valor universal. Os exemplos abaixo são pontos de partida que casam com como cada método se comporta no mundo real:

Método Sugestão Por quê
Pix 5–15 minutos Pagamento é confirmado em segundos. Se o cliente não pagou em 15 minutos, dificilmente paga depois.
Cartão de crédito 30–60 minutos Tempo de processamento + retentativas.
Boleto 4320 minutos (3 dias) Prazo bancário típico. Reduza pra 2 dias (2880) se quiser ser mais agressivo.
Transferência / depósito 120–240 minutos Cliente costuma pagar no mesmo dia ou desistir.
Comece conservador

Em vez de chutar prazos curtos no primeiro dia, comece com prazos folgados (Pix em 60 minutos, boleto em 4 dias) e vá apertando depois de uma semana, observando quantos pedidos legítimos foram cancelados.

Como o plugin executa o cancelamento

Cada pedido criado vai pra fila do Action Scheduler do WooCommerce, agendado pra data_de_criação + minutos_configurados. Quando o relógio bate, o plugin verifica se o pedido continua não pago. Se continuar, cancela. Se já foi pago, ignora.

Em código, o agendamento dispara via wc_stock_manager_cancel_single_order. Esse hook está disponível pra extensões — veja a referência de hooks e filtros.

E o estoque?

Cancelamento e restauração são eventos separados, mas estão amarrados:

  1. Pedido é cancelado pelo agendador.
  2. WooCommerce muda o status pra Cancelado.
  3. O plugin escuta esse evento e devolve o estoque dos itens marcados com _reduced_stock.
  4. O cliente fica livre pra criar um novo pedido se mudar de ideia.

Detalhes em Restauração de estoque.

Migração de horas pra minutos

A partir da v2.0.0 (julho/2024), os campos passaram a ser configurados em minutos em vez de horas. Quem atualizou da v1.x viu os valores antigos sendo convertidos automaticamente (1 hora → 60 minutos).

Já passou pela conversão?

A migração roda uma única vez na primeira visita ao painel admin depois da atualização e fica registrada em uma flag interna (wc_stock_reduce_migrate_from_hours_to_minutes). Se você atualizou faz tempo, está tudo certo.

Não funciona em conjunto com gateway X?

O cancelamento individual só vai disparar pra pedidos cujo payment_method corresponda a um gateway com prazo configurado. Se o cliente trocou de método no meio do checkout ou se o pedido foi criado por uma rota fora do checkout (ex: API), o plugin pode não ter agendado o cancelamento. Nesse caso, o cancelamento por dias serve como rede de segurança.

Foi útil?