Histórico de mensagens sobre mtls em pix

EXIBINDO CONVERSAS RECENTES:

Texto: mtls
Canal: pix
Avatar discord do usuario hiagosilvas

hiagosilvas

O lado bom é que possívelmente você já tá com o mTLS configurado.

Avatar discord do usuario _josemax

_josemax

help Configurando servidor nginnx e mTLS

Avatar discord do usuario m.h1604

m.h1604

Ver Respostas

Vou mostrar como estou fazendo.

Parâmetros passados para criação do webhook:

$this->options["headers"] = [
"x-skip-mtls-checking" => "true",
];

$params = [
"chave" => $this->pix_key
];

$body = [
"webhookUrl" => "https://contratos.onlinedobrasil.com/webhook?ignorar="
];

Rota que está recebendo as notificações:
Routes::map('/webhook', function() {
if (isset($_POST)):
file_put_contents(__DIR__ . "/request.json", json_encode($_POST));
endif;

wp_send_json(200);
});

Estou salvando em um arquivo teste para ver o retorno das notificações, mas a única coisa que é gravado é um json vazio.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @m.h1604. Tudo bem?
Caso opte por deixar o x-skip-mtls-checking como true __a Efí vai continuar a enviar o certificado na requisição__, mas como descrito, seu servidor irá ignorá-lo. No entanto é aconselhável que você encontre uma forma de configurar o mTLS e validar se é a Efí quem está enviando a notificação.
Uma outra sugestão é verificar o IP de quem está notificando, pois a Efí comunica os webhook através do IP 34.193.116.226

Para facilitar a tratativa da adição do /pix quando a Efí envia a notificação, você pode registrar a URL com um parâmetro. Exemplo: https://seudominio.com.br/webhook/?ignorar=. Assim sua aplicação receberá as notificações sempre na rota /webhook.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Você está respondendo também em URL+"/pix" ? Pq você precisa atender nos dois, e as notificações só são enviados para o +"/pix".

Sobre o skip-mTLS, desligar a checagem não significa que você possa deixar de fazer mTLS. A Hostgator precisaria te passar o certificado usado na conexão para você fazer o mTLS na sua aplicação. Limitação do ambiente não é carta-branca para desobedecer o manual do Pix.

Avatar discord do usuario m.h1604

m.h1604

Ver Respostas

Olá pessoal, tudo bem?

Estou com um problema para receber as notificações do Pix.

Eu cadastro a URL de notificação certinho porem não estou recendo a resposta da transação.

Estou usando com o "x-skip-mtls-checking" => "true" pois o sistema do cliente está um host compartilhado na Hostgator.

Já tentei vários testes porém não recebo resposta na url de notificação.

Avatar discord do usuario andervieiradev

andervieiradev

passei o "headers" => [
"x-skip-mtls-checking" => "true",
],

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas


:443> # Porta HTTPS
#
# ...
#

SSLCertificateFile /caminho_certificado/fullchain_ssl.pem #fullchain associado ao seu certificado SSL do domínio
SSLCertificateKeyFile /caminho_certificado/privkey_ssl.pem #privkey associada ao seu certificado SSL do domínio

#Chave pública da Efí
SSLCACertificateFile /caminho_certificado/chain-pix-prod.crt

# mTLS Efí
SSLVerifyClient none
SSLProtocol TLSv1.2


SSLVerifyClient require
SSLVerifyDepth 3


# Tratando o /pix, redirecionando as requisições sempre para /webhook
Alias "/webhook/pix/" "/var/www/webhook/index.php"
Alias "/webhook/pix" "/var/www/webhook/index.php"

#
# ...
#

Avatar discord do usuario gabriel_efi

gabriel_efi

Ver Respostas

@coxinha_noob, você trocou de URL ou realizou alguma alteração na configuração do mTLS?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Comparando a sua configuração de Apache com a do exemplo da Efí (abaixo), o que é igual e o que é diferente ?


:443> # Porta HTTPS
#
# ...
#

SSLCertificateFile /caminho_certificado/fullchain_ssl.pem #fullchain associado ao seu certificado SSL do domínio
SSLCertificateKeyFile /caminho_certificado/privkey_ssl.pem #privkey associada ao seu certificado SSL do domínio

#Chave pública da Efí
SSLCACertificateFile /caminho_certificado/chain-pix-prod.crt

# mTLS Efí
SSLVerifyClient require
SSLVerifyDepth 3

# Tratando o /pix, redirecionando as requisições sempre para /webhook
Alias "/pix/" "/var/www/webhook/index.php"
Alias "/pix" "/var/www/webhook/index.php"

#
# ...
#



Avatar discord do usuario jessica_efi

jessica_efi

Boa tarde @andresisdanca ! Você configurou o mTLS ? Por norma do Banco Central, é necessário a inserção de uma chave pública da Efí em seu servidor para que a comunicação obedeça o padrão mTLS.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Oi, @ranulfosouza. De acordo com o que está no ssllabs do seu domínio, o certificado SSL está correto.
O certificado CA que foi mencionado, serio o utilizado para fazer o hand-shake do mTLS, que seria este https://pix.sejaefi.com.br/webhooks/chain-prod.crt.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Esse erro de request é esperado, por causa justamente da configuração de mTLS. Os demais testes me pareceram todos OK. Detalhe que o webhook não usa o certificado .p12 que você usa nas requisições diretas... ele usa o certificado que o API Gateway gera.
Acho que vale olhar a sequência que este vídeo sugere, e ver se faltou alguma coisa:
https://www.youtube.com/watch?v=w2Wizyo5Ljk

Só não faça de jeito nenhum configurações com . Esqueça essa parte, e use api.shopchafe.com mesmo em todas as configurações.

Avatar discord do usuario gabriel_efi

gabriel_efi

Olá, @igorpnh!
Sua falha indica problemas com o handshaking, provavelmente por conta do mTLS, vamos abrir um # atendimento para pegar mais detalhes com você

Avatar discord do usuario vinicius_vale

vinicius_vale

Ver Respostas

Boa tarde, estou com algumas dúvidas sobre a api do pix com o webhook.

Está retornando o erro: 'A URL informada respondeu com o código HTTP 403'

com a url genérica https://webhook.site/

header contendo: 'x-skip-mtls-checking': 'true' e bearer token, passando agent com certificado hml.

Estou perdendo alguma info que deveria passar na request?

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Pode ser que seja por este motivo.
Caso você não tenha configurado o mtls em seu servidor, as notificações não podem ser entregues.
Poderia desativar e testar novamente?

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Boa tarde, @alvarocandido! Tudo bem?
A opção "validar mtls" esta ativada?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não, por defaulta a Efí checa se o mTLS está certo. E o parâmetro apenas desliga a verificação, e ao informá-lo você está dizendo que tem outro jeito de checar o mTLS (por exemplo o web server repassar o certificado para a aplicação e você checar o mTLS lá ao invés de na conexão).

Avatar discord do usuario berzacola

berzacola

Pq meu mTLS tá configuradinho

Avatar discord do usuario berzacola

berzacola

Ver Respostas

Basta colocar o parametro no header x-skip-mtls-checking para false