Histórico de mensagens sobre webhook

EXIBINDO CONVERSAS RECENTES:

Texto: webhook
Data: 07/02/2025
# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Só vai retornar depois do /cob ser pago. E só em produção. Mas dá para obter sem ser via webhook.

# pix
Avatar discord do usuario nikita_0612

nikita_0612

isso é uma cobrança de pix e não estou usando webhook

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Vem no webhook, mas se fizer GET de /cob tem também.

# dúvidas
Avatar discord do usuario lessaapolinario

lessaapolinario

Ver Respostas

Sabe qual ao nome de rota que cria para um webhook de cartão de crédito? no pix funciona no webhookPix/pix e no cartão?

# dúvidas
Avatar discord do usuario lessaapolinario

lessaapolinario

Ver Respostas

Funciona e cadastrou a url. Uma útima dúvida: quando uma cobrança pix for paga o /webhookPix/pix vai ser chamado?

# dúvidas
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Não só a /webhookPix/pix

# dúvidas
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Você precisa configurar também a rota /webhookPix

# dúvidas
Avatar discord do usuario lessaapolinario

lessaapolinario

// 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) {
console.error(err);
res.status(500).send('Erro interno do servidor');
}
});

# dúvidas
Avatar discord do usuario lessaapolinario

lessaapolinario

Esse é o código da rota do webhook:

# dúvidas
Avatar discord do usuario joaolucas_efi

joaolucas_efi

A URL /webhookPix não esta disponível no caso, veja se foi configurado para receber requisições (POST)

# dúvidas
Avatar discord do usuario lessaapolinario

lessaapolinario

const body = {
webhookUrl: '/webhookPix',
}

const key = {
chave: env.PIX_KEY,
}

// Rota para configurar o webhook do Pix
app.get('/configPix', (req, res) => {
// Chama o método pixConfigWebhook da instância gerencianet para configurar o webhook
efipay.pixConfigWebhook(key, body)
.then((resposta) => {
// Responde com status 200 e mensagem 'ok!' quando a configuração é bem-sucedida
res.status(200).send('ok!');
// Registra a resposta no console para fins de depuração
console.log(resposta);
})
.catch((error) => {
// Se houver algum erro ao configurar o webhook, captura o erro
console.log(error);
// Verifica o tipo de erro para determinar o código de status apropriado
if (error.response && error.response.status) {
// Se o erro for uma resposta do servidor, use o código de status retornado
res.status(error.response.status).send(error.message);
} else {
// Caso contrário, use o código de status 500 para erro interno do servidor
res.status(500).send('Erro interno do servidor');
}
});
});

# dúvidas
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Como esta seu código que chama o pixConfigWebhook?

# dúvidas
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

@lessaapolinario o cadastro é justamente o método que você esta chamando com o SDK (pixConfigWebhook), agora você precisa garantir que a URL que esta passando para o método pixConfigWebhook exista, pois essa mensagem indica que não existe (404 Not Found)

# dúvidas
Avatar discord do usuario lessaapolinario

lessaapolinario

Ver Respostas

Boa tarde, estou tentando configurar uma url de webhook pix, mas diz que meu webhookUrl está inválido. Tenho uma api nodejs que está hospedada num servidor e rodando em https. Ao acessar a rota GET /configPix do meu backend que usa o método pixConfigWebhook da classe EfiPay do pacote sdk-node-apis-efi do npm. A url do webhook é a url do meu servidor https + /webhookPix, no meu backend tenho uma rota post /webhookPix/pix, tentei de tudo, mas não tive sucesso. Abaixo é mostrada a mensagem de erro:

{
nome: 'webhook_invalido',
mensagem: 'A URL informada respondeu com o código HTTP 404'
}

# devs
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Se além da documentação você olhar o Github, vai ver lá interações em que gente da Efí fez sugestões de simplificação do webhook que o Banco Central não acatou. Então essa expectativa de simplificação parece muito otimista.

# devs
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A API Pix é padronizada pelo Banco Central, inclusive a forma de configuração do webhook. O BTG segue o mesmo padrão e foi uma das opções que consideramos quando escolhemos a Efí. O padrão é mandatório por regulamento, então...

# devs
Avatar discord do usuario edilson8785

edilson8785

Ver Respostas

Você disse: Até que as suas credenciais sejam bloqueadas por exceder número de requisições... então você está só transferindo o problema para outrem.
Não estou transferindo, o sistema é meu mesmo.
Eu estou testando a alguns dias, projetei para consultar quando houver transações novas então não fica stressando o sistema da EFI, claro que se escalar poderá dar problema de bloqueio, mas sinceramente não me importo com isso, pois se chegar a esse ponto, e o funcionamento do webhook ainda estiver complexo para quem trabalha com Python eu mudo de api, por que cá entre nós isso chegará num ponto onde as configurações poderiam ser feitas todas do lado EFI, e apenas cadastrar endpoints diretamente na interface efi em vez de toda essa programação, é uma tendencia já, já estou vendo bancos como o BTG caminhando nessa linha, com integração até de google docs, algo extremamente mais rapido de configurar, acredito que a EFI também vai aparecer logo logo com mudanças.