Histórico de mensagens sobre Secret id

EXIBINDO CONVERSAS RECENTES:

Texto: Secret id
# pix
Avatar discord do usuario azsantosk

azsantosk

Ver Respostas

Verifiquei aqui novamente e sim, o clientid/secret são os mesmos da aplicação com escopo definido

# pix
Avatar discord do usuario relixes

relixes

Ver Respostas

O certificado tá lá, o erro parece mais relacionado ao cliente e ao secret id

# pix
Avatar discord do usuario relixes

relixes

fiz um teste no ambiente de homologação, com credenciais, clientID e secretID de homologação e continuo recebendo o mesmo erro tbm

# pix
Avatar discord do usuario david_balbino

david_balbino


public class GerarPix {

static public void gerarPix(int valor){

Credentials credentials = new Credentials();

JSONObject options = new JSONObject();
options.put("client_id", credentials.getClientId());
options.put("client_secret", credentials.getClientSecret());
options.put("pix_cert", credentials.getCertificadoPix());
options.put("sandbox", credentials.isSandbox());

JSONObject body = new JSONObject();
body.put("calendario", new JSONObject().put("expiracao", 3600));
//body.put("devedor", new JSONObject().put("cpf", "94271564656").put("nome", "Gorbadoc Oldbuck"));
body.put("valor", new JSONObject().put("original", valor));
body.put("chave", "sua_chave");

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

}


static public void gerarQrCode(String locId){

Credentials credentials = new Credentials();

HashMap options = new HashMap();
options.put("client_id", credentials.getClientId());
options.put("client_secret", credentials.getClientSecret());
options.put("pix_cert", credentials.getCertificadoPix());
options.put("sandbox", credentials.isSandbox());

HashMap params = new HashMap();
params.put("id", locId );

try {
Gerencianet gn = new Gerencianet(options);
Map response = gn.call("pixGenerateQRCode", params, new HashMap());

File outputfile = new File("qrCodeImage.png");
ImageIO.write(ImageIO.read(new ByteArrayInputStream(javax.xml.bind.DatatypeConverter.parseBase64Binary(((String) response.get("imagemQrcode")).split(",")[1]))), "png", outputfile);
Desktop desktop = Desktop.getDesktop();
desktop.open(outputfile);

}catch (GerencianetException e){
System.out.println(e.getError());
System.out.println(e.getErrorDescription());
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
}

# pix
Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

Boa tarde @flaresnootechsistemas0065 tudo certo? 🙂
Para autenticar é necessário utilizar o client_id e client_secret da sua aplicação em produção, no link abaixo você encontra como gerá-los:
https://gerencianet.com.br/artigo/como-obter-chaves-client-id-e-client-secret-na-api/#versao-7

Vale verificar também se a variável SANDBOX condiz com as credenciais utilizadas, sendo:

sandbox: true //AMBIENTE DE HOMOLOGAÇÃO
sandbox: false //AMBIENTE DE PRODUÇÃO

# pix
Avatar discord do usuario lucsa.dev

lucsa.dev

estranho que quando eu alterei public key, secret id, e certificado para os da conta PJ eu não tinha erro e a transferencia estava sendo feita para minha conta pessoal ainda, só depois que mudei a chave que começou retornar erro

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Tem também o client_id, client_secret e certificado... que identificam conta e aplicação.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O exemplo que tem na doc é assim:

//Desenvolvido pela Consultoria Técnica da Gerencianet

"use strict";
const https = require("https");
var axios = require("axios");
var fs = require("fs");

//Insira o caminho de seu certificado .p12 dentro de seu projeto
var certificado = fs.readFileSync("./certificado.p12");

//Insira os valores de suas credenciais em desenvolvimento do pix
var credenciais = {
client_id: "YOUR-CLIENT-ID",
client_secret: "YOUR-CLIENT-SECRET",
};

var data = JSON.stringify({ grant_type: "client_credentials" });
var data_credentials = credenciais.client_id + ":" + credenciais.client_secret;

// Codificando as credenciais em base64
var auth = Buffer.from(data_credentials).toString("base64");

const agent = new https.Agent({
pfx: certificado,
passphrase: "",
});
//Consumo em desenvolvimento da rota post oauth/token
var config = {
method: "POST",
url: "https://api-pix-h.gerencianet.com.br/oauth/token",
headers: {
Authorization: "Basic " + auth,
"Content-Type": "application/json",
},
httpsAgent: agent,
data: data,
};

axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});

# pix
Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

Boa noite @schinnick tudo bem? 🙂
Caso siga na linha de implementar diretamente no RN + axios, seria necessário implementar dentro do app o consumo das rotas da nossa API.
Vale lembrar que para o consumo dos endpoints PIX é necessário seu par de credenciais (Client_id e Client_Secret) + o certificado Pix emitido dentro da sua própria conta Gerencianet.
Tentar, de alguma forma, embutir essas informações no app pode ser perigoso caso alguém mal intencionado venha executar engenharia reversa no app após lançado. Onde uma vez com acesso a essas credenciais + certificado o intruso consegue realizar ações na sua conta, e até transferências (caso tenha o envio de pix habilitado)
Com isso em vista, acredito que não seja a melhor abordagem de integração.

