Histórico de mensagens sobre Client_ID

EXIBINDO CONVERSAS RECENTES:

Texto: Client_ID
# pix
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Bom dia <@!298112455626981376> ! A collection é a mesma. Para você alterar pra produção, você deve alterar a rota base para https://api-pix.gerencianet.com.br e utilizar o certificado e as credenciais client_id e client_secret de produção.

# pix
Avatar discord do usuario pedrohenriquebufulin

pedrohenriquebufulin

Sandbox, está marcado como true, o buffer do certificado aparece, o client_id vem, o secret_id vem támbém....

# pix
Avatar discord do usuario pedrohenriquebufulin

pedrohenriquebufulin

Ver Respostas

Eu não sei o que estou fazendo de errado. O Buffer está vindo certinho.





js

/ eslint-disable @typescript-eslint/no-var-requires /
const Gerencianet = require('gn-api-sdk-node');
const AWS = require('aws-sdk');

require('dotenv').config();
const fs = require('fs');
const path = require('path');

const certPath = path.resolve(
__dirname,
../../certs/${process.env.GN_PIX_CERT},
);

console.log(certPath);
const pix_cert = fs.readFileSync(certPath);

console.log(pix_cert);

export const options = {
sandbox: process.env.ENVIRONMENT === 'development' ? true : false,
client_id: process.env.GN_CLIENT_ID,
client_secret: process.env.GN_CLIENT_SECRET,
pix_cert: pix_cert,
};

const gerencianet = new Gerencianet(options);
export default gerencianet;

# cartões
Avatar discord do usuario pauloceami

pauloceami

HashMap options = new HashMap();
options.put("client_id", "__CLIENT_ID_");
options.put("client_secret", "__CLIENT_SECRET_");
options.put("sandbox", true);

List items = new ArrayList();

Map item1 = new HashMap();
item1.put("name", "Item 1");
item1.put("amount", 1);
item1.put("value", 1000);
items.add(item1);

Map body = new HashMap();
body.put("items", items);

try {
Gerencianet gn = new Gerencianet(options);
Map response = gn.call("createCharge", new HashMap(), body);
System.out.println(response);
}catch (GerencianetException e){
System.out.println(e.getCode());
System.out.println(e.getError());
System.out.println(e.getErrorDescription());
}
catch (Exception e) {
System.out.println(e.getMessage());
}

# pix
Avatar discord do usuario rsdeveloper2757

rsdeveloper2757

public static function getToken()
{
try {
$guzzle = new Client([
'headers' => [
'Content-Type' => 'application/json',
],
/ Desativar SSL/
'verify' => true
]);

$response = $guzzle->request('POST', 'https://api-pix-h.gerencianet.com.br/oauth/token',
[
'grant_type' => 'client_credentials',
'client_id' => 'Client_Id_e6e0827b856f2b',
'client_secret' => 'Client_Secret_477f1d5694cd27029a82
',
'cert' => [storage_path('app/public/certificados/files/h-329571-erp_tributos.pem'), null],
]
);

$body = $response->getBody();
$contents = $body->getContents();
$token = json_decode($contents);

return $token->access_token;

} catch (GuzzleException $e) {
echo $e->getMessage();
}
}

Não consigo acessar a autenticação na api

Gera esse erro
Server error: POST https://api-pix-h.gerencianet.com.br/oauth/token resulted in a 500 Internal Server Error response: {"nome":"erro_interno_servidor","mensagem":"Erro interno do servidor"}

# pix
Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Você pode tentar realizar a conversão a partir deste exemplo de autenticação:

using System;
using System.Security.Cryptography.X509Certificates;
using System.Collections.Generic;
using RestSharp;

namespace PixGerencianet
{
class Authorize
{
public static string Base64Encode(string plainText)
{
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);
}

static void Main(string[] args)
{

var credencials = new Dictionary{
{"client_id", "YOUR-CLIENT-ID"},
{"client_secret", "YOUR-CLIENT-SECRET"}
};
var authorization = Base64Encode(credencials["client_id"] + ":" + credencials["client_secret"]);
var client = new RestSharp.RestClient("https://api-pix-h.gerencianet.com.br/oauth/token");
var request = new RestRequest(Method.POST);

X509Certificate2 uidCert = new X509Certificate2("./certificado.p12", "");
client.ClientCertificates = new X509CertificateCollection() { uidCert };

request.AddHeader("Authorization", "Basic " + authorization);
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);
}
}
}

# pix
Avatar discord do usuario palloma_efi

palloma_efi

csharp
using Gerencianet.NETCore.SDK;
...
dynamic endpoints = new Endpoints("client_id", "client_secret", true, "production.p12");

