Histórico de mensagens sobre Secret id

EXIBINDO CONVERSAS RECENTES:

Texto: Secret id
# pix
Avatar discord do usuario thiprogramador

thiprogramador

Bom dia, minha aplicação Woocommerce esta retornando Unauthorized.
Os dados de: client ID, Secret e Identificador de conta estão corretos. A chave pix também, e o certificado pix.
Olhando o log esta apresentando: 3500000

# pix
Avatar discord do usuario sergioc3g7187

sergioc3g7187

Ver Respostas

agora após alterar o certificado, client_id e client_secret para o ambiente de produção eu recebo o erro [message] => Forbidden na hora de obter o token

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não, a chave privada é uma parte do arquivo que se baixa junto com o certificado. São 2 fatores de autenticação, o client secret e o certificado (assumindo que o client id não seja sigiloso)

# pix
Avatar discord do usuario gugamarcelino

gugamarcelino

Eu estava usando assim:

let options = {
sandbox: false,
clientIdProducao: process.env.clientIdProducao,
clientSecretProducao: process.env.clientSecretProducao,
validateMtls: false,
pathCertProducao: path.resolve(__dirname, '')
};

let gerencianet = new Gerencianet(options);



Alterei agora assim, e funcionou:

let options = {
sandbox: false,
client_id: process.env.clientIdProducao,
client_secret: process.env.clientSecretProducao,
validateMtls: false,
pix_cert: path.resolve(__dirname, '
')
};

let gerencianet = new Gerencianet(options);

# pix
Avatar discord do usuario filipe9105

filipe9105

bom, coloquei a chave client ID é a chave Secret ID junto com o Código Identificador da Conta

# pix
Avatar discord do usuario wesleyadiel1953

wesleyadiel1953

Ver Respostas

Pessoal, integrei a API de Boletos via SDK(C#), porém a API do PIX exige um versão mais nova do .NET que estamos usando atualmente, então para não alterar nosso projeto, vou integrar pelas requisições direto, porém estou com uma dúvida sobre quais os dados devo colocar nos campo do Basic Auth, seria o client_id e o secret_id? Ou o usuário e senha da minha conta mesmo?

# pix
Avatar discord do usuario sady_efi

sady_efi

No modelo que você descreveu, existem duas possibilidades:
- Você ter uma conta "Pulmão" onde todos os pagamentos são recebidos e gerenciados por você (mais crítico e requer um nível maior de controle do seu sistema)
- Cada escola possui sua conta e fornece para seu app as credenciais (Client_Id e Secret), certificado e chave EVP, e seu sistema gerencia as cobranças. Neste caso o saldo já estará na conta do cliente, oque reduz a complexidade da operação.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, <@!828419311868575754>.
Para obter as chaves (Client_Id e Client_Secret) de homologação e produção, você mesmo consegue obtê-las através do painel web da Gerencianet.

Para isso, basta você efetue login na conta Gerencianet (https://usuario.gerencianet.com.br/login) e acesse o menu API -> Minhas Aplicações -> Nova Aplicação , informe um nome para sua aplicação e clique em Criar nova aplicação. E então você visualizará as chaves Client_Id e Client_Secret de Produção e Homologação.

# pix
Avatar discord do usuario anoni_mato

anoni_mato

hum.. tá estranho isso. vc tá enviando client id + client secret num request onde você deveria estar usando um token de consumo já obtido anteriormente

# pix
Avatar discord do usuario joao_efi

joao_efi

Oi <@!850502535859929110> tudo bem? 😄
Para realizar a integração com os serviços da Gerencianet, se você ainda não tem uma conta, faça seu cadastro, ele será sua identificação e te dará acesso as chaves de utilização da API. Com sua conta criada, você vai precisar das suas credenciais Client_ID e Client_Secret para realizar a integração.

Para visualizar suas credenciais basta fazer login em sua conta Gerencianet ( https://gerencianet.com.br/#login )
Acesse o menu API > Minhas Aplicações, e crie a sua aplicação, como mostra o link: https://gerencianet.com.br/artigo/como-criar-uma-nova-aplicacao-para-usar-a-api-pix/

Você visualizará então as credenciais Client_Id e Client_Secret de Produção e Desenvolvimento.
Vale lembrar que as chaves de Desenvolvimento são utilizadas para simular cobranças e efetuar testes na plataforma. Já as chaves de Produção devem ser utilizadas quando for emitir cobranças reais.

Abaixo seguem alguns links úteis para consulta:
- Temos uma tabela resumindo os tipos de integrações e formas de uso disponíveis, acesse e escolha a que melhor atende suas necessidades. https://dev.gerencianet.com.br/docs/tipos-integracoes
- Possuímos um curso EAD que poderá lhe ajudar a ter uma visão geral do funcionamento da nossa API de boletos, cartão, marketplace e assinaturas. https://www.udemy.com/course/eadgerencianet/
- Para você implementar os serviços de pagamento desejados, em nossa documentação temos exemplos e explicação da utilização em diversas linguagens. https://dev.gerencianet.com.br/docs/gerar-boleto-bancario
Além disso, nosso GitHub tem também uma SDK em PHP com exemplos prontos para facilitar sua integração. https://github.com/gerencianet/gn-api-sdk-php

Quaisquer dúvidas sinta-se à vontade para entrar em contato conosco!

# pix
Avatar discord do usuario matwbug

matwbug

Alguém consegue me ajudar aqui com a api pix? por algum motivo minha requisição curl nao está dando response no site da gerencianet, até baixei os proprios códigos da doc e mesmo assim não foi, é como se a requisição não fosse feita, estou utilizando php


$config = [
"certificado" => BASE.'data/certif/gerencianet.pem',
"client_id" => "xx",
"client_secret" => "xx"
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/oauth/token", // Rota base, homologação 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 => '{"grant_type": "client_credentials"}',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

curl_close($curl);

echo "
";
echo $response;
echo "
";
?>

# pix
Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

const credenciais = {
clientIdProducao: process.env.GN_CLIENT_ID,
clientSecretProducao: process.env.GN_CLIENT_SECRET,
pathCertProducao: process.env.GM_CAMINHO_CERT,

clientIdHomologacao: process.env.GN_CLIENT_ID_HOMOLOGACAO,
clientSecretHomologacao: process.env.GN_CLIENT_SECRET_HOMOLOGACAO,
pathCertHomologacao: process.env.GM_CAMINHO_CERT_HOMOLOGACAO,

sandbox: process.env.GN_SANDBOX,
validateMtls: process.env.GN_VALIDATE_MTLS
}

# cartões
Avatar discord do usuario guilherme_efi

guilherme_efi

Boa tarde, <@!664563985885954079>!

Para obter o payment_token, possuímos um exemplo pronto com cartão de crédito que você pode utilizar e aplicar a lógica. Para baixar este exemplo, acesse: https://www.gerencianet.com.br/wp-content/themes/Gerencianet/exemplos-api/cartao/

Após baixar este exemplo, informe suas credenciais e alterar mais algumas informações:

Arquivo index.php, alterar na linha 12 - esse é o código JavaScript específico por conta Gerencianet e é utilizado para obtenção do payment_token. Importante frisar que este código é específico de acordo com o ambiente utilizado (produção ou Homologação). Veja neste link (https://dev.gerencianet.com.br/docs/pagamento-cartao#section-2-1-obten-o-do-payment_token) como obter corretamente seu payment_token.

Arquivo pagar-cartao.php, alterar a linha 3 (caminho SDK ou pasta vendor baixada pelo Composer), linhas 8 e 9 (informe seu Client_Id e Client_Secret, de acordo com o ambiente), linha 16 (sandbox possui dois possíveis valores, true se usar ambiente de Homologação e false se produção).

Arquivo script-cartao.js em bootstrap\js\ contém funções JavaScript relacionadas ao exemplo. Altere se julgar conveniente.

Demais linhas cabe a você alterar conforme necessidade.

# pix
Avatar discord do usuario fernandogomes2667

fernandogomes2667

Ver Respostas

Bom dia! Estou com o seguinte erro br.com.gerencianet.gnsdk.exceptions.AuthorizationException: Authorization Error: Client_id or Client_secret are wrong, minha dúvida é a seguinte, caso fosse problema de certificado a mensagem de erro seria outra?

# pix
Avatar discord do usuario joao_efi

joao_efi

Oi <@!839243604266319872> tudo bem? 😄
Para realizar a integração você vai precisar das suas credenciais Client_ID e Client_Secret.
Para visualizar suas credenciais basta fazer login em sua conta Gerencianet ( https://gerencianet.com.br/#login )
Acesse o menu API > Minhas Aplicações, selecione então a aplicação desejada.
Você visualizará as credenciais Client_Id e Client_Secret de Produção e Desenvolvimento.
Vale lembrar que as chaves de Desenvolvimento são utilizadas para simular cobranças e efetuar testes na plataforma. Já as chaves de Produção devem ser utilizadas quando for emitir cobranças reais.

Abaixo seguem alguns links úteis para consulta:
Temos uma tabela resumindo os tipos de integrações e formas de uso disponíveis, acesse e escolha a que melhor atende suas necessidades. https://dev.gerencianet.com.br/docs/tipos-integracoes
Possuímos um curso online que poderá lhe ajudar a ter uma visão geral do funcionamento da nossa API de boletos, cartão, marketplace e assinaturas. https://www.udemy.com/course/eadgerencianet/
Para você implementar os serviços de pagamento desejados, em nossa documentação temos exemplos e explicação da utilização em diversas linguagens!
https://dev.gerencianet.com.br/docs/gerar-boleto-bancario
Além disso, nosso GitHub temos também algumas SDKs com exemplos prontos para facilitar sua integração. https://github.com/gerencianet/

# pix
Avatar discord do usuario Julia Efí

Julia Efí

Ver Respostas

Primeiramente, para iniciar a integração nossa API, você recebedor, deverá criar uma conta conosco, que é totalmente gratuita.

Após sua conta criada, acesse nosso site, no menu API > Minhas aplicações você criará uma aplicação e deve ativar a API Pix na aplicação. Nessa aplicação são gerados 2 pares de chaves Client_Id e Client_Secret, sendo um par para utilização em ambiente de Produção e outro para o de Homologação. Estas que são necessárias para autenticação das requisições para o arranjo Pix e demais integrações de boleto, carnê, cartão de crédito.

Para utilizar a API Pix você precisará dessas chaves e de um certificado gerado em sua própria conta. Para isso, temos um tutorial para que você gere com sucesso seu certificado, disponível em https://comunidade.gerencianet.com.br/post/geracao-de-certificado-p12-603522dc3a48978c9a309516. Além disso, você deve criar uma chave Pix pelo seu aplicativo da Gerencianet ou através da própria API e deve vinculá-la a todas as cobranças Pix que você emitir, para poder receber o valor em sua conta. Ressaltamos que a chave deve ser exclusivamente da Gerencianet, ou seja, ela não pode estar vinculada a outro banco.

# cartões
Avatar discord do usuario taffarelxavier

taffarelxavier

Estou tentando fazer uma transação:

require __DIR__.'/vendor/autoload.php'; // caminho relacionado a SDK

use Gerencianet\Exception\GerencianetException;
use Gerencianet\Gerencianet;

$clientId = 'Client_Id_99869ea3xxxxxxxxxxxxxxxxxxxxx78a6a4708f3e'; // insira seu Client_Id, conforme o ambiente (Des ou Prod)
$clientSecret = 'Client_Secret_xxxxxxxxxxxxxxxxxxxxe0b24848af5d1bfb'; // insira seu Client_Secret, conforme o ambiente (Des ou Prod)

$options = [
'client_id' => $clientId,
'client_secret' => $clientSecret,
'sandbox' => true // altere conforme o ambiente (true = desenvolvimento e false = producao)
];

$item_1 = [
'name' => 'Item 1', // nome do item, produto ou serviço
'amount' => 1, // quantidade
'value' => 1000 // valor (1000 = R$ 10,00) (Obs: É possível a criação de itens com valores negativos. Porém, o valor total da fatura deve ser superior ao valor mínimo para geração de transações.)
];

$item_2 = [
'name' => 'Item 2', // nome do item, produto ou serviço
'amount' => 2, // quantidade
'value' => 2000 // valor (2000 = R$ 20,00)
];

$items = [
$item_1,
$item_2
];

$body = [
'items' => $items
];

try {
$api = new Gerencianet($options);
$charge = $api->createCharge([], $body);

print_r($charge);
} catch (GerencianetException $e) {
print_r($e->code);
print_r($e->error);
print_r($e->errorDescription);
} catch (Exception $e) {
print_r($e->getMessage());
}
Mas obtenho o erro acima, na imagem.

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

JQuery com Ajax não, mas temos em node

js
//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);
});
Mas o Postman tem um exemplo com jQuery:
js
var settings = {
"url": "https://api-pix.gerencianet.com.br/oauth/token",
"method": "POST",
"timeout": 0,
"headers": {
"x-client-cert-pem": "{{X-Certificate-Pem}}",
"Authorization": "Basic Q2xpZW50X0lkXDM4ZjJhY2M1M2QyMGRmOTJhNDIxMWE3NjhjMTBjMzkyZjk2YWM6Q2xpZW50JhZWQwMGRlZjYzNWRlY2E5YTE5Y2Y2ZTI0YjEwMTBjNzIx",
"Content-Type": "application/json"
},
"data": JSON.stringify({
"grant_type": "client_credentials"
}),
};

$.ajax(settings).done(function (response) {
console.log(response);
});

# bolix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Sim, você tem que mandar o juridical_person, ao invés de passar nome e cpf, veja um exemplo em Delphi:

json
interface
function PayChargeWithBilletAsPJ(Id: String): String;

implementation
uses uGerenciaClient, uGerenciaNetClientUtilities;
{... your code ... }

function PayChargeWithBilletAsPJ(Id: String): String;
var
Body : String;
PaymentParams: String;
const
BodyText =
'{'+
'"payment": {'+
'"banking_billet": {'+
'"customer": {'+
'"email": "[email protected]",'+
'"phone_number": "5144916523",'+
'"birth": "1977-07-17",'+
'"address": {'+
'"street": "Avenida Juscelino Kubitschek",'+
'"number": 909,'+
'"neighborhood": "Bauxita",'+
'"complement": "",'+
'"city": "Ouro Preto",'+
'"state": "MG",'+
'"zipcode": "35400000"'+
'},'+
'"name": "Gorbadoc Oldbuck",'+
'"cpf": "94271564656",'+
'"juridical_person": {'+
'"corporate_name": "Nome da Empresa",'+
'"cnpj": "99794567000144"'+
'}'+
'},'+
'"configurations": {' +
'"fine": 200,' +
'"interest": 33' +
'},'+
'"message": "Este é um espaço de até 80 caracteres para informar algo a seu cliente",'+
'"expire_at": "2019-02-21"'+
'}'+
'}'+
'}';

begin
EnableService( 'GerenciaNet.dll' );
ConfigureService( ToPAnsiChar( 'client_id' ),ToPAnsiChar( 'client_secret' ),'sandbox','config.json','');
GerenciaNetAuthorize();

PaymentParams := CreateRequestParams( [ 'id='+Id ] ).Text; // Passa o id da transação
Body := BodyText;

Result := ExecuteGerenciaNetRequest( 'payCharge',PaymentParams,'',Body );
end;

# bolix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Conforme o Matheus exemplificou a forma como é feito o settleCharge()
Ou seja, este trecho que ele lhe passou, você irá implementar em seu _QUITAR_boletocliente.php

E nele você irá pegar o id que foi passado via POST no data : "_method=id_transacao="+id,, da seguinte forma:

php
'use strict';

var Gerencianet = require('gn-api-sdk-node');

var id_transacao = $_POST['id_transacao']; // Id vindo da request Ajax
var clientId = 'your_client_id';
var clientSecret = 'your_client_secret';

var options = {
client_id: clientId,
client_secret: clientSecret,
sandbox: true
}

var params = {
id: id_transacao
}

var gerencianet = new Gerencianet(options);

gerencianet
.settleCharge(params)
.then(console.log)
.catch(console.log)
.done();