Histórico de mensagens sobre Client_ID em pix

EXIBINDO CONVERSAS RECENTES:

Texto: Client_ID
Canal: pix
Avatar discord do usuario joaovictorz4

joaovictorz4

Ver Respostas

boa tarde fiz um requisição para .../oauth/token para ter acesso a access_token em homologação, passei o client_id, client_secret e adicionei o certificado e tive o retorno ok, porém quando faço utilizando a rota de produção não consigo obter a access_token, é necessario passar alguma outra informação etc? os testes foram feitos utilizando o php

Avatar discord do usuario joao_efi

joao_efi

Você só pode emitir cobranças para uma chave pix da conta autenticada (através do client_id e client_secret + certificado)

Avatar discord do usuario lucio3859

lucio3859

Ver Respostas

Sim, eu uso da minha. Então eu vou ter que pedir pro meu cliente criar um client id e um secret e me passar?

Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

Boa tarde <@!882286304828751943> tudo bem? 🙂
Provavelmente você está usando o client_id e client_Secret de uma conta + a chave pix de outra conta

Avatar discord do usuario matheusbaldasso1363

matheusbaldasso1363

Bom dia, estamos tentando fazer a autenticação no endpoint /oauth/token com os dados de homologação e estamos recebendo acesso negado. Já configurei o client id e o client password e setei o certificado .p12 com os dados de homologação mas não funciona: segue o erro
{
"error": "invalid_client",
"error_description": "Invalid or inactive credentials"
}

Avatar discord do usuario matheus_efi

matheus_efi

<@!298112455626981376> me informe no privado o client_id que você está utilizando. Porque aqui consta como liberado, reforçando que deve ser em produção, o pix.send não funciona em homologação.

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.

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

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;

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

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

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

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:

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

Avatar discord do usuario koda05529

koda05529

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

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',
};

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',
};

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',
};

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

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
}