Histórico de mensagens em pix

EXIBINDO CONVERSAS RECENTES:

Data: 17/01/2025
Canal: pix
Avatar discord do usuario gabriel_efi

gabriel_efi

Ver Respostas

Olá, @samucca9675!
É importante lembrar que a configuração para recebimento do webhook é feita em algumas etapas, listando-as acredito que vão responder a sua questão:

<:arrowright:1058011740589277294> Seu servidor deve estar acessível publicamente e por segurança define-se o protocolo mTLS de comunicação com o Efí. Aqui, você precise preparar seu servidor somente uma vez, caso tenha múltiplas contas e quiser ajustar rotas fica a seu critério, mas vai ser bem similar;

<:arrowright:1058011740589277294> Todo cadastro de webhook é feito mediante vínculo com uma chave pix da conta integrada Efí, sendo assim, se você mudar de conta ou de chave vai precisar recadastrar seu webhook, conforme descrito na documentação técnica.
imagem enviada na mensagem pelo usuario gabriel_efi

Avatar discord do usuario samucca9675

samucca9675

Ver Respostas

Boa tarde pessoal, blz ai.

@igor_efi @guilherme_efi @joaolucas_efi @marcelo_efi alguém de vocês poderia me ajudar com isso.

Galera seguinte, tinha uma conta PF configurada tudo ok, pagamento por pix e webhook configurado tudo funcionando, acontece que agora mudei para PJ e já ajustei o certificados.p12 dei todas as permissões pix em produção e recebo normalmente o pagamento na conta, PROBLEMA -> ao consta o pagamento na conta a chamada webhook nao e chamada, ate o arquivo mtls .cert alterei no servidor e nada, agora nao me lembro se eu preciso registrar em algum lugar o webhook dessa nova conta.

Aproveitando, é possível usar o mesmo arquivo mtls do servidor com 2 CNPJ? Nas consultas que fiz acredito que sim, ate pq para baixar o arquivo não precisa esta logado.

Vlw galera espero que me ajude, pq pelo suporte do app só por Deus kk

Avatar discord do usuario zerinhorx

zerinhorx

Ver Respostas

Top cara, tem algum canto que mostre a requisição que a EFI faz? No webhook

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde! Como vai?
Sim. Basta você criar uma aplicação no menu API em sua conta para obter as credenciais de integração, e também gerar um certificado que é usado para autenticação.

Avatar discord do usuario zerinhorx

zerinhorx

Ver Respostas

Minha conta já é EFI pro, então teoricamente já sou capaz de fazer isso?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

As duas coisas são possíveis. Em conta PF, depois de abrir a conta vc vai precisar mudar o tipo da conta para Efí Pro. Aí aparecem as opções de aplicação e escopos.

O que você diz é feito exatamente por WebSockets. Se quiser ver em ação, só registrar ou renovar um domínio no registro.br, o pagamento via Pix usa exatamente isso para sumir após pagamento.

Avatar discord do usuario zerinhorx

zerinhorx

Minha ideia é conectar o back com um front via socket, e a após a chamada do webHook, fazer o QRcode do pix sumir da tela

Avatar discord do usuario zerinhorx

zerinhorx

Ver Respostas

Bom dia! Poderiam me auxiliar com a seguinte questão? Tenho uma conta PF e gostaria de gerar PIX e receber uma chamada webHook após o pagamento, isso é possivel?

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Bom dia, @robcs._65823! Tudo bem?
Com uma conta PF você vai conseguir realizar testes, porém somente contas PJ estão aptas para solicitar aumento de limite e realizar transferencias.

Avatar discord do usuario robcs._65823

robcs._65823

Ver Respostas

Bom dia. P.F consegue utilizar a API da Efí para transferências PIX (cash-out)?

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia, @rogerio_itu2044. Tudo bem?
O parâmetro referente à ignorar o mTLS deve ser passado como validateMtls, para padronizar com os outros parâmetros iremos subir uma alteração que vai aceitar tanto validateMtls como validate_mtls

Avatar discord do usuario rogerio_itu2044

rogerio_itu2044

Ver Respostas

Obrigado pela resposta, mas por favor você me mostrar como configurar meu credentials corretamente, para que meu servidor possa ignorar o TLS, no momento ele está dessa forma:

credentials = {
sandbox: false,
client_id: clientId,
client_secret: clientSecret,
certificate: cert.toString("base64"),
validate_mtls: false,
cert_base64: true,
};

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @rogerio_itu2044! Tudo bem?
Gostaria de registrar que, ao deixar o x-skip-mtls-checking como true, o Efí continuará enviando o certificado TLS na requisição, mas seu servidor irá ignorá-lo.

Nesse caso, você não precisa criar uma nova rota, pois a notificação será sempre enviada para /webhook, e o hmac será um query param. O parâmetro ignorar pode realmente ser desconsiderado. Nesse cenrário é importante verificar se o HMAC recebido na notificação em sua aplicação, é o mesmo que foi cadastrado no webhook no Efí. Além disso, recomendamos realizar uma validação por IP, já que nossa API utiliza exclusivamente o IP 34.193.116.226. Essas práticas garantem que é realmente o Efí quem está enviando a notificação. Sem o mTLS configurado, não ocorre o "handshake" de segurança.

Segue um exemplo em Node.js:

js
app.post('/webhook', (req, res) => {
const expectedHmac = "xyz"; // Valor esperado do HMAC que você usar no cadastro do webhook (cadastre um diferente deste)
const authorizedIp = "34.193.116.226"; // IP utilizado pelo API do Efí Bank

const requestIp = req.ip;
const requestHmac = req.query.hmac;

// Validação do IP
if (requestIp !== authorizedIp) {
res.status(401).json({ error: "Solicitação de webhook não autorizado" });
return;
}

// Validação do HMAC
if (!requestHmac || requestHmac !== expectedHmac) {
res.status(401).json({ error: "Solicitação de webhook não autorizado" });
return;
}

// Processar o webhook conforme sua regra de negócio
});

Avatar discord do usuario rogerio_itu2044

rogerio_itu2044

Ver Respostas

Tenho mais 2 duvidas sobre o webhook Skip-mTLS, ao cadastrar https://seu_dominio.com.br/webhook?hmac=xyz&ignorar= ele se tornará dinâmico.

- Eu devo incluir o /api no final da url acima, ficando https://seu_dominio.com.br/webhook?hmac=xyz&ignorar=/api?

- Eu devo criar outro endpoint do tipo POST para https://seu_dominio.com.br/webhook?hmac=xyz&ignorar=/api (caso tenha o /api no final conforme questionado acima ou somente com o endpoint acima eu já conseguirei escutar as notificações?

Por favor me encaminhe exemplos.
Muito obrigado!

Avatar discord do usuario rogerio_itu2044

rogerio_itu2044

Ver Respostas

Consegui desativando o proxy do DNS da Cloudfare 🚀 🚀 🚀

Avatar discord do usuario rogerio_itu2044

rogerio_itu2044

Ver Respostas

Boa noite!
Já se foram 3 longos dias tentando configurar meu webhook com Skip-mTLS em NodeJs Typescript, usando o sdk-node-apis-efi, por favor poderiam me ajudar, estou recebendo o seguinte erro:

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

Sei que existem vários pedidos de ajuda relacionados a esse caso, mas nenhum é relacionado ao webhook do tipo Skip-mTLS, que é meu caso, porque estou usando servidor compartilhado.
A principio quero ressaltar um erro nos exemplos do github:
credentials.js
module.exports = {
// PRODUÇÃO = false
// HOMOLOGAÇÃO = true
sandbox: false,
client_id: 'seu_client_id',
client_secret: 'seu_client_secret',
certificate: 'caminho/ate/seu/certificado.p12',
}
sendo que no SDK mostra diferente:
{
sandbox: boolean;
client_id: string;
client_secret: string;
partner_token?: string | undefined;
certificate?: string | undefined;
cert_base64?: boolean | undefined;
pix_cert?: string | undefined;
pemKey?: string | undefined;
}
E também tem um erro no exemplo no git para configuração do webhook, de onde venho esse tal de options['validateMtls'], sendo que ele não existe nas credenciais do SDK:
const EfiPay = require('sdk-node-apis-efi')
let options = require('../../credentials')

options['validateMtls'] = false

let body = {
webhookUrl: 'https://exemplo-pix/webhook',
}

let params = {
chave: 'SUACHAVEPIX',
}

const efipay = new EfiPay(options)

efipay.pixConfigWebhook(params, body)
.then((resposta) => {
console.log(resposta)
})
.catch((error) => {
console.log(error)
})
O arquivo anexo contém meu exemplo de configuração de webhook, mas gostaria muito que vocês fornecessem um exemplo atualizado em typescript.
Muito obrigado!