Histórico de mensagens sobre url em pix

EXIBINDO CONVERSAS RECENTES:

Texto: url
Canal: pix
Avatar discord do usuario lorenacastro

lorenacastro

config.json:

{"sandbox":true,"development":{"certificate_name":"preencher com seu certificado","client_id":"preencher com seu client id","client_secret":"preencher com seu client secret","pix_auth_url":"https:\/\/api-pix-h.gerencianet.com.br\/oauth\/token"},"production":{"certificate_name":"preencher com seu certificado de producao","client_id":"preencher com seu client id de producao","client_secret":"preencher com seu client secret de producao","pix_auth_url":"https:\/\/api-pix.gerencianet.com.br\/oauth\/token"}}

Avatar discord do usuario lorenacastro

lorenacastro

Ver Respostas

function auth() {
$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();

$authorization = base64_encode($config[$environment]["client_id"] . ":" . $config[$environment]["client_secret"]);

curl_setopt_array($curl, array(
CURLOPT_URL => $config[$environment]["pix_auth_url"], // Rota base, desenvolvimento 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 => $certfile, // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $authorization",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

curl_close($curl);

echo "

";
echo $response;
echo "
";
}

Avatar discord do usuario lorenacastro

lorenacastro

usa assim CURLOPT_POSTFIELDS => '{"grant_type":"client_credentials"}',

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

olá, usei isso porem quando envio a erro no CURLOPT_POSTFIELDS => json_encode("{"grant_type": "client_credentials"}"),

Avatar discord do usuario lorenacastro

lorenacastro

em formato json:

{"sandbox":true,"development":{"certificate_name":"preencher com seu certificado","client_id":"preencher com seu client id","client_secret":"preencher com seu client secret","pix_auth_url":"https:\/\/api-pix-h.gerencianet.com.br\/oauth\/token"},"production":{"certificate_name":"preencher com seu certificado de producao","client_id":"preencher com seu client id de producao","client_secret":"preencher com seu client secret de producao","pix_auth_url":"https:\/\/api-pix.gerencianet.com.br\/oauth\/token"}}

Avatar discord do usuario lorenacastro

lorenacastro

o que tava dentro do json é um array assim:

$arr = [
'sandbox' => true,
'development' => [
'certificate_name' => 'preencher com seu certificado',
'client_id' => 'preencher com seu client id',
'client_secret' => 'preencher com seu client secret',
'pix_auth_url' => 'https://api-pix-h.gerencianet.com.br/oauth/token'
],
'production' => [
'certificate_name' => 'preencher com seu certificado de producao',
'client_id' => 'preencher com seu client id de producao',
'client_secret' => 'preencher com seu client secret de producao',
'pix_auth_url' => 'https://api-pix.gerencianet.com.br/oauth/token'
],
];

Avatar discord do usuario lorenacastro

lorenacastro

não testei, mas o conteúdo do json deve ser assim:

{"sandbox":true,"development":{"certificate_name":"preencher com seu certificado","client_id":"preencher com seu client id","client_secret":"preencher com seu client secret","pix_auth_url":"https:\/\/api-pix-h.gerencianet.com.br\/oauth\/token"}}

Avatar discord do usuario lorenacastro

lorenacastro

eu fiz assim, para teste:

function auth() {
$ch = curl_init();

$requestURL = 'https://api-pix-h.gerencianet.com.br/oauth/token';
$cliendId = ''; //seu client id
$clientSecret = ''; //seu client secret
$authorization = base64_encode($cliendId . ":" . $clientSecret);
$certFile = ''; //o caminho do certificado
$arr = ['grant_type' => 'client_credentials'];
$headers = [];
$headers[] = 'Content-Type: application/json';
$headers[] = 'Authorization: Basic ' . $authorization;

curl_setopt($ch, CURLOPT_URL, $requestURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($arr));
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSLCERT, $certFile);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
$resposta = json_decode($result);

if (curl_errno($ch)) {
die('Erro: ' . curl_error($ch));
}

curl_close($ch);

return $resposta->access_token;
}

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Estou tentando usar este exemplo , aonde eu pego o {"grant_type": "client_credentials"} ?
$file = file_get_contents("./config.json");
$config = json_decode($file, true);
$environment = ($config["sandbox"] === true) ? "development" : "production";

$certfile = "./certificate/" . $config[$environment]["certificate_name"];

$curl = curl_init();

$authorization = base64_encode($config[$environment]["client_id"] . ":" . $config[$environment]["client_secret"]);

curl_setopt_array($curl, array(
CURLOPT_URL => $config[$environment]["pix_auth_url"], // Rota base, desenvolvimento 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 => json_encode("{"grant_type": "client_credentials"}"),
CURLOPT_SSLCERT => $certfile, // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $authorization",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

curl_close($curl);

echo "

";
echo $response;
echo "
";

Avatar discord do usuario oleoessencial

oleoessencial

Alguma coisa me diz que teremos uma Url da GN para gerar o QR...um passarinho me falou 🙂

Avatar discord do usuario lorenacastro

lorenacastro

mas é a url toda mesmo

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Esse campo 25 não é necessário para gerar o QRCode estático. Você não precisa preenche-lô. Ms para o QRCode dinâmico é e ele é onde você insere a url do location

Avatar discord do usuario lorenacastro

lorenacastro

Ver Respostas

não, gerei o dinâmico, mas fiquei com essa dúvida em relação a URL

Avatar discord do usuario lorenacastro

lorenacastro

Ver Respostas

nessa parte aqui dos dados do BR Code envia a URL inteira mesmo (ou seja, todo o conteúdo do JWS)?

26 90
00 14 br.gov.bcb.pix
25 68 qrcodes-pix-h.gerencianet.com.br/v2/...

Avatar discord do usuario d3xt3r.com

d3xt3r.com

Ver Respostas

requests.exceptions.SSLError: HTTPSConnectionPool(host='api-pix-h.gerencianet.com.br', port=443): Max retries exceeded with url: /oauth/token (Caused by SSLError(SSLError(9, '[SSL] PEM lib (_ssl.c:3833)')))

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

No caso no envio de resposta do GN para a url do webhook , teremos os dados do pagador ?

Avatar discord do usuario diogonox3254

diogonox3254

> O GUI 26 é o br.gov.bcb.pix
<@!671762828046106646> este valor é sempre o mesmo - valor fixo pra este campo?
O URL 25 tem um guid ao final, este não parece ser fixo, e mais parecido com o valor em "location"

Avatar discord do usuario oleoessencial

oleoessencial

> <@!671762828046106646>, nos meus testes aqui, pra gerar o qrcode e ficar válido, só precisei incluir o cabeçalho inicial, o merchant account info (GUI e a URL) e o CRC...
<@!332690570185015300> Por gentileza, poderia citar os id´s que voce utilizou na sua geração 🙂

Avatar discord do usuario bartwitch

bartwitch

<@!671762828046106646>, nos meus testes aqui, pra gerar o qrcode e ficar válido, só precisei incluir o cabeçalho inicial, o merchant account info (GUI e a URL) e o CRC...

Avatar discord do usuario oleoessencial

oleoessencial

> Dúvidas para geração do QRCode:
> Campo 26
> ID 00 (GUI) - preencher "apenas" com o servidor da tag "location" retornado pelo endpoint de criar cobrança?
> ID 25 (URL) - preencher o endreço completo da tag "location" retornado pelo endpoint de criar cobrança?
> Campo 59 e 60 - preencher com os valores cadastrados no banco, ou no nosso sistema? este campo pode sofrer falha de validação?
> Campo 62 - o que devemos preencher neste campo?
<@!778694543151071235> Estou nesta etapa de estudos.