Boa tarde, estou usando o webhook pix para avisar aos meus clientes quando a inscrição num evento foi confirmada, mas eles dizem que estão recebendo mais de uma vez a mensagem que envio. Eu tenho uma dúvida: o webhook roda mais de uma vez para uma transação ou quando confirma ele para de checar aquela txid? Aparentemente está chamando mais de uma vez.
// Rota usada para salvar o webhook
app.post("/webhookPix", (req, res) => {
return res.status(200).send();
});
// Rota para lidar com requisições de webhook Pix e atualizar o status de uma cobrança pendente
app.post('/webhookPix/pix', async (req, res) => {
try {
const { pix } = req.body;
const txid = pix[0].txid;
const txidSearch = {
txid: txid,
};
const response = await getPixChargesDetails(txidSearch);
const infoAdicionais = response?.infoAdicionais ?? [];
const foundEventIdEntry = infoAdicionais?.find(info => {
return info?.nome === 'eventID'
});
const eventID = foundEventIdEntry?.valor;
await checkChargeStatus({ response, txid, eventID });
res.status(200).send(response);
} catch (err) {
if (err instanceof WhatsAppNotFoundError) {
res.status(404).send(err.message)
}
console.error(err);
res.status(500).send('Erro interno do servidor');
}
});
Meu webhook