Histórico de mensagens sobre Erro webhook

EXIBINDO CONVERSAS RECENTES:

Texto: Erro webhook
# devs
Avatar discord do usuario desertigor28

desertigor28

Estou continuando a integração de cashout e está me retornando um erro -> {
"nome": "conta_chave_sem_webhook",
"mensagem": "A chave informada não tem webhook cadastrado na conta Efí autenticada"
}

# pix
Avatar discord do usuario andre_94652

andre_94652

@guilherme_efi @jessica_efi eu chamei a url da api https://pix.api.efipay.com.br/v2/webhook/c0515522-4756-463d-aa1d-523bd63498c6 com o json abaixo. {
"webhookUrl": "https://walrus-app-kcenm.ondigitalocean.app/api/v1"
} e estou recebendo a mensagem de erro abaixo. {
"nome": "webhook_invalido",
"mensagem": "A URL informada respondeu com o código HTTP 400"
} Eu criei uma api em c# com a definição de rota abaixo. [HttpPost()]
public async Task ReceiveWebhook([FromBody] PixRecebidoEfi response, CancellationToken cancellationToken = default) O que eu devo fazer para resolver esse problema?

# pix
Avatar discord do usuario andre_94652

andre_94652

Ver Respostas

@rubenskuhl eu ainda não fiz a configuração do certificado. A minha url funciona abertamente para ser chamada. Mas quando eu chamo para configurar através da sua api. Aparece a mensagem de erro abaixo: {
"nome": "webhook_invalido",
"mensagem": "A URL informada respondeu com o código HTTP 400"
} Isso ocorre porque?

# pix
Avatar discord do usuario andre_94652

andre_94652

Ver Respostas

Olá amigos,

Tudo bem?

Eu estou chamando a url https://pix.api.efipay.com.br/v2/webhook/c0515522-4756-463d-aa1d-523bd63498c6

com o body da requisição contendo o json abaixo

{
"webhookUrl": "https://walrus-app-kcenm.ondigitalocean.app/api/v1"
}

Eu estou recebendo a mensagem de erro abaixo

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

A url do meu webhook é https://walrus-app-kcenm.ondigitalocean.app/api/v1/pix

A seguir segue a codificação da minha rota escrita em c#

[HttpPost("pix")]
public async Task ReceiveWebhook([FromBody] PixRecebidoEfi response, CancellationToken cancellationToken = default)
{
//Código a ser feito

return Ok();
}

Segue a classe da entrada que eu estou esperando

public class PixRecebidoEfi
{
public List Pix { get; set; }
}

public class PixRecebidoEfiResponse
{
public string endToEndId { get; set; }
public string txid { get; set; }
public string chave { get; set; }
public string valor { get; set; }
public string horario { get; set; }
public string infoPagador { get; set; }
}

Se você fizer uma requisição do tipo post a url https://walrus-app-kcenm.ondigitalocean.app/api/v1/pix

com o json abaixo você verá que a url retorna um "200"

{
"pix": [
{
"endToEndId": "1",
"txid": "1",
"chave": "1",
"valor": "1.00",
"horario": "1",
"infoPagador": "1"
}
]
}

O que eu estou fazendo de errado?
O que eu tenho que fazer para fazer funcionar?

# pix
Avatar discord do usuario andre_94652

andre_94652

Ver Respostas

Olá amigos,

Tudo bem?

Eu estou chamando a url https://pix.api.efipay.com.br/v2/webhook/c0515522-4756-463d-aa1d-523bd63498c6

com o body da requisição contendo o json abaixo

{
"webhookUrl": "https://walrus-app-kcenm.ondigitalocean.app/api/v1"
}

Eu estou recebendo a mensagem de erro abaixo

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

A url do meu webhook é https://walrus-app-kcenm.ondigitalocean.app/api/v1/pix

A seguinte segue a codificação da minha rota escrita em c#

[HttpPost("pix")]
public async Task ReceiveWebhook([FromBody] PixRecebidoEfi response, CancellationToken cancellationToken = default)
{
//Código a ser feito

return Ok();
}

