O plugin tira do seu colo todo o controle manual de estoque em pedidos WooCommerce. Quando o pedido é criado no checkout, o estoque cai. Quando o pedido é cancelado, reembolsado ou falha, o estoque volta. E pedidos que ficam sem pagar por tempo demais somem sozinhos, liberando o estoque pra próxima venda.
Esta é uma visão geral dos quatro fluxos. Cada um tem seu artigo dedicado.
1. Redução no checkout
Quando o cliente conclui o checkout (mesmo antes de pagar), o estoque é reduzido na hora — usando o hook woocommerce_checkout_order_processed.
A diferença pro padrão "fofo" do WooCommerce é importante: o plugin não espera o pagamento ser confirmado pra reservar o item. Se cliente A confirmou um carrinho de 2 unidades, essas 2 unidades saem do estoque imediatamente. Cliente B vê o estoque correto.
Cada item recebe uma marca interna (_reduced_stock) pra evitar redução em duplicidade.
2. Cancelamento automático de pedidos não pagos
O plugin oferece dois modos de cancelar pedidos não pagos:
- Por método de pagamento (em minutos): define um prazo diferente pra cada gateway. Pix em 5 minutos, boleto em 3 dias (4320 minutos), cartão em 30 minutos. Cada pedido vai pra fila do Action Scheduler e é cancelado individualmente quando o relógio bate.
- Genérico por dias: vasculha diariamente todos os pedidos não pagos com mais de N dias e cancela em lote. Útil como rede de segurança quando algum gateway escapa do modo individual.
Os dois modos podem coexistir.
3. Restauração de estoque
Sempre que o pedido entra em cancelado, reembolsado ou falhou, o plugin devolve o estoque automaticamente. Itens com a marca _reduced_stock voltam pro estoque, a marca é apagada e fica registrado nas notas do pedido o que mudou.
Em reembolsos parciais, o plugin respeita a escolha do operador: se você desmarcou "Restaurar estoque" na tela de reembolso, o plugin honra isso.
Há também um botão manual Restaurar estoque agora dentro de cada pedido, no metabox lateral.
4. Validação no pagamento (opcional)
Cenário clássico de campanha: cliente cria o pedido e demora pra pagar. Enquanto isso, o produto esgota. Quando ele finalmente abre o link de pagamento, deveria pagar por algo que não existe mais.
Com a opção Validar estoque na página de pagamento ativada, o plugin checa o estoque antes do pagamento ser processado e exibe uma mensagem ao cliente em vez de aceitar o pagamento.
Se o cancelamento automático tem um prazo apertado (Pix em 5 minutos, por exemplo), esse caso quase nunca acontece. A validação no pagamento é mais útil pra prazos longos como boleto.