FernandoAcosta.Netdocs

Verificação automática e webhooks

3 min de leituraAtualizado há 5 dias

A confirmação de pagamento tem dois caminhos no plugin: webhook (caminho rápido, em segundos) e cron horário (rede de segurança). Os dois rodam o tempo todo. Você não precisa fazer nada — a configuração padrão já cobre tudo.

Webhook: caminho rápido

Quando o cliente paga (Pix ou Boleto), o Banco Inter envia uma notificação HTTP pro seu site. O plugin recebe em:

  • Boleto: https://seusite.com.br/wc-api/interboleto
  • Pix: https://seusite.com.br/wc-api/interpix

Isso já é exposto pelo WooCommerce (rota nativa de gateway). O plugin se inscreve como handler dessas duas rotas.

Configuração automática

Toda vez que você salva as Configurações de qualquer um dos dois gateways, o plugin verifica com o banco se o webhook está cadastrado e, se não estiver, registra. Não tem botão "ativar webhook" separado.

Se aparecer erro vermelho no painel depois de salvar (algo como "não foi possível configurar o webhook"), confira:

  1. Credenciais (ID do cliente, Chave secreta) corretas.
  2. Caminhos dos certificados (.key e .crt) corretos e acessíveis pelo PHP.
  3. Logs em WooCommerce → Status → Logs, arquivos interboleto-*.log e interpix-*.log.

Falha do webhook

Webhook às vezes falha. O Banco Inter pode estar fora, sua hospedagem pode rejeitar a chamada, sua rede pode dar timeout. O plugin trata isso em duas camadas:

  • Retry imediato: se o handler do webhook lança exceção durante o processamento, o plugin agenda nova tentativa pra 5 minutos depois via fila do WooCommerce (wc_banco_inter_retry).
  • Cron horário: mesmo que o webhook nunca chegue, o cron horário (próximo tópico) eventualmente atualiza o pedido.

Cron horário: rede de segurança

Independente do webhook, o plugin agenda dois jobs hourly:

  • wc_banco_inter_check_interboletov2 — varre boletos pendentes e consulta status na API.
  • wc_banco_inter_check_interpix — mesmo, pra Pix pendentes.

Pra cada pedido pendente, o cron dispara um job individual via fila do WooCommerce (wc_banco_inter_check_interboletov2_order e wc_banco_inter_check_interpix_order). Isso evita travar tudo se a API do banco estiver lenta — cada pedido roda numa task separada.

Quando o cron faz diferença

Em loja com webhook saudável, o cron quase nunca tem trabalho — todo pedido já foi confirmado em segundos. Quando o cron importa de verdade é em incidentes: queda do banco, falha do servidor durante o webhook, instabilidade de rede. Nessas horas, ele evita pedidos travados em "aguardando pagamento" mesmo já pagos.

Botão manual: "Verificar pedidos agora"

No campo Webhooks e configurações das configurações de cada gateway, há um botão pra forçar a verificação imediatamente, sem esperar o cron. Útil quando você sabe que houve incidente e quer atualizar tudo de uma vez.

Desativando o webhook

Se você roda o plugin em ambiente de staging, multi-loja com webhook centralizado ou tem alguma razão específica pra não querer que o plugin gerencie webhooks, defina no wp-config.php:

define( 'BANCO_INTER_DISABLE_WEBHOOKS', true );

Com isso, o plugin para de registrar webhook quando você salva as configurações. Pagamentos continuam confirmando — só pelo cron horário.

Pra apontar webhook pra outra URL (proxy, ambiente compartilhado), veja Constantes e webhook customizado.

Foi útil?