var body = new
{
calendario = new {
expiracao = 3600
},
devedor = new {
cpf = "12345678909",
nome = "Francisco da Silva"
},
valor = new {
original = "1.45"
},
chave = "71cdf9ba-c695-4e3c-b010-abb521a3f1be",
solicitacaoPagador = "Informe o número ou identificador do pedido."
};

var response = endpoints.PixCreateImmediateCharge(null, body);
Console.WriteLine(response);

# pix
Avatar discord do usuario palloma_efi

palloma_efi

Utilizando nossa SDK, você precisaria apenas inserir suas credenciais (client_id e client_secret), sandox(true=homologação; false=produção) e o caminho do certificado. Esse seria um exemplo de uso básico:

# bolix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Neste caso, você precisa apenas gerar uma aplicação em sua conta Gerencianet, pegar as credenciais(client_id e client_secret) e inseri-las em seu sistema CRONOS ERP.
Segue um tutorial:
acesse API > Minhas Aplicações > Nova Aplicação, informe um nome para sua aplicação e clique em Criar nova aplicação
Deixe ativado apenas API de emissões(Boletos e Carnês)
https://s3.amazonaws.com/gerencianet-pub-prod-1/printscreen/2021/04/14/macario.junior/1-create-app-pangeia.png

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Somente acrescentar suas credenciais client_id, client_secret no arquivo config.json, sandbox igual a true, se seu ambiente for Homologação e no atributo pix_cert o diretório relativo com o nome do seu certificado no formato .pem

# pix
Avatar discord do usuario koda05529

koda05529

Certo, porém mesmo com meu client id e client secret

# pix
Avatar discord do usuario palloma_efi

palloma_efi

E para homologação:

module.exports = {
sandbox: true,
client_id: 'seuClientId',
client_secret: 'seuClientSecret',
pix_cert: 'caminhoAteOCertificadoPix',
};

# pix
Avatar discord do usuario palloma_efi

palloma_efi

Não. Para produção fica assim:

module.exports = {
sandbox: false,
client_id: 'seuClientId',
client_secret: 'seuClientSecret',
pix_cert: 'caminhoAteOCertificadoPix',
};

# pix
Avatar discord do usuario palloma_efi

palloma_efi

Olá <@!651767505777459205> ! Boa noite. Tudo bem? Você se refere à essa configuração?

module.exports = {
// PRODUÇÃO = false
// HOMOLOGAÇÃO = true
sandbox: false,
client_id: 'seuClientId',
client_secret: 'seuClientSecret',
pix_cert: 'caminhoAteOCertificadoPix',
};

# pix
Avatar discord do usuario petrikov555

petrikov555

Ver Respostas

Boa tarde a todos! Por favor, fui migrar minha aplicação para as credenciais de acesso da conta jurídica criada recentemente na gerencianet. A aplicação de homologação e seu certificado funcionam perfeitamente, porém a de produção sempre retorna o mesmo erro:

{'nome': 'chave_invalida', 'mensagem': 'A chave informada não faz referência à conta Gerencianet autenticada'}

Já criei 2 aplicações e 2 certificados, além de revisar diversas vezes o client_id e o client_secret... Porém o erro permance

# pix
Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Em produção, você deve informar suas credenciais e certificado de produção. Além disso, a variável 'sandbox' deve estar como 'false'.

php
{
"client_id": "client_id",
"client_secret": "client_secret",
"pix_cert": "../certs/productionCertificate.pem",
"sandbox": false,
"debug": false,
"timeout": 30
}

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Boa tarde, <@!706990524510240780>. Tudo bem?
Me informe no privado o Client_Id da aplicação para qual foi liberado, que verifico para você a situação.

# bolix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Bom dia, você não esta utilizando uma SDK, correto?
Neste caso, além das suas credenciais (client id e client secret), você deve alterar a URL base de https://sandbox.gerencianet.com.br para https://api.gerencianet.com.br

# pix
Avatar discord do usuario carvartur

carvartur

const credentials = Buffer.from(
${process.env.GN_CLIENT_ID}: ${process.env.GN_CLIENT_SECRET}
).toString('base64')

# pix
Avatar discord do usuario joao_efi

joao_efi

Algo tipo

js
let credentials = client_id + ':' + client_secret;
let auth = Buffer.from(config.data_credentials).toString('base64');

axios({
method: 'POST',
url: '${process.env.GN_ENDPOINT}/oauth/token',
headers:{
Authorization: 'Basic ${auth}',
'Content-Type': 'application/json'
},
httpsAgent: agent,
data:{
grant_type: 'client_credentials'
}

}).catch((e)=>{
console.log(e)
})