Histórico de mensagens sobre certificado em pix

EXIBINDO CONVERSAS RECENTES:

Texto: certificado
Canal: pix
Avatar discord do usuario joaobatista4234

joaobatista4234

Ver Respostas

Eu ja peguei a sdk pronta no git so alterei o config.json e baixei os certificados.

Avatar discord do usuario spontoni

spontoni

tentei utilizar esse exemplo para ignorar o certificado e não deu certo

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Mas você precisa adicionar a CA da Gerencianet, e checar o client-certificate contra a CA da Gerencianet, e ter a CA da Let's Encrypt e apresentar seu certificado assinado pela Let's Encrypt. Você pode notar que o exemplo da GN tem as duas.

Avatar discord do usuario Prof Zoidberg

Prof Zoidberg

Ver Respostas

não posso fazer isso com o certificado que já tenho? (Let's Encrypt)

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Isso é sugestivo de que você tenha colocado um certificado self-signed no webhook(o que tem o CN webhook.exemplo.com.br) e ele precisa ser assinado por uma CA reconhecida.

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Essa falha é referente a tentativa de cadastro em seu webhook, no entanto, não foi possível verificar o certificado (CA) da Gerencianet que pode ser obtido por este link (https://pix.gerencianet.com.br/webhooks/chain-pix-prod.crt) no caso de produção. Recomendo verificar a documentação do mTLS e os exemplos disponibilizados (https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-entendendo-o-padr-o-mtls).
Em resumo, a Gerencianet faz 2 requisições ao seu servidor, a primeira sem verificar o certificado e a segunda verificando. Seu servidor deve estar configurado para rejeitar a primeira e aceitar a segunda, fazendo um "hand-shake"

Avatar discord do usuario Prof Zoidberg

Prof Zoidberg

$config = [
"certificado" => "./gerenciamento.pem",
"client_id" => "XXXXX",
"client_secret" => "XXXXX"
];
$autorizacao = $chaveiro["access_token"];

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-pix.gerencianet.com.br/v2/webhook/XXXXX',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => $chaveiro["access_token"],
CURLOPT_POSTFIELDS =>'{
"webhookUrl": "https://XXXXX/webhook.php"
}',
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $autorizacao",
'x-client-cert-pem: ./gerenciamento.pem',
'x-skip-mtls-checking: false'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Olá, <@!693807608594694144>. Bom dia!
Neste sessão da Doc (https://dev.gerencianet.com.br/docs/api-pix-autenticacao-e-seguranca#section-exemplos-de-autoriza-o-utilizando-o-certificado-p12) você encontra o exemplo para realizar a autenticação na API Pix com cURL e PHP.
Como o Rubens mencionou, é necessário você passar o certificado em todas as requisições.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Se vc conseguiu obter um token via /oauth/token, essa chamada teve que incluir o certificado...

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Em toda conexão precisa especificar o certificado do ambiente em questão (produção ou homologação), não apenas na de obtenção de token.

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Certo, durante a criação da sua aplicação, você ativou a API PIX? As credenciais que você informou são do mesmo ambiente na qual você gerou o certificado?

Avatar discord do usuario joao_efi

joao_efi

Oi <@!418820500844707840> tudo bem? 🙂
Poderia mandar o trecho do código onde configurou os certificados, por favor

Avatar discord do usuario gabrielcosta7249

gabrielcosta7249

Alguém pode me ajudar com a configuração dos webhooks?
já configurei os certificados no express porém ainda retorna

json
{
"nome": "webhook_invalido",
"mensagem": "A autenticação de TLS mútuo não está configurada na URL informada"
}

@Consultoria Técnica

Avatar discord do usuario cardosodario

cardosodario

<@!671762828046106646> fiz a instalação do postman e todos os certificados consegui chegar nos testes pelo postman, mas agora estou novamente no escuro, não entendi o que tenho que fazer para gerar o QRCode na minha aplicação, pois nenhum das linguagens ai da API serve para a minha diretamente, eu precisava de uma DLL que eu pude falar com minha linguagem (dBase Plus) igual eu já utilizo DLL de SAT , impressoras, etc...

Avatar discord do usuario oclopes

oclopes

Ver Respostas

Vou testar. Neste caso, devo instalar com Certificado do Usuário ou da Máquina?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim. Esse certificado é assinado por uma CA raiz da Gerencianet; se o seu ambiente estiver tentando verificar a cadeia de certificação, é preciso citar também essa CA.

Avatar discord do usuario oclopes

oclopes

Ver Respostas

Oi <@!780500321994539068>, tudo bem? Mas qual certificado seria? Este mesmo que estou "anexando" na chamada?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Se seu servidor estiver tentando validar o certificado cliente contra um CA, sim, precisa.

Avatar discord do usuario oclopes

oclopes

Ver Respostas

Oi <@!800721458875727872> , bom dia!! Tudo bem? Estou tentando encontrar o erro. Me diga: Eu preciso instalar algum certificado do Gerencianet em meu Servidor? Os erros que tenho são: The credentials supplied to the package were not recognized
One or more errors occurred. (The SSL connection could not be established, see inner exception.)

Avatar discord do usuario majorpe.

majorpe.

Ver Respostas

pessoal por favor à qq um.. estou totalmente perdido nessa documentação da API Pix... tem em algum lugar algum passo a passo mesmo? tipo tenho varias duvidas, diferença entre criar uma Charge e um envio de pix de fato, oque são locations, eu preciso validar o certificado sempre antes de requisitar algum endpoint? onde encontro um código funcional msm?? o do github n tbm n consegui seguir, muito disperso pra mim 😦 valeu!!!! sei que teve outros com essa dificuldade, espero q sim kk valeu!!!