Quando a implementação do backend, no nosso github você encontra SDKs em diversas linguagens para facilitar o desenvolvimento!
Segue o link da nossa SDK em node: https://github.com/gerencianet/gn-api-sdk-node

# bolix
Avatar discord do usuario josimaros

josimaros

Ver Respostas

ola boa tarde, estou com uma probleminha
estou realizando um pesquisa de carne pelo o id do carne e recebo a mensagem 'Unauthorized'
com as seguinte configurações de uso
sandbox: false,
client_id: secreto,
client_secret: secreto,
pathCertHomologacao: '',
validateMtls: false,

aplicação em javascript

estou querendo utilizar a base de dados real com os cliente cadastrados

# pix
Avatar discord do usuario hubner7903

hubner7903

const certificado = await this.movimentoService.certificado_gn();
const client_id = await this.movimentoService.client_id_gn();
const client_secret = await this.movimentoService.client_secret_gn();
const base64 = Buffer.from(${client_id}:${client_secret}).toString("base64");

let https = require('https');
let agent = new https.Agent({
pfx: certificado,
passphrase: ''
})

var axios = require('axios');
var data = JSON.stringify({ grant_type: 'client_credentials'});

var config = {
method: 'post',
url: 'https://api-pix-h.gerencianet.com.br/oauth/token',
headers: {
'Authorization': Basic ${base64},
'Content-Type': 'application/json',

},
httpsAgent: agent,
data: data
};

console.log(config)
console.log('=======================================================================')
try {
const response = await axios.request(config);
return response.data
} catch (error) {
console.error(error);
}

# pix
Avatar discord do usuario luizfps7799

luizfps7799

Ver Respostas

pessoal minha integração usando nodejs e typescript está dando forbidden quando tento usar os dados de produção, quando mudo o certificado e clientId, secretId e sandbox para rodar em homologação funciona, alguém sabe o que pode ser ? ( já rodei apontando pra produção uma vez e funcionou normalmente), estou usando o sdk da gerencia net e não estou conseguindo emitir uma cobrança pix

# cartões
Avatar discord do usuario dafle9296

dafle9296

Ver Respostas

pra cartao nao passa clientId e clientSecret passa o account_id

# cartões
Avatar discord do usuario dafle9296

dafle9296

kotlin
class GnPaymentTokenService {

private val gn = Gerencianet(mapOf(
"client_id" to "Client_Id_...",
"client_secret" to "Client_Secret_...",
"sandbox" to true
))

fun fetchPaymentToken(): Observable> {
return try {
Observable.create {
it.onNext(
gn.call("paymentToken", mapOf(), mapOf(
"brand" to "mastercard",
"number" to "hidden",
"cvv" to "hidden",
"expiration_month" to "hidden",
"expiration_year" to "hidden"
))
)
}
} catch (err: Exception) {
Observable.error(err)
}
}
}

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

# cartões
Avatar discord do usuario joilson8332

joilson8332

Ver Respostas

Boa tarde pessoal, tudo bem? Tenho minha loja na WBUY e quero receber pagamentos via cartão nela. No campo para ativar a gerencianet na wbuy pedem Cliente ID e Client Secret. Para ter esses códigos, criei uma aplicação, porém ao criar essa aplicação ela só disponibilizou as opções API de emissões (Boletos e Carnês) e API PIX, não achei nada de API para cartões. Acabei criando mesmo assim pra testar.
Foi pedido também na WBUY o "Script para checkout via lightbox", achei o local para criar (https://dev.gerencianet.com.br/docs/pagamento-com-cartao#section-1-1-obten-o-do-payment_token), fiz de acordo com o passo a passo e colei meu script na WBUY. Porém na hora do teste, acredito que essa aplicação que criei (sem a opção de API para cartão de crédito) não liberou as opções de parcelamento, eu não consegui realizar a transação.
Espero que possam me ajudar.

# bolix
Avatar discord do usuario andresisdanca

andresisdanca

Ver Respostas

Os parametros são estes aqui para pegar o token?

String basicAuth = Base64.getEncoder().encodeToString(((this.clienteId + ':' + this.clienteSecret).getBytes()));

HttpPost httpPost = new HttpPost(rota);
httpPost.setHeader("Content-Type", "application/json");
httpPost.setHeader("Authorization", "Basic " + basicAuth);
String requestJson = "{"grant_type": "client_credentials"}";

Retirei o certificado e estou na rota https://sandbox.gerencianet.com.br/v1/authorize

E continua dando não autorizado.

Esta API de vcs não tive muito sucesso com ela ... desculpe.

Será que estou com o Bolix liberado para realizar as transações?
O Cliente Id e o ClienteSecret é o mesmo do PIX?