Histórico de mensagens sobre webhook em devs

EXIBINDO CONVERSAS RECENTES:

Texto: webhook
Data: 23/10/2024
Canal: devs
Avatar discord do usuario thefaccin

thefaccin

Ver Respostas

Alguem aqui ja fez a webhook em node.js? Poderia me dar uma mão?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Compensa sim integrar o webhook, pois você dará uma experiência de compra mais fluida. Mas você deve fazer também verificação periódica de cobranças ainda não sinalizadas no webhook... mas com frequência menor, só para lidar com situações eventuais de falha (sejam suas, sejam da Efí).

Avatar discord do usuario kevencampos

kevencampos

Ver Respostas

ts
notificationRoutes.post("/notifications", (req, res) => {
const { pix } = req.body;

if (Array.isArray(pix)) {
for (const notification of pix) {
const isRecharge = notification.devolucoes;
const isSend = notification.gnExtras?.idEnvio && !notification.txid;

if (isRecharge) {
console.log("Pix recharge notification received", notification);
continue;
}

if (isSend) {
console.log("Pix send notification received", notification);
continue;
}

console.log("Pix payment notification received", notification);
}
}

res.json({ message: "Notification received" });
});
Fiz essas verificações, acredito que esteja correto, se alguém ver alguma falha e puder me dizer agradeço.

Será que realmente compensa integrar o sistema de notificação por webhook ou verificar o pagamento periodicamente usando a API de consulta de pagamento a partir do taxid?

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @kevencampos! Tudo bem?
Existem algumas diferenças no JSON enviado em uma transação de Pix recebido e Pix enviado.

Primeiro, como o Rubens mencionou, você pode usar uma chave Pix para recebimento e outra para envio, usando o mesmo webhook URL. Dessa forma, ao receber a notificação, você já pode diferenciar pela chave.

Outro ponto que pode verificar é que o JSON de Pix enviado possui o parâmetro "tipo": "SOLICITACAO", além disso, tem também o parâmetro gnExtras>idEnvio.

Veja em nossa documentação alguns exemplos de JSON: https://dev.efipay.com.br/docs/api-pix/webhooks#requisi%C3%A7%C3%A3o

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O jeito mais fácil é ter uma chave Pix só para envio. Aí pela chave você já sabe...
... mas há outras maneiras, como notar a presença do campo idEnvio no webhook de envio.

Avatar discord do usuario kevencampos

kevencampos

Ver Respostas

Pessoal, alguem pode me ajudar ? no webhook, como posso saber a origem da notificação ? se é de pagamento, devolução ou envio ?
https://dev.efipay.com.br/docs/api-pix/webhooks