Histórico de mensagens sobre js em pix

EXIBINDO CONVERSAS RECENTES:

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

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 jaoedson

jaoedson

eles colocaram aqui esse arquivo json?

Avatar discord do usuario lorenacastro

lorenacastro

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

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 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"}]}'

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....

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

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...

Avatar discord do usuario oleoessencial

oleoessencial

> Thankss!! 😄
<@!332690570185015300> Eu stava testando este aqui = https://github.com/ushelp/EasyQRCodeJS mais não deu certo 😦

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

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?

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}$\""
}
]
}

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}$\""
}
]
}

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"
}
]
}

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.

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);

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);
}
}
}