Segue a classe da entrada que eu estou esperando

public class PixRecebidoEfi
{
public List Pix { get; set; }
}

public class PixRecebidoEfiResponse
{
public string endToEndId { get; set; }
public string txid { get; set; }
public string chave { get; set; }
public string valor { get; set; }
public string horario { get; set; }
public string infoPagador { get; set; }
}

O que eu estou fazendo de errado?
O que eu tenho que fazer para fazer funcionar?

# pix
Avatar discord do usuario alessandrodev

alessandrodev

Alguém poderia me auxiliar no cadastro do webhook?
Qualquer parametro que eu passe só recebo essa mensagem:


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

Curl:


curl --location --request PUT 'https://pix-h.api.efipay.com.br/v2/webhook/:chave' \
--header 'x-skip-mtls-checking: false' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhb...' \
--data '{
"webhookUrl": "https://.com/webhook?hmac=TEST"
}
'

Obs: retorna esse mesmo erro até informando x-skip-mtls-checking: true

Meu serviço webhook tem observabilidade então qualquer chamada tenho logs e quando tento realizar o cadastro não tem nenhum registro de chamada ao meu webhook nem que seja de handshake, então aparentemente parece que nem está chamando o meu serviço

# pix
Avatar discord do usuario gabrielz_fr

gabrielz_fr

Eu subi para o app engine do backend do site ao google, porém o erro insiste na hora de configurar o webhook. Não sei se é por causa que não relação entre meu certificado e minha chave pública com a chave pública da efi.

# pix
Avatar discord do usuario gabrielz_fr

gabrielz_fr

Meu server.ts

const server = fastify({
logger: true,
https: {
cert: fs.readFileSync("certificates/cert.crt"),
key: fs.readFileSync("certificates/cert.key"),
ca: fs.readFileSync("ca.crt"),
minVersion: "TLSv1.2",
},
});

server.register(cors, {
origin: true,
credentials: true,
});

server.register(cookie, {
secret: process.env.SECRET_KEY,
});

server.register(userRoutes);
server.register(addressRoutes);
server.register(orderRoutes);
server.register(webhooksRoutes);

server.get("/", (req, res) => {
res.code(200).send({ message: "Live Seed" });
});

server.post("/webhook/pix", async (req, res) => {
const socket = req.raw.socket as TLSSocket

if (socket.authorized) {
const body = req.body;
const filePath = path.join(__dirname, "data.json");

fs.appendFile(filePath, JSON.stringify(body) + "\n", (err) => {
if (err) {
server.log.error(err);
res.status(500).send();
} else {
res.status(200).send();
}
});
} else {
res.status(401).send();
}
});


server.listen({ port: process.env.PORT || 8080 }, async (err) => {
if (err) {
console.error(err);
process.exit(1);
}

const url = await ngrok.connect(process.env.PORT || 8080);
console.log(Ngrok tunnel opened at: ${url});

console.log(Server is listening on port ${process.env.PORT || 8080});
});

ts

# pix
Avatar discord do usuario matheusramos.

matheusramos.

Ver Respostas

Bom dia. Estou com dificuldades em implementar o envio do pix, já mudei do modo homologação para a produção. Porem recebo o seguinte erro "A chave informada não tem webhook cadastrado na conta Efí autenticada", verifiquei em algumas respostas anteriores que se tratava de uma chave valida, criei a chave e o problema persistiu. Consultei os exemplo de sdk do Java, para configurar o webhook mas me sinto perdido como configurar isso, já lí a docs mas ainda não consigo entender. Poderiam me ajudar a como posso fazer essa configuração do webhook e conseguir utilizar o recurso de envio de pix?

# pix
Avatar discord do usuario renatoruiz_23276

renatoruiz_23276

Ver Respostas

Bom dia pessoal, estou tentando cadastrar um webhook pelo sdk do Delphi e estou tendo o seguinte erro, os outros endpoints sem ser relacionado a webhook estão funcionando normalmente
imagem enviada na mensagem pelo usuario renatoruiz_23276

