Histórico de mensagens sobre webhook pix

EXIBINDO CONVERSAS RECENTES:

Texto: webhook pix
# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

{
"pix": {
"chaves": {
"355e4568-e89b-1243-a456-006655440001": {
"webhook": {
"notificar": {
"pixSemTxid": true

# pix
Avatar discord do usuario emersongarrido

emersongarrido

Ver Respostas

Estou com problema no webhook do pix, 1 deles esta funcionando perfeitamente que e quando eu gero o QRCode, mas diretamente a chave pix nao esta recebendo o webhook.

# devs
Avatar discord do usuario marcelo_efi

marcelo_efi

Outro ponto importante para você se atentar:

Nossa API enviará o webhook para a URL cadastrada com o sufixo /pix.

Por exemplo, se você cadastrou a URL:
https://seu.dominio/webhook

No momento do envio da notificação, a API adicionará o sufixo, resultando em:
https://seu.dominio/webhook/pix

Portanto, você precisará tratar duas rotas:
- https://seu.dominio/webhook → Para o cadastro do webhook.
- https://seu.dominio/webhook/pix → Para receber as notificações.

# devs
Avatar discord do usuario marcelo_efi

marcelo_efi

Bom dia, tudo bem?

Essa é a notificação de teste, enviada no momento do cadastro do webhook.

Após isso, as notificações serão enviadas conforme o serviço utilizado. Você pode conferir exemplos de como elas serão enviadas na documentação:

Documentação - Webhooks

# devs
Avatar discord do usuario prgl

prgl

Bom dia pessoal, tudo bem? Alguém teria um exemplo do payload que é enviado no webhook do pix? estou recebendo apenas isso aqui:

{ evento: 'teste_webhook', data_criacao: '2025-02-17T13:25:28.083Z' }

# devs
Avatar discord do usuario lucasmeneghessofaria2519

lucasmeneghessofaria2519

Ver Respostas

Bom dia pessoal. Estou tentando configurar o webhook de pagamento do pix (python/Flask, com o código de exemplo do github da Efi) na minha maquina local, usando ngrok. Mas estou com problemas devido ao mtls. Alguém possui um passo a passo? Algum link, ou algum "caminho" pra me ajudar a conseguir? Ou mesmo alguem ja passou por isso?

# pix
Avatar discord do usuario lucasmeneghessofaria2519

lucasmeneghessofaria2519

Bom dia pessoal. Estou tentando configurar o webhook de pagamento do pix (python/Flask, com o código de exemplo do github da Efi) na minha maquina local, usando ngrok. Mas estou com problemas devido ao mtls. Alguém possui um passo a passo? Algum link, ou algum "caminho" pra me ajudar a conseguir? Ou mesmo alguem ja passou por isso?

# 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.

# devs
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Se for para teste, uma opção é usar o mtls.pix.ae.

Pra quem tem dificuldades de implementar os webhooks por falta de suporte em hospedagem compartilhada para configurar mTLS, o Pix.ae agora oferece proxy de callbacks com mTLS.

Pra usar é muito simples: é só prefixar o seu domínio com mtls.pix.ae/. Por exemplo:

Para: https://exemplo.com.br/webhookpix
Use: https://mtls.pix.ae/exemplo.com.br/webhookpix

Obs: no ambiente de homologação, prefixe com mtls-h.pix.ae/

# pix
Avatar discord do usuario pedromota

pedromota

estou tentando criar um webhook pix em um subdominio recém criado (2 horas atrás)
imagem enviada na mensagem pelo usuario pedromota

# pix
Avatar discord do usuario elvis.eea

elvis.eea

Ver Respostas

Ola bom dia pessoal. Comecei recentemente a implementação de pagamento via Pix aqui na Efi Bank e gostaria de saber onde direcionar perguntas e dúvidas referente a configurações de webhook Pix

# pix
Avatar discord do usuario igornobrega_17790

igornobrega_17790

Ver Respostas

Boa noite pessoal, preciso de ajuda com o webhook do pix, estou usando uma vps da hostinger

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

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)