Histórico de mensagens sobre location

EXIBINDO CONVERSAS RECENTES:

Texto: location
# bolix
Avatar discord do usuario danilowiener

danilowiener

Ver Respostas

então, eu to usando o exemplo do gerencianet https://s3.amazonaws.com/gerencianet-pub-prod-1/printscreen/2021/03/25/marcelo.machado/36b99c-f16791cc-a4d4-4182-b9af-f069059e5c22.png para fazer o php, a chamada do usando desta forma, já uso assim para gerar os boletos, mas nunca usei via put...
$qp.ajax({
type : "post",
url : "_QUITAR_boletocliente.php",
data : "_method=put&id_transacao="+id,
dataType : "html",
success : function (htmlquitar){
alert(htmlquitar); //ver retorno do php
if(htmlquitar==1){
setTimeout(function(){ location.reload(); }, 3000);
}
}
});

# pix
Avatar discord do usuario msxvdp

msxvdp

Ver Respostas

estão incluídos sim:
"scope": "cob.read cob.write gn.balance.read gn.pix.evp.read gn.pix.evp.write gn.settings.read gn.settings.write payloadlocation.read payloadlocation.write pix.read pix.write webhook.read webhook.write"
Ambiente: Homologação

# pix
Avatar discord do usuario W3soft

W3soft

Bom dia, para usar os location tem que ter algo a mais? toda vez que faço a requisição na hora de gerar o qrcode isso me retorna > {"error":"insufficient_scope","error_description":"Access token has insufficient scope"}

# pix
Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

$config = [
"certificado" => $this->pixCert,
// "certificado" => DIRPAGE."src/Includes/olimppiuspix.crt.pem",
// "certificado" => "",
"client_id" => $this->clientId,
"client_secret" => $this->clientSecret
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-pix-h.gerencianet.com.br/v2/webhook/',
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_POSTFIELDS =>'{
"webhookUrl": "https://olimppi.us/webhook/index.php"
}',
CURLOPT_HTTPHEADER => array(
// "authorization: {{Authorization}}",
"Authorization: Basic $autorizacao",
"Content-Type: application/json",
"x-client-cert-pem: {{X-Certificate-Pem}}",
"x-skip-mtls-checking: false"
),
));

$response = curl_exec($curl);

curl_close($curl);

echo "

";
echo $response;
echo "
";

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O exemplo da GN para Nginx separa o mTLS só em um path:
server {
#
# ...
#
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
ssl_certificate server_ssl.crt.pem;
ssl_certificate_key server_ssl.key.pem;
ssl_client_certificate /root/chain-pix-webhooks-prod.crt;
ssl_verify_client optional;
ssl_verify_depth 3;
#
# ...
#
location /webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
rewrite ^(.)$ /webhook;
}
}

# pix
Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXBlIjoiYWNjZXNzX3Rva2VuIiwiY2xpZW50SWQiOiJDbGllbnRfSWRfZjA3NzkyYjUyMzg5YmQzNzk1MWVkY2JlYmYzOTM2OTVhNWVlZDI2YiIsImFjY291bnQiOjI0MDQxMCwiYWNjb3VudF9jb2RlIjoiMGFlYTcwMWNlOWM5YmFiN2Q3NDc4NGJjN2RlNTc3YmQiLCJzY29wZXMiOlsiY29iLnJlYWQiLCJjb2Iud3JpdGUiLCJnbi5iYWxhbmNlLnJlYWQiLCJnbi5waXguZXZwLnJlYWQiLCJnbi5waXguZXZwLndyaXRlIiwiZ24uc2V0dGluZ3MucmVhZCIsImduLnNldHRpbmdzLndyaXRlIiwicGF5bG9hZGxvY2F0aW9uLnJlYWQiLCJwYXlsb2FkbG9jYXRpb24ud3JpdGUiLCJwaXgucmVhZCIsInBpeC5zZW5kIiwicGl4LndyaXRlIiwid2ViaG9vay5yZWFkIiwid2ViaG9vay53cml0ZSJdLCJleHBpcmVzSW4iOjM2MDAsImNvbmZpZ3VyYXRpb24iOnsieDV0I1MyNTYiOiJkR09nK1FMdFN4ZXRReWVnZUVuM1VaL1EwK2pBWTJpQ1l6eENNRDZTbzRFPSJ9LCJpYXQiOjE2MTYzMzcxNDQsImV4cCI6MTYxNjM0MDc0NH0.Ng-m4jLCaSO1H0yLmHnQDiiJ_axWGZkeH39kYwebPbE","token_type":"Bearer","expires_in":3600,"scope":"cob.read cob.write gn.balance.read gn.pix.evp.read gn.pix.evp.write gn.settings.read gn.settings.write payloadlocation.read payloadlocation.write pix.read pix.send pix.write webhook.read webhook.write"}

# pix
Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

$config = [
"certificado" => "/etc/certs-gerencianet/olimppiuspix.crt.pem",
"client_id" => $this->clientId,
"client_secret" => $this->clientSecret
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/oauth/token", // Rota base, homologação ou produção
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{"grant_type": "client_credentials"}',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

curl_close($curl);

echo "

";
echo $response; //print_r($response);
echo "
";
// echo "Que que está acontecendo";

# pix
Avatar discord do usuario elsonlima0580

elsonlima0580

esse modelo então não é suficiente?
$config = [
"certificado" => "./certificado.pem",
"client_id" => "YOUR-CLIENT-ID",
"client_secret" => "YOUR-CLIENT-SECRET"
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/oauth/token", // Rota base, homologação ou produção
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{"grant_type": "client_credentials"}',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

curl_close($curl);

echo "

";
echo $response;
echo "
";

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Tente colocar o trecho SSLCACertificateFile /etc/ssl/certs/chain-pix-prod.crt fora do

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Location seria só /webhook, é URI-Path, não diretório

# pix
Avatar discord do usuario ro.dri.go.sil.va

ro.dri.go.sil.va

Ver Respostas

Não consigo dar restart no apache com a configuração
:443>

Options Indexes FollowSymLinks
AllowOverride All
Require all granted

ServerAdmin [email protected]
ServerName pix.meudominio.com.br
DocumentRoot /var/www/pix
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =pix.meudominio.com.br
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
SSLCertificateFile /etc/letsencrypt/live/pix.meudominio.com.br/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/pix.meudominio.com.br/privkey.pem

SSLVerifyClient require
SSLVerifyDepth 3
SSLCACertificateFile /etc/ssl/certs/chain-pix-prod.crt


# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

No Apache eu achava que era Directory, mas é Location mesmo:

## Se preferir deixar apenas uma rota de sua url para notificações você pode adicionar:

SSLVerifyClient none

SSLVerifyClient require
SSLVerifyDepth 3

# pix
Avatar discord do usuario ro.dri.go.sil.va

ro.dri.go.sil.va

Ver Respostas

devo colocar um location?

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

<@!818639956263567360> Este link não é possível acessar mesmo. Este link contido no BrCode é o location que possui os dados da cobrança para os PSPs lerem.
O brcode que lhe rotorna neste consumo é o mesmo que o Pix Copia e Cola.
Ou seja, com a string 00020126880014br.gov.bcb.pix2566qrcodes-pix.gerencianet.com.br/v2/c04644cfd18144db9e7f253c20b56e155204727453039865802BR5925PAGAMENTOSRENOVACAOAUTOPI6014Rio de Janeiro6207050363048DAA
você acessa o seu banco e paga através dela

# pix
Avatar discord do usuario paulo.manoel8302

paulo.manoel8302

Ver Respostas

Este endereço: https://gerarqrcodepix.com.br/api/v1?nome=PAGAMENTOSRENOVACAOAUTOPIX&cidade=Rio+de+Janeiro&location=qrcodes-pix.gerencianet.com.br%2fv2%2fc04644cfd18144db9e7f253c20b56e15&mcc=7274&saida=br&tamanho=256 me devolveu o seguinte link: pix.gerencianet.com.br/v2/c04644cfd18144db9e7f253c20b56e155204727453039865802BR5925PAGAMENTOSRENOVACAOAUTOPI6014Rio de Janeiro6207050363048DAA se eu acessar esse link a gerencianet me devolve página não encontrada

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Qual banco está tentando realizar o pagamento?
Realizei o teste com Santander e Nubank e funcionou normalmente.

Sugiro até utilizar a seguinte rota interna da Gerencianet: GET/v2​/loc/{id}/qrcode
Que é o endpoint para gerar QRCode de um location.
Você pode pega o id do location retornado após a geração da cobrança e consumir o GET /v2/loc/:id/qrcode e assim você vai ter o copia e cola e a imagem do Qrcode em base64.

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Boa tarde <@!464478502725615625>, já temos o endpoint que gera o BRcode e a imagem base64 , o GET/v2​/loc/{id}/qrcode https://dev.gerencianet.com.br/docs#section-gerar-qrcode-de-um-location, não é isto que você precisa?

# pix
Avatar discord do usuario brunodelara

brunodelara

porque se tu n colocar um location no apache, ele vai pedir certificado em todas as pages

# pix
Avatar discord do usuario marcosfilho8113

marcosfilho8113

Location que você fala da GN?