Que eu lembre é com o par client_id/client_secret da aplicação criada no app da Gerencianet, e não com cpf ou senha do app.
Termos mais procurados:
Termos mais procurados:
Que eu lembre é com o par client_id/client_secret da aplicação criada no app da Gerencianet, e não com cpf ou senha do app.
tá faltando client_Id ai e client_secret
Boa tarde garcialuige, pelo nome TRUFA SHOP acredito que você esteja seguindo os vídeos do DevPleno, no entanto essas falhas retornadas não são referentes da API-Pix e sim relacionadas a promises. DE qualquer forma temos um exemplo de autenticação pronte em node que você pode se baser/utilizar caso queira:
<@!499000549870403594> eu fiz um teste aqui agora, baixando a sdk novamente e foi gerado normalmente nos dois ambientes, apenas trocando as configurações(client_id, client_secret, pix_cert e sandbox para false)
Para quem não está conseguindo gerar o Token a partir do exemplo C# da Gerencianet.
No exemplo da Gerencianet tem uma variável "cities" contendo o client_id e client_secret, mas nunca é usada.
O Authorization está fixo, mas você deve substituí-lo pelo authorization base64 gerado a partir de seu client_id e client_secret.
O parameter "application/json" tem o grant_type=client_credentials, mas não tem as credenciais no body.
Certifique-se de estar usando .Net Framework 4.6.1 ou superior. Versões anteriores do .Net Framework não utilizam TLS por padrão.
Para versão anterior a 4.6.1 do .Net Framework, descomente as duas primeiras linhas do código
Atenção: atente-se ao ambiente de homologação/produção e faça a alteração necessária.
// modelo funcional
public void GerarTokenGN(string client_id, string client_secret)
{
// força o uso do protocolo TLS, caso o protocolo padrão seja SSL ou outro protocolo
//ServicePointManager.Expect100Continue = true;
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;
X509Certificate2 uidCert = new X509Certificate2("NOME_DO_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 " + System.Convert.ToBase64String(Encoding.ASCII.GetBytes(string.Format("{0}:{1}", client_id, client_secret))));
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\"grant_type\":\"client_credentials\",\"client_id\":\"" + client_id + "\",\"client_secret\":\"" + client_secret + "\"}", ParameterType.RequestBody);
IRestResponse restResponse = client.Execute(request);
string response = restResponse.Content;
Console.WriteLine(response);
}
$config = [
"certificate" => realpath("classes/gerencianet/certificate_homolog.pem"),
"client_id" => "Client_Id_2bc65d226f54d47bec113654a214a1e3e1b1baea",
"client_secret" => "Client_Secret_948041017d8adadea5eaa303fd744db14da94742"
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);
$curlauth = curl_init();
console_log($data);
curl_setopt_array($curlauth, 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["certificate"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));
boa tarde pessoal, uma dúvida, pra consumir a api pix eu preciso gerar o certificado ou apenas o Client ID e o Client Secret
Estava criando cobranças no ambiente de homologação, para criar no ambiente de produção preciso trocar apenas a url base, client id e client secrete ou o certificado também?
Boa tarde pessoal.. to precisando de uma ajuda aqui... eu gerei o certificado de um cliente novo na plataforma nova de vcs, e to fazendo a requisição no oauth e tá vindo o erro 401 (não autorizado).. to usando o client_id e client_secret de produção, e o certificado de produção que eu fiz.. vcs tem como ver algum log ai ver o que tem de errado com a requisição?
Já chequei, cliente secret, client id estão conforme os dados lá da minha area restrita do gerenciant.
Boa tarde, eu estou tendo um problema na hora da intregação com o pix na hora de adicionar o certificado. Eu estou utilizando o código de exemplo que existe na página de documentação
$options = [
'client_id' => 'Client_Id_b03f8127709d8e9e65e2bacc80a3cacdxxxxxxx',
'client_secret' => 'Client_Secret_178295851f167a7753e6c2a17678aa13xxxxxx',
//'pix_cert' => $caminho_certificado,
'pix_cert' => '../config/certificado.pem',
'sandbox' => true,
'debug' => false,
'timeout' => 30
];
Bom dia pessoal, uma dúvida. As notificações via webhook ficam atreladas a uma chave pix ou ao client_id da aplicação? 2 aplicações diferentes usando a mesma chave pix utilizariam 2 webhooks diferentes ou o mesmo?
response = requests.request("POST",
url,
headers=headers,
data=payload,
auth=HTTPBasicAuth(credentials['client_id'], credentials['client_secret']),
cert=self.certificado)
auth = base64.b64encode(
(f"{credentials['client_id']}:{credentials['client_secret']}"
).encode()).decode()
url = "https://api-pix-h.gerencianet.com.br/oauth/token" #Para ambiente de Desenvolvimento
payload="{\r\n \"grant_type\": \"client_credentials\"\r\n}"
headers = {
'Authorization': f"Basic {auth}",
'Content-Type': 'application/json'
}
response = requests.request("POST",
url,
headers=headers,
data=payload,
cert=certificado)
$config = [
"certificado" => "./certificado.pem",
"client_id" => "YOUR-CLIENT-ID",
"client_secret" => "YOUR-CLIENT-SECRET"
];
Você tem que verificar o seu certificado gerado(se é de produção ou homologação) e se as suas credenciais(client_id e client_secret) são do mesmo ambiente.
Verifique também a rota base, homologação: "https://api-pix-h.gerencianet.com.br"
produção: "https://api-pix.gerencianet.com.br"
o fluxo poderia ser. Consultar certificado, consultar client_id e client_secret = gerar BRCode, simples assim
Estou iniciando a implementação da api pix, promeiro passo executar o metodo oauth, estou utilizando o clienteid e client secret de desenvolvimeto e o certificado gerado pela gn , porem estou recebendo um erro {"message":"Forbidden"}