Configurar Webhooks

Configuração

Você pode configurar webhooks usando o painel do Yuno:

  1. Navegue até a guia Developers (Desenvolvedores )
  2. Clique em Webhooks
  3. Clique em Adicionar webhook

Uma barra lateral será aberta, na qual você fará a configuração:

  • Nome: Identifique seu webhook
  • URLEndpoint : O URL de seu servidor para receber notificações
  • x-api-key: sua chave de API (enviada nos cabeçalhos de notificação)
  • x-secret: Seu segredo (enviado nos cabeçalhos de notificação)
  • Usar autenticação OAuth2: Caixa de seleção opcional para OAuth2
  • Use HMAC Authentication (Usar autenticação HMAC): Caixa de seleção opcional para verificação de assinatura HMAC

Acionar em: Selecione quais eventos acionarão esse webhook (inscrição, pagamento, assinatura, etc.)

Uma vez configurado, o webhook enviará notificações sempre que os eventos selecionados ocorrerem. A imagem abaixo mostra o painel lateral para adicionar um webhook.

Na guia Desenvolvedores do painel do Yuno, você pode ativar e desativar webhooks usando o botão de alternância Status.

Acesse a página Exemplos de Webhooks para verificar exemplos de pagamento, inscrição e muitos outros eventos de notificação.

Autenticação HMAC

Quando você ativa Usar autenticação HMAC no painel, você fornecerá uma chave secreta do cliente. A Yuno usará essa chave para gerar uma assinatura HMAC e a enviará no arquivo x-hmac-signature com cada solicitação de webhook, permitindo que você verifique se os webhooks são realmente provenientes da Yuno e se não foram adulterados.

Consulte o guia Verificar assinaturas de webhook (HMAC) para obter detalhes de implementação.

oAuth2

Ao ativar Usar autenticação OAuth2 no painel, você pode configurar os seguintes parâmetros para que o Yuno possa obter o token de autorização que será enviado nos cabeçalhos do webhook:

  • Authentication_urlURL a ser usada para autenticação
  • Credentials: Credenciais necessárias para se comunicar com o authentication_url.
    • Chave secreta do cliente
    • Cliente Client_ID
  • Grant type: Tipo de concessão para a autenticação.

Processo de confirmação de recebimento

Os webhooks Yuno esperam receber um status HTTP 200 OK como resposta para indicar que o webhook foi recebido. A resposta do sistema do comerciante não precisa fornecer nenhuma informação sobre o corpo da solicitação, apenas o status HTTP 200. No caso de não receber uma resposta no tempo especificado, os webhooks da Yuno enviarão a notificação de evento até sete vezes para evitar perda de informações. A tabela abaixo apresenta o cronograma de notificação dos webhooks e o tempo de espera da confirmação.

Evento

Prazo final após a primeira tentativa

Primeira tentativa


Segunda tentativa

5 minutos

Terceira tentativa

50 minutos

Quarta tentativa

6 horas

Quinta tentativa

24 horas

Sexta tentativa

48 horas

Sétima tentativa

96 horas

Tipos de eventos de webhooks

Dependendo do tipo de evento, você receberá um tipo diferente de webhook e evento. A tabela a seguir apresenta os tipos de eventos possíveis para registros e pagamentos atualmente disponíveis.

tipotipo_evento
registroregistro
registrocancelar a inscrição
registroexpiração
paymentcompra
paymentautorizar
paymentcaptura
paymentreembolso
paymentcancelar
paymentverificar
paymentestorno
paymentfraud_screening
pagamentopagamento
assinaturacriar
assinaturapausa
assinaturacurrículo
assinaturaativo
assinaturacancelar
assinaturacompleto
integraçãocriar
integraçãopendente
integraçãobem-sucedido
integraçãocancelado
integraçãorecusado
integraçãobloqueado
integraçãodesbloqueado

subscription.active é enviado apenas quando uma assinatura passa de qualquer outro status válido para ACTIVE. Nenhum webhook é emitido se a assinatura já estiver ativa.

Comportamento do webhook de triagem de fraude

Quando uma transação é recusada pela triagem de fraude e não avança para o processamento com nenhum provedor, nenhuma transação é criada - o transactions retorna vazia. Nesse caso, os únicos elementos que são criados estão dentro do array fraud_screening e o webhook acionado é payment.fraud_screening.

Se, devido à configuração do roteamento, a triagem de fraude for recusada, mas a transação ainda continuar sendo processada, o evento enviado ao cliente será payment.purchase.