Pix pago e pedido pendente no WooCommerce: o que testar
Cliente pagou o Pix e o pedido segue pendente? Veja como a confirmação chega à loja, onde ela quebra e o teste para fazer antes da Black Friday.
O cliente manda o comprovante do Pix no WhatsApp. Você abre o painel e o pedido dele continua lá, parado em Pagamento pendente.
Num dia comum, isso é um pedido para aprovar à mão. Na Black Friday, com dezenas de pedidos por hora, vira uma fila de comprovantes, cliente nervoso e pedido que sai atrasado.
A minha posição é simples: a confirmação automática do Pix é a peça da loja que você menos pode deixar para testar na véspera. Faça um Pix de verdade na sua loja esta semana, acompanhe o pedido do começo ao fim e tenha um plano para quando o aviso do banco não chegar.
Como o pedido descobre que o Pix foi pago
O WooCommerce não olha o seu extrato. Quem avisa a loja é o plugin de pagamento.
O caminho é este: o cliente paga, o banco ou o gateway confirma, manda um aviso para um endereço do seu site e o plugin recebe esse aviso e marca o pedido como pago. A documentação do WooCommerce para quem desenvolve gateways pede que o plugin use uma função própria para isso, que baixa o estoque e muda o status para o valor certo, em geral Processando.
Se qualquer elo dessa corrente falha, o dinheiro está na sua conta e o pedido continua parado. O cliente pagou. A loja só não ficou sabendo.
Pagamento pendente e Aguardando são coisas diferentes
Vale entender os dois status antes de testar, porque eles mudam o que acontece com o estoque. Segundo a página de status de pedido do WooCommerce:
- Pagamento pendente: o pedido foi recebido e nenhum pagamento foi feito. O estoque fica reservado, mas não é baixado.
- Aguardando: o pedido espera a confirmação do pagamento. Aqui o estoque já foi reduzido.
Cada plugin de Pix escolhe um desses status para o pedido que ainda não foi pago. Descubra qual o seu usa: faça um pedido de teste, não pague e veja onde ele para.
Eu já expliquei cada status com calma no post sobre por que os pedidos ficam como Processando. Aqui o que interessa é o próximo ponto.
A armadilha do “Manter estoque”
Em WooCommerce -> Configurações -> Produtos -> Inventário existe o campo que segura o estoque de pedidos não pagos por um número de minutos. Pela documentação de configurações de produto, quando o tempo acaba, o pedido pendente é cancelado e o estoque volta para venda. A mesma página avisa que isso vale só para pedidos em Pagamento pendente, não para os que estão em Aguardando.
Agora junte as duas coisas.
Se o seu plugin deixa o Pix em Pagamento pendente e o aviso do banco atrasa, o WooCommerce pode cancelar o pedido antes de a confirmação chegar. O cliente pagou, recebe um e-mail de pedido cancelado e o produto volta para a vitrine. Se era a última unidade, outra pessoa compra.
Não estou dizendo para desligar o campo. Ele é útil, e eu falei dele no post sobre estoque preso por Pix e boleto. Estou dizendo para conferir se o tempo configurado ali combina com o prazo de validade do QR Code do seu Pix. Se o QR Code vale mais tempo do que o estoque fica reservado, você tem um problema esperando para acontecer.
Onde a confirmação costuma quebrar
No suporte, estas são as causas que mais aparecem:
- O endereço do aviso está errado ou não foi cadastrado. Acontece muito depois de trocar de domínio, de colocar o site em https ou de migrar de servidor. O banco continua mandando o aviso para o endereço antigo.
- Um firewall bloqueia o aviso. Plugin de segurança, regra do Cloudflare ou da hospedagem que trata a chamada do banco como um robô. Na Black Friday, muita loja liga proteções extras e esquece que o banco também é um “visitante” que precisa passar.
- O site está lento ou fora do ar na hora do aviso. Se o banco não tenta de novo, aquele pedido fica sem confirmação para sempre.
- A consulta de reserva não roda. Muitos plugins, além de esperar o aviso, consultam os pedidos pendentes de tempos em tempos. Essa consulta é uma tarefa agendada, e a documentação do WooCommerce sobre ações agendadas lembra que o WP-Cron depende de visitas ao site: com pouco tráfego, as tarefas atrasam. Madrugada de Black Friday tem tráfego, mas a semana anterior, quando você vai testar, pode não ter.
Repare que nenhuma dessas causas é “o Pix está fora do ar”. Quem falha, em geral, é o caminho entre o banco e a sua loja.
O teste que eu faria esta semana
Crie um produto escondido de R$ 1 (ou use um cupom em um produto barato) e faça uma compra real com Pix, do celular, como um cliente faria. Depois confira:
- Quanto tempo o pedido levou para sair de pendente depois do pagamento. Se passou de alguns minutos, alguma coisa está errada.
- As notas do pedido. Um plugin bem feito registra quando gerou o Pix, quando recebeu a confirmação e quando mudou o status.
- O e-mail de pedido pago chegou para o cliente e para você.
- O estoque do produto baixou uma vez só.
Se algo não bateu, o primeiro lugar para olhar é o log do plugin de pagamento. Eu mostro onde ele fica no post sobre como baixar logs do WooCommerce. É ele que eu peço no suporte, e é ele que mostra se o aviso chegou e o que aconteceu com ele.
Faça o teste com a loja exatamente como ela vai estar na Black Friday: com o mesmo cache, o mesmo firewall e as mesmas regras do Cloudflare. Testar com a proteção desligada e ligar tudo no dia 26 é pedir para ter surpresa.
E quando o aviso não chegar?
Vai acontecer uma hora. Então a pergunta certa é: o seu plugin tem um segundo caminho além do aviso do banco?
Leia a página do plugin de Pix que você usa ou pergunte ao suporte dele se ele tenta de novo e se consulta os pedidos pendentes sozinho. Se ele só espera o aviso, você precisa de uma rotina manual para os dias de pico: filtrar os pedidos em Pagamento pendente e Aguardando algumas vezes por dia e conferir contra o extrato.
No Pix e boleto Banco Inter, um dos meus plugins, eu resolvi isso com dois caminhos: se o aviso do banco falha, o plugin tenta de novo em 5 minutos e, além disso, consulta os pedidos pendentes de hora em hora. Seja qual for o plugin que você usa, é esse tipo de garantia que vale procurar.
O que fazer até sexta
- Descubra se o seu Pix deixa o pedido em Pagamento pendente ou em Aguardando.
- Compare o tempo do “Manter estoque” com a validade do QR Code.
- Faça um Pix real de valor baixo e cronometre a aprovação.
- Confira se o endereço de aviso cadastrado no banco ou gateway é o domínio atual, com https.
- Pergunte ao seu plugin o que ele faz quando o aviso não chega.
São uns 20 minutos de trabalho. E quem pagou o Pix às 23h da Black Friday recebe o “pedido confirmado” na hora, sem precisar mandar comprovante para ninguém.
Sobre o autor
Fernando Acosta
Publicitário e desenvolvedor WordPress especializado em WooCommerce. Crio plugins e compartilho soluções baseadas em problemas reais de lojas virtuais.
Continue explorando
Outras soluções práticas
Backup da loja WooCommerce: teste antes da Black Friday
Ter backup não basta: veja de quando ele é, onde fica e se volta mesmo. E por que restaurar o banco na Black Friday…
Ler artigoE-mails da loja no spam? Teste antes da Black Friday
Seus e-mails de pedido podem estar indo para o spam. Veja como testar SPF, DKIM e DMARC em 15 minutos e o que ajustar…
Ler artigoEstoque preso por Pix e boleto: como evitar na Black Friday
Pedido de Pix ou boleto que não é pago segura estoque e faz o produto aparecer esgotado. Veja como configurar o WooCommerce antes da…
Ler artigoPlugins WooCommerce realmente úteis