Histórico de mensagens sobre webhook em pix

EXIBINDO CONVERSAS RECENTES:

Texto: webhook
Canal: pix
Avatar discord do usuario dinaelmiranda

dinaelmiranda

Estou fazendo um put pra urlBase + "/v2/webhook/" + chave;

Avatar discord do usuario dinaelmiranda

dinaelmiranda

Ver Respostas

é prq passo minha chave pix com a url no corpo e recebe: 400 Bad Request: "{"nome":"webhook_nao_encontrado","mensagem":"Nenhum webhook encontrado para a chave informada"

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Booa tarde, @dinaelmiranda! Tudo bem?
Consegue sim, mas neste caso você vai precisar de desativar a validação mtls no momento do cadastro do webhook.

Avatar discord do usuario dinaelmiranda

dinaelmiranda

Ver Respostas

Consigo testar o webhook do pix sem configurar um servidor, apenas com as ferramentas de teste (WebHookTeste, WebHookInbox etc...) ?

Avatar discord do usuario kaduh15

kaduh15

Ver Respostas

A conselho a pesquisar sobre webhook, assim você é notificado quando houver a confirmação do pagamento e não precisaria fazer 10 solicitações para ver se o pagemento foi feito

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Não. Ao emitir uma cobrança, você precisa informar um chave, então a confirmação de pagamento desta cobrança vai ser enviada para o webhook vinculado a chave informada.
Como a devolução esta associada a uma cobrança, que por sua vez esta associada a uma chave, o webhook de devolução vai ser enviada para a mesma url.

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Boa tarde, @alessandrodev! Tudo bem?
Não, neste caso, como o cadastro do webhook é por chave, toda a movimentação (envvio, recebimento e devolução) relacionada a esta chave, vai ser enviada para o webhook cadastrado.
O conteudo de cada tipo de notificação é diferente: https://dev.efipay.com.br/docs/api-pix/webhooks#requisi%C3%A7%C3%A3o

Avatar discord do usuario alessandrodev

alessandrodev

Ver Respostas

Mas o ponto é que todos são enviados para a mesma rota webhook/pix consigo cadastrar uma rota especifica para cada um? algo tipo webhook/pix/devolucoes ou webhook/pix?type=devolucoes para justamente não receber todas as variancias em um mesmo endpoint?

Avatar discord do usuario gabriel_efi

gabriel_efi

Ver Respostas

Bom dia, @alessandrodev! A estratégia adotada depende muito das suas regras de negócio, por exemplo, você pode ter um webhook exclusivo para tratar recebimentos e outro exclusivo para tratar envios, se você utilizar o Split ainda pode ter um exclusivo para ele.

Caso prefira organizar todos em um único ponto, você teria o payload padrão de recebimento (endToEndId, txid, chave, valor, horario e infoPagador).

Se for um recebimento com split você terá tudo isso acrescido do gnExtras contendo pagador e split.

Para devolução é preciso que o recebimento já tenha existido, você pode adotar uma conferência interna do txid ou verificar a existência da propriedade devolucoes.

Já o envio de Pix terá as propriedades tipo e status e não terá o txid (virá em gnExtras o identificador do envio -> idEnvio).

Mais informações sobre o recebimento de callbacks na documentação: https://dev.efipay.com.br/docs/api-pix/webhooks/#recebendo-callbacks

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Eles acionam webhook, como descrito na documentação.

Avatar discord do usuario alessandrodev

alessandrodev

type Opcoes = {
confirmados: () => DadosWebhook,
devolucoes: () => DadosWebhook,
};

export default function status(data: DadosWebhook): Opcoes {
return {
confirmados: (): DadosWebhook => {
const confirmados = data.pix.filter(
(pix): boolean => (
!pix?.gnExtras &&
!pix?.devolucoes
)
);
return {
pix: confirmados
}
},
devolucoes: (): DadosWebhook => {
const devolucoes = data.pix.filter(
(pix): boolean => (!!pix?.devolucoes)
);
return {
pix: devolucoes
}
},
}
}

Avatar discord do usuario alessandrodev

alessandrodev

Eu preciso executar uma logica de negócio apenas quando o pix for "CONFIRMADO" e eu não quero fazer gambiarra validando se existe o atributo "devolucoes" , "gnExtras" e etc para simplesmente saber se a chamada do webhook refere-se ao pix recebido

Avatar discord do usuario alessandrodev

alessandrodev

Ver Respostas

Galera, qual estratégia vocês adotaram no endpoint webhook/pix para identificar a etapa/categoria refere-se a request?

Por exemplo eu vou ter nessa mesma rota diferentes payload (dados no body), para estorno, criação, pagamento confirmado e pelo que vi na doc não existe um atributo comum para todos os dados que identificam a etapa do processo, ao meu ver deveria ter um atributo { etapa: "DEVELOCAO" | "PIX_RECEBIDO" | "PIX_ENVIADO" } para facilitar a identificação no webhook.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não lembro a partir de quando a Efí anunciou a nova CA... mas se você já tinha webhook cadastrado com a antiga, vale a antiga.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

NestJS sempre aparece aqui no canal como exemplo de que não conseguiram configurar CA privada para o webhook... entao algo intermediário para mTLS será necessário. Seja o API Gateway da AWS, o equivalente dele na Oracle Cloud ou o mtls.pix.ae.

Avatar discord do usuario alessandrodev

alessandrodev

Ver Respostas

Eae pessoal, alguém já implementou o pix usando NestJS? se sim, qual estratégia adotou para o certificado publico do webhook? tenho em mente a possibilidade de criar um server https apontando para a porta 443 e definir as configs direto no server ou abstrair isso para uma camada superior criando um server nginx e configurar os certificados direto na máquina (ec2) ou até mesmo deixar o load balancer barrar e solicitar o certificado. Alguma ideia please? Agradeço

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Se é configuração nova é com a CA nova, mas para webhooks já configurados, não.

Avatar discord do usuario ratacheski

ratacheski

Ver Respostas

Boa tarde pessoal, sabem se houve alteração nas chaves publicas da Efí para configuração dos webhooks para cobrança pix?

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Boa tarde, @kailsonviana! tudo bem?
Você esta fazendo referencia as notificações enviadas via webhook?