# dúvidas
Avatar discord do usuario matheusramos.

matheusramos.

Ver Respostas

Bom dia, estou tendo dificuldades em adicionar a funcionalidade de envio de pix pela api, toda vez que tento envia recebo o erro {"erro":"A chave informada não tem webhook cadastrado na conta Efí autenticada"}, sendo que estou testando em ambiente de homologação. A chave do favorecido é a que está na documentação [email protected]. Porém para a outra chave é apontado a mensagem de erro acima. Teria algum exemplo com Java de como configurar essa chave com o webhook?

# pix
Avatar discord do usuario matheusramos.

matheusramos.

Ver Respostas

Bom dia. Estou tendo dificuldade em testar a api pix send no spring boot em homologação, toda vez que envio uma requisição recebo a seguinte mensagem {"erro":"A chave informada não tem webhook cadastrado na conta Efí autenticada"}, para testes em homologação estou utilizando a chave [email protected]

# pix
Avatar discord do usuario emersongarrido

emersongarrido

Ver Respostas

const params = {
chave: 'xxxx'
}

const body = {
pix: {
chaves: {
[params.chave]: {
recebimento: {
txidObrigatorio: false,
webhook: {
notificar: {
pixSemTxid: true,
},
},
},
},
},
},
}

const res = await gerencianet.pixConfigWebhook(params, body)


Erro ao atualizar configuração de webhook: {
nome: 'json_invalido',
mensagem: 'Valores ou tipos de campo inválidos',
erros: [
{
chave: 'additionalProperties',
caminho: '.body',
mensagem: 'não são permitidas propriedades adicionais'
}
]
}

# pix
Avatar discord do usuario lucianoolegario_57079

lucianoolegario_57079

Ver Respostas

boa noite pessoal agora o meu webhook está dando o seguinte erro

{
"nome": "webhook_invalido",
"mensagem": "A requisição na URL informada falhou com o erro: UNABLE_TO_VERIFY_LEAF_SIGNATURE"
}

# pix
Avatar discord do usuario peu3222

peu3222

Ver Respostas

Olá, boa noite!

Não sou um integrador da API da Efipay, só assino um serviço que gera PIX usando a API de vocês.

Tô com um problema ao copiar um link de PIX gerado. Como no código tem um domínio válido, tipo sejaefi.com.br ou br.gov, o WhatsApp acaba interpretando isso como um link e adiciona https:// automaticamente. Acho que é isso que tá bugando.

O que acontece?
Quando o https:// é adicionado, o código do PIX não fica válido. Mas, se eu remover, ele funciona normal e dá pra pagar de boa.

Testes que fiz:

Mandei o código sem https:// pra dois contatos, cada um com um celular diferente:

iPhone
Samsung
O meu é um Redmi Note 9
O erro rolou em todos.
Tentei pagar em dois bancos:

Nubank (primeira tentativa)
PicPay (mas quando testei, o boleto já tava pago, aí recebi um erro falando que o PIX não existia. Imagino que isso aconteça porque vocês desativam o código pra evitar pagamento ou webhook duplicado).
Outras coisas que percebi:

O erro só acontece no celular. No notebook, funciona normal.
No celular, se eu clicar no código, ele ainda abre uma URL por conta do domínio válido, mas na hora de copiar pelo próprio WhatsApp ou manualmente, ele não vem com o https://.
Li as regras do server antes de mandar essa mensagem e sei que só vale comentar coisas úteis. Mesmo sendo novo na programação , acho que isso é um problema válido e queria compartilhar, consultei o chat gpt para descobir que o whatssap interpreta os domínios como válidos, como aqui é o topico de pix achei que seria aqui que devo mandar

Segue os prints dos testes que fiz em aparelhos diferentes.

# pix
Avatar discord do usuario lucianoolegario_57079

lucianoolegario_57079

Ver Respostas

mas por algum motivo é retornado o seguinte erro

{
"nome": "webhook_invalido",
"mensagem": "A requisição na URL informada falhou com o erro: ECONNRESET"
}

# 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 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'
}