Histórico de mensagens sobre location em pix

EXIBINDO CONVERSAS RECENTES:

Texto: location
Canal: pix
Avatar discord do usuario taironecdias

taironecdias

Pessoal, fazendo mais um teste aqui em sandbox dei um GET na url do location e retornou o erro 500 Internal Server Error, sendo o response:

json
{
"nome":"erro_aplicacao",
"mensagem":"Ocorreu um erro ao validar a chave"
}
Tá acontecendo aí com vocês?

Avatar discord do usuario d3xt3r.com

d3xt3r.com

context.load_verify_locations('caminho-certificados/certificado-público-Gerencianet.crt')
context.load_cert_chain(
'caminho-certificados/privkey.pem',
'caminho-certificados/privkey.pem')
app.run(ssl_context=context, host='0.0.0.0')

público-Gerencianet.crt (baixei o que disponibilizou na documentação)
caminho-certificados/privkey.pem (utilizei o que me mandaram no chamado de produção)
caminho-certificados/privkey.pem (Não sei como conseguir)

Avatar discord do usuario oleoessencial

oleoessencial

Lembrando que o arquivo não vem com o final .jws ao acessar a url do location diretamente.

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

O location que está dentro do arquivo .jws é dividido pelo sinal de ponto ( . ) em tres partes: header, payload e a assinatura, é só você decodificar em base64 a parte 2 (payload) que terá os dados em json 🙂

Avatar discord do usuario krugerviasw

krugerviasw

Ver Respostas

Boa tarde! Não estou entendendo como gerar o qrCode, criei uma cobrança e me retornou o link "location", pelo que eu li está em base64 ok, tentei fazer o decode e dá erro... isso em homologação

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Tem o txid sim ao criar o PIX no rotorno {
"calendario": {
"criacao": "2020-11-22T21:49:51.946Z",
"expiracao": "93600"
},
"txid": "fc9a4366ff3d4964b5dbc6c91a8722e8",
"revisao": 0,
"loc": {
"id": "11",
"location": "https://qrcodes-pix-h.gerencianet.com.br/v2/362c897b2176435b8c02c1d3ef0b0fd8",
"tipoCob": "cob",
"criacao": "2020-11-22T21:49:52.009Z"
},
"location": "https://qrcodes-pix-h.gerencianet.com.br/v2/362c897b2176435b8c02c1d3ef0b0fd8",
"status": "ATIVA",
"devedor": {
"cpf": "12345678909",
"nome": "Seu Cuca"
},
"valor": {
"original": "1523.45"
},
"chave": "1605806648Q",
"solicitacaoPagador": "O Pagamento do Fiado."
}

Avatar discord do usuario oleoessencial

oleoessencial

<@!656144788017381377> eu não consigo entender se agente acessa diretamente a url e baixa o arquivo normalmente depois é só abrir e fazer o base64decode, ai temos os dados do location, no caso o mais importante a chave .

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Sim, aviso, ainda não obtive êxito na leitura do location no server online passando pelo cloudflare e chegando no servidor da hostgator 😦

Avatar discord do usuario marcosnicolau3509

marcosnicolau3509

Ver Respostas

Oi <@!710205440956563536> . As chaves são o certificado tls/ssl do servidor do cliente. Já foi solicitado aos nossos consultores maiores informações sobre essa configuração e alguns exemplos dessa configuração para efetuar o handshake, tanto para a leitura do location, gerado pelo PUT no consumo da geração da cobrança Pix, quanto para o webbhook. A intenção é ter um artigo específico sobre essa questão no decorrer desta segunda-feira (23/11). De qualquer maneira, se tiver novas informações, por favor, nos avise.

Avatar discord do usuario oleoessencial

oleoessencial

Eu estou tambem sem saber o que fazer com o caso do mTLS, para ler o GET do location, o sistema de desenvolvimento está passando pelo cloudflare e esta na hostgator, na cloudflare tem como habilitar o mTLS para o dominio, porém ainda recebo 403 forbidden 😦

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Estou desmontando a estrutura para entender a geração 🙂 Pelo que ví agora o Payload é a url do location pura mesmo.

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Com isso está resolvido <@!709030803291635736> a necessidade de ter o mTLS, pois eles conseguem ler os dados do location certinho, esse Sady é um Ninja 🙂 Atirou no que viu e acertou o que não viu, kkkkkkkkk

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

sim, esta etapa deu certo, é na etapa de acessar a url do locations e ler os dados do arquivo .jws

Avatar discord do usuario d3xt3r.com

d3xt3r.com

Ver Respostas

diz a leitura do location?

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Estou tentando ler o arquivo do location para poder gerar o QRCode, porém a url de acesso requer mTLS pois usa porta 443, não sei como fazer isso, o server está na cloudflare e tem um local para habiliar o mTLS, habilitei, porem ainda continua dando erro 403 Forbidden.

Avatar discord do usuario lorenacastro

lorenacastro

Ver Respostas

$file = file_get_contents("./config.json");
$config = json_decode($file, true);
$environment = ($config["sandbox"] === true) ? "development" : "production";
$certfile = $config[$environment]["certificate_name"];

$curl = curl_init();

curl_setopt_array($curl, array (
CURLOPT_URL => $location,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_SSLCERT => $certfile,
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array (
"Authorization: Bearer " . $access_token,
"Content-Type: application/json"
),
));

$response = curl_exec($curl);
echo $response;

Avatar discord do usuario lorenacastro

lorenacastro

no get da location

Avatar discord do usuario sady_efi

sady_efi


$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://qrcodes-pix-h.gerencianet.com.br/v2/68de0255e8b44136a7698b0b5903dd3d',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Avatar discord do usuario sady_efi

sady_efi

Ver Respostas

Ao dar um Get na url do location você recebe o arquivo com o objeto JWS

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Ok, e como recupero o valor do payload, tentei aqui com $url_location_cob = "https://qrcodes-pix-h.gerencianet.com.br/v2/68de0255e8b44136a7698b0b5903dd3d";
$data3 = file_get_contents($url_location_cob); e não deu certo 😦