Histórico de mensagens sobre mtls em pix

EXIBINDO CONVERSAS RECENTES:

Texto: mtls
Canal: pix
Avatar discord do usuario .thomasjackson

.thomasjackson

Ver Respostas

Bom dia Joao, fiz um cadastro de webhookUlr em homolog mas a api retornou 401 nao autorizado.
Estou usando .net e adicionei o header conforme no github um parametro x-skip-mtls-checking: true
Esta correto o que eu fiz ?

Avatar discord do usuario viniciusfebasse_37973

viniciusfebasse_37973

Ver Respostas

@joaolucas_efi e @diogo.f.m.7
Estou recebendo as notificações, mas o POST está vindo vazio

Request.POST:

Sabem o que pode ser?

Configurei o webhook com x-skip-mtls-checking = true

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Além de criar um servidor na OCI, durante os testes você pode utilizar a opção skip-mtls e registrar uma URL do https://webhook.site/, por exemplo.

Avatar discord do usuario diogo.f.m.7

diogo.f.m.7

Ver Respostas

No webhook do Pix q seria mais complicado por conta do mtls... Mas vc pode usar o skip-mtls....

Avatar discord do usuario matheuzin6375

matheuzin6375

Ver Respostas

Bom dia galera, configurei o webhook com skipmTLS e agora ele aparece na lista de webhooks
imagem enviada na mensagem pelo usuario matheuzin6375

Avatar discord do usuario jhon0029

jhon0029

Ver Respostas

from efipay import EfiPay
from credenciais import CREDENTIALS

gn = EfiPay(CREDENTIALS)
headers = {'x-skip-mtls-checking': 'false'}
params = {'chave': ''}
body = {'webhookUrl': 'http://xxx.xxx.xxx.xxx:5000/webhook/pix'}
response = gn.pix_config_webhook(params=params, body=body, headers=headers)
print(response)

alguem pode me dizer se com este exemplo consigo verificar se meu server webhook está funcionando?

Avatar discord do usuario trtavares

trtavares

Webhook devidamente configurado com skip-mtls

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, mas para isso o seu servidor compartilhado precisa passar como parâmetros no HTTP o certificado client de quem acionou. Aí você faz a lógica do mTLS na aplicação.

Avatar discord do usuario hlyras

hlyras

Ver Respostas

Sim, mas no caso eu consigo fazer a verificação do mTLS na rota do webhook e não na configuração do servidor, certo?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Mesmo sem servidor dedicado, precisa do mTLS. Essa opção apenas diz que não é para verificar pois você implementou mTLS de outro jeito. mTLS não é opcional na API Pix.

Avatar discord do usuario hlyras

hlyras

Ver Respostas

Boa tarde, tenho um SaaS hospedado na Digital Ocean através de um servidor compartilhado, eu vi que na documentação existe uma forma de receber o webhook da API PIX sem precisar do servidor dedicado:
"Por isso, disponibilizamos a opção skip mTLS, que permite o cadastro do webhook sem a necessidade de validação mTLS."
Seria muito mais prático para eu implementar dessa forma, tem algum código ou vídeo onde explica como fazer as verificações de segurança?

Avatar discord do usuario russofullstack

russofullstack

aí entra no processo igual de configurar webhook passando pela AWS com MTLS ativado?

Avatar discord do usuario russofullstack

russofullstack

Tenho que fazer essa chamada usando mTLS?

Avatar discord do usuario kauan_bs

kauan_bs

Boa tarde. Estou tentando configurar o webhook no meu servidor porém estou recebendo 401. Estes são meus códigos :

js

const httpOptions = {
cert: fs.readFileSync("gd_bundle-g2-g1.crt"), // Certificado fullchain do dominio
key: fs.readFileSync("56092e4c5a31e0c5.crt"), // Chave privada do domínio
ca: fs.readFileSync("chain-pix-prod.crt"), // Certificado público da Efí
minVersion: "TLSv1.2",
requestCert: true,
rejectUnauthorized: false, //Caso precise que os demais endpoints não rejeitem requisições sem mTLS, você pode alterar para false
};

