Histórico de mensagens sobre js

EXIBINDO CONVERSAS RECENTES:

Texto: js
# pix
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"}}

# pix
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'
],
];

# pix
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"}}

# pix
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;
}

# pix
Avatar discord do usuario jaoedson

jaoedson

eles colocaram aqui esse arquivo json?

# pix
Avatar discord do usuario lorenacastro

lorenacastro

no exemplo que eles postaram eles usaram esse config.json, onde tem alguns dados salvos nele

# pix
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 "
";

# pix
Avatar discord do usuario d3xt3r.com

d3xt3r.com

b'{"nome":"json_invalido","mensagem":"Valores ou tipos de campo inv\xc3\xa1lidos","erros":[{"chave":"enum","caminho":".body.status","mensagem":"deve ser igual a um dos valores predefinidos"}]}'

# pix
Avatar discord do usuario oleoessencial

oleoessencial

> mas hj ja´deu pra dar uma boa clareada de como vai funcionar
<@!370847985199742977> Exato, aqui ja temos uma sequencia de criação, consulta e geração do qr, pelo menos aqui tenho uma luz, tem algumas coisas no .js que estou vuando....

# pix
Avatar discord do usuario oleoessencial

oleoessencial

<@!332690570185015300> muito obrigado pela luz, fiz o procedimento com o .js, mesmo sem entender algumas coisa lá 🙂 gerei o primeiro QRCode com sua ajuda, muito obrigado.
imagem enviada na mensagem pelo usuario oleoessencial

# pix
Avatar discord do usuario bartwitch

bartwitch

usem esse código js ai pra ver como montar a string que fica contida no qrcode, é só um rascunho que fiz pra testar mesmo...

# pix
Avatar discord do usuario oleoessencial

oleoessencial

> Boa tarde,
> O Vagner Moreira me enviou o certificado, client_id e client_secret por e-mail, e me indicou este grupo pra tirar dúvidas.
> Configurei o environment no postman conforme o vídeo
> Importei a collection GN-PIX-API.postman_collection.json
> Preenchi as credenciais em Athorization
> Mas ao dar send em {{gn-pix-api}}/oauth/token está retornando
> {"error":"invalid_client","error_description":"Invalid or inactive credentials"}
> O que eu poderia estar fazendo de errado?
<@!778694543151071235> da uma olhada neste vídeo =https://www.loom.com/share/9f9cf5b0a95643a092c41f001929b791

# pix
Avatar discord do usuario diogonox3254

diogonox3254

Ver Respostas

Boa tarde,
O Vagner Moreira me enviou o certificado, client_id e client_secret por e-mail, e me indicou este grupo pra tirar dúvidas.
Configurei o environment no postman conforme o vídeo
Importei a collection GN-PIX-API.postman_collection.json
Preenchi as credenciais em Athorization
Mas ao dar send em {{gn-pix-api}}/oauth/token está retornando
{"error":"invalid_client","error_description":"Invalid or inactive credentials"}
O que eu poderia estar fazendo de errado?

# pix
Avatar discord do usuario oleoessencial

oleoessencial

> Verifiquem se o token expirou, segue mais um txid de exemplo que acabei de utilizar fc9a4366ff3fc9a4366ff3fc9a4366ff3 . Como é único por conta, não vai ocasionar problema vocês repetirem ele
<@!671762828046106646> inseri ele retornou {
"nome": "json_invalido",
"mensagem": "Valores ou tipos de campo inválidos",
"erros": [
{
"chave": "pattern",
"caminho": ".params.txid",
"mensagem": "deve corresponder ao padrão \"^[a-zA-Z0-9]{26,35}$\""
}
]
}

# pix
Avatar discord do usuario oleoessencial

oleoessencial

{
"nome": "json_invalido",
"mensagem": "Valores ou tipos de campo inválidos",
"erros": [
{
"chave": "pattern",
"caminho": ".params.txid",
"mensagem": "deve corresponder ao padrão \"^[a-zA-Z0-9]{26,35}$\""
}
]
}

# pix
Avatar discord do usuario oleoessencial

oleoessencial

Eu fui no Postman em Authorization abaixo tem Type, escolhi Bearer Token, aonde tem Token copiei meu token e colei lá, agora esta dando outro erro que é por que não inseri o txid {
"nome": "json_invalido",
"mensagem": "Valores ou tipos de campo inválidos",
"erros": [
{
"chave": "maxLength",
"caminho": ".body.chave",
"mensagem": "não deve ter mais que 77 caracteres"
}
]
}

# pix
Avatar discord do usuario oleoessencial

oleoessencial

> eu fiz assim:
>
> $headers = array();
> $headers[] = 'Accept: application/json';
> $headers[] = 'Content-Type: application/json';
> $headers[] = 'Authorization: Basic ' . $access_token;
> curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
<@!709030803291635736> vou testar tudo com o Postman, depois ele mesmo cria o Curl 🙂 para cada endpoint.

# pix
Avatar discord do usuario lorenacastro

lorenacastro

eu fiz assim:

$headers = array();
$headers[] = 'Accept: application/json';
$headers[] = 'Content-Type: application/json';
$headers[] = 'Authorization: Basic ' . $access_token;
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

# pix
Avatar discord do usuario sady_efi

sady_efi

using System;
using System.Security.Cryptography.X509Certificates;
using RestSharp;
namespace pix
{
class Program
{
static void Main(string[] args)
{
X509Certificate2 uidCert = new X509Certificate2("./certificado.p12", "");
var client = new RestSharp.RestClient("https://api-pix-h.gerencianet.com.br/oauth/token");
client.ClientCertificates = new X509CertificateCollection() { uidCert };
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\r\n \"grant_type\": \"client_credentials\"\r\n}", ParameterType.RequestBody);
IRestResponse restResponse = client.Execute(request);
string response = restResponse.Content;
Console.WriteLine(response);
}
}
}