POST na sua URL com o evento em JSON. É assim que você sabe que o Pix caiu sem ficar consultando a API.
Onde configurar
Tudo fica em Integrações e API › Webhooks, no painel, só com a sua sessão: a chave de API não configura webhooks, então uma chave vazada não desvia os seus eventos.1
Copie o segredo da conta
Um segredo
whsec_... é criado no primeiro acesso. Ele assina todos os envios. Guarde no seu servidor; dá para gerar outro a qualquer hora (o antigo para na hora).2
Cadastre as URLs
Até cinco URLs, todas recebem todo evento da conta, cada uma com a própria fila de reentrega. Cada URL pode ter um segredo próprio em vez do da conta.
3
Envie um teste
O botão Enviar teste manda o evento
webhook.test para todas as URLs. Confira a assinatura e responda 2xx.4
Acompanhe os envios
A aba lista cada envio com situação (Entregue, Na fila, Falhou, Sem destino), código HTTP, tempo, tentativas e o corpo enviado. Dá para reenviar qualquer um.
Com mais de uma URL, cada uma recebe uma cópia do evento com o mesmo
id (evt_...) e a mesma assinatura. Se dois dos seus sistemas gravam no mesmo banco, deduplique pelo id nos dois.O que cada URL precisa ter
Cabeçalhos
Corpo
Reentrega
Sem2xx em 10 s (ou sem resposta), a WyzeCash tenta de novo em 1 min, 5 min, 15 min, 1 h, 3 h, 6 h e 12 h (8 tentativas no total). Depois disso o envio fica como “Falhou” no painel, de onde você reenvia manualmente. De cada tentativa ficam o código HTTP, o tempo e o começo do corpo que a sua URL respondeu (até 2.000 caracteres), que aparecem no detalhe do envio no painel. O histórico de envios fica 30 dias.
Eventos
O provedor Pix por trás de cada operação nunca aparece no webhook.
O jeito certo de tratar
- Leia o corpo cru antes de qualquer parse.
- Valide
X-Bukio-Signature. Inválida: responda400e ignore. - Guarde o
iddo evento e ignore repetidos. - Responda
2xxem menos de 10 s; faça o trabalho pesado depois. - Trate pelo
typee pelodata.id, nunca pela ordem de chegada:payment.paidpode chegar antes depayment.created. - Em dúvida, consulte a API:
GET /v1/payments/{id}é sempre a verdade atual.
Pausa pela equipe WyzeCash
Uma URL que falha por muito tempo pode ser pausada pela equipe, com um motivo que aparece no painel; você recebe um aviso de segurança. Corrija o servidor e reative.IP de origem
Não dependa do IP de origem dos envios: confira sempre oX-Bukio-Signature. Se o seu firewall exige liberar um IP, fale com o suporte WyzeCash.