app.post("/webhookEfi", (request, response) => {
if (request.socket.authorized) {
console.log("autorizado")
response.status(200).end();
} else {
console.log("não autorizado")
response.status(401).end();
}
});

app.post("/webhookEfiConfig", async (req, res) => {
try {
let body = {
webhookUrl: "{minhaurl}/webhookEfi",
};

let params = {
chave: "6e364195-3e3d-4ee5-8ca0-14db77d30593",
};

const efipay = new EfiPay(options);

await efipay.pixConfigWebhook(params, body);

// Se tudo correr bem, você pode enviar uma resposta de sucesso
res.status(200).send("Configuração do webhook concluída com sucesso!");
} catch (error) {
// Se ocorrer algum erro, você pode enviar uma resposta de erro e registrar o erro
console.error("Erro ao configurar o webhook:", error);
res.status(500).send("Ocorreu um erro ao configurar o webhook.");
}
});
Alguem sabe qual o motivo ?

Avatar discord do usuario r_a_g_

r_a_g_

Ver Respostas

Então, mas este caso elimina a necessidade do mTLS, mas não elimina a necessidade de se ter um webhook configurado, em uma determinada url, (seu_dominio/webhook/) me parece que eliminou apenas a parte da verificação dos certificdos.
Se tem que ter webhook no dominio, é necessário pelo menos fazer no apache o alias, direcionando as chamdas pix para dominio/webhook. Entendi errado?
imagem enviada na mensagem pelo usuario r_a_g_
imagem enviada na mensagem pelo usuario r_a_g_

Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

Bom dia @tarcizio5821 tudo certo?
Devido as permissões de acesso em servidores compartilhados, não é possível configurar o mTLS neles.
Vou iniciar um atendimento para te auxiliar nessa configuração, tudo bem?

Avatar discord do usuario tarcizio5821

tarcizio5821

Tem algum tutorial para webhook em servidor compartilhado?
Segui os passos para usar Skip-mTLS sem sucesso.
Só funciona no Postman com sucesso sem usar a hash: https://seu_dominio.com.br/webhook?hmac=xyz&ignorar=sua_chave, na hora de usar com PHP informando a hash, não funciona de jeito nenhum.
Alguém que possa ajudar?
Meu servidor compartilhado é da Hostinger.

Avatar discord do usuario hiagosilvas

hiagosilvas

Ver Respostas

Olá @allisson4027, olhe esse artigo da AWS sobre o mTLS.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

OI, @wesleysnap. Bom dia! Tudo bem?
Além do seu domínio ter um certificado SSL, é necessário fazer a configuração do mTLS em seu webserver para que ocorra a autenticação mútua.
https://dev.efipay.com.br/docs/api-pix/webhooks#entendendo-o-padrão-mtls

Outro detalhe, é a adição do /pix no final da sua URL quando a Efí envia a notificação.
Ou seja, na request PUT https://api-pix.gerencianet.com.br/v2/webhook/:chave para cadastrar o webhook, você irá passar o body com sua URL, exemplo:

No entanto, a URL será registrada com o /pix no final, assim: https://seudominio.com.br/webhook/pix.

Então esta adição do /pix também dever ser tratada nas configurações de seu servidor para que na rota /webhook/pix de seu servidor exija o certificado CA da Gerencianet e recebe o body a partir dela.

Outra opção seria você colocar um query params na sua URL no momento do registro, para ignorar a adição do /pix, assim:

Avatar discord do usuario m.h1604

m.h1604

Ver Respostas

Alguém poderia me ajudar sobre uma dúvida das notificações do Pix.

Configurei uma url de notificações com o skip-MTLs ativo seguindo esta estrutura: http://urldosite/notifications.php

Porém quando recebo a resposta, vem somente um requisição em branco, e no webhook inbox chega normalmente a notificação.

Alguém consegue me ajudar com isso?