POST JSON para a sua URL a cada evento.
Configurar
A URL e o secret ficam no OriPay Web (app.oripaysolutions.com.br), em Conta → API → Webhook, com confirmação por PIN. Não dá para alterá-los pela API: se uma chave vazar, ninguém consegue desviar os seus eventos.
Ao salvar a URL pela primeira vez, o OriPay Web mostra o secret (
whsec_...) uma vez. Guarde em cofre. Trocar a URL depois mantém o mesmo secret.
Confira a configuração atual com GET /v1/webhook-endpoint (sem o secret).
Eventos
Formato
oripay-delivery-attempt é o número da tentativa daquele evento.
data é o recurso completo, no mesmo formato do GET, como estava quando o evento foi gerado. Ele traz o seu metadata e o payer (quem pagou), para você identificar o cliente. Para o estado mais recente, faça GET do recurso.
Quando o evento é gerado
Os eventos saem do livro-razão da conta, não da notificação do banco: a cada cerca de 10 segundos a OriPay confere o que mudou e gera os eventos novos, um por recurso e tipo. Conte com alguns segundos (em geral até uns 20 s) entre o dinheiro se mover e o webhook sair. Se o webhook estiver desligado, os eventos continuam registrados comopending, podem ser consultados em GET /v1/events e são entregues quando você religar.
Responda rápido
- Responda
2xxem até 10 segundos e processe depois, em fila. - O corpo da sua resposta é ignorado.
- Qualquer outra resposta, timeout ou redirect conta como falha.
Reenvio automático
Se a entrega falhar, tentamos de novo após 1 min, 5 min, 30 min, 2 h, 6 h e 12 h: até 7 tentativas em cerca de 21 h. Depois disso o evento fica com statusfailed. Ele continua em GET /v1/events por 30 dias e pode ser reenviado manualmente. Depois de 30 dias o evento é apagado.
Garanta três coisas
- Valide a assinatura de todo evento. Ver Assinatura.
- Evite duplicidade: o mesmo evento pode chegar mais de uma vez. Guarde o
oripay-event-ide ignore os repetidos. - Não dependa da ordem: eventos podem chegar fora de ordem. Use
data.statusou façaGETdo recurso.