Histórico de mensagens sobre Client_ID em pix

EXIBINDO CONVERSAS RECENTES:

Texto: Client_ID
Canal: pix
Avatar discord do usuario .viniciusc

.viniciusc

java
public static Token authorizeToken(String client_id, String client_secret, byte[] certificateBytes) {
Token token = null;
String basicAuth;
try {
System.out.println(certificateBytes.length);
basicAuth = Base64.getEncoder().encodeToString((client_id + ':' + client_secret).getBytes());

File tempFile = File.createTempFile("certificate", ".p12");
tempFile.deleteOnExit();

try (FileOutputStream fos = new FileOutputStream(tempFile)) {
fos.write(certificateBytes);
}

System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
System.setProperty("javax.net.ssl.keyStore", tempFile.getAbsolutePath());

SSLSocketFactory sslSocketFactory = (SSLSocketFactory) SSLSocketFactory.getDefault();

URL url = new URL("https://api-pix-h.gerencianet.com.br/oauth/token");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "Basic " + basicAuth);
conn.setSSLSocketFactory(sslSocketFactory);
String input = "{\"grant_type\": \"client_credentials\"}";

OutputStream os = conn.getOutputStream();
os.write(input.getBytes());
os.flush();

Avatar discord do usuario .viniciusc

.viniciusc

Ver Respostas

Bom dia! Alguém aqui já conseguiu implementar a API PIX da Efí utilizando o Java + Spring Boot com algum serviço de Cloud?

Já fazem alguns meses que tento implementar a API mas sempre tenho problemas de instabilidade, onde, depois de gerar um token de acesso, a aplicação spring continua funcionando normalmente e depois de 10 minutos começa a ter problema de conexão com a base de dados.

No caso do serviço de cloud estou usando a AWS e o RDS com o MySQL.

Falo da base de dados mas utilizei dados localmente (client_id, secret e certificado .p12 localmente e a requisição de teste foi nenhuma conexão com o banco) e mesmo assim da erro de conexão com a base de dados.

Já fazem vários meses que estou tento esse problema e gostaria de saber se alguém ja implementou a API nessas condições ou se alguém já teve algum problema parecido.

Se alguém puder respondei ficarei profundamente grato!

O trecho de código em questão:

Avatar discord do usuario igor_efi

igor_efi

@espartano9720, bom dia!
Antes de você utilizar este endpoint, você precisa autenticar na API informando o client_id e client_secret do jeito que você esta fazendo.
Na autenticação, vai ser retornado para você o access token, que você deverá utilizar nos demais endpoints.

Segue o exemplo em Python de autenticação:

py
#Desenvolvido pela Consultoria Técnica da Efí

import requests
import base64

credentials = {
"client_id": "YOUR-CLIENT-ID",
"client_secret": "YOUR-CLIENT-SECRET",
}

certificado = './certificado.pem' # A variável certificado é o diretório em que seu certificado em formato .pem deve ser inserido

auth = base64.b64encode(
(f"{credentials['client_id']}:{credentials['client_secret']}"
).encode()).decode()

url = "https://pix.api.efipay.com.br/oauth/token"

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)

print(response.text)

Avatar discord do usuario espartano9720

espartano9720

Ver Respostas

olá pessoal, bom dia
espero que alguém possa me ajudar, agradeço desde já!
estou tentando obter os dados dos pix's recebidos atraves de um código python:

certificado = 'producao-xxxxxxxxxxcert.pem'

auth = base64.b64encode(
(f"{credentials['client_id']}:{credentials['client_secret']}"
).encode()).decode()

url = "https://pix.api.efipay.com.br/v2/pix?inicio=2023-11-14T15:00:00Z&fim=2023-11-15T15:59:59Z" #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)

print(response.text)

Avatar discord do usuario mejulgue

mejulgue

Olá, boa tarde, estou com uma tremenda dificuldade em ativar o Pix com a minha loja, é a primeira vez que realizo esse procedimento então estou bem perdido, a empresa que me fornece os sistemas de TEF e pinpad é a Martins e a Única, só que não consigo liberar a forma de pagamento via Pix por QR Code, a Martins me pede três dados, uma chave do banco e dois arquivos chamados client_secret e client_id, e não sei nem por onde começar.
Alguém consegue me dar uma luz ?

Avatar discord do usuario yasmin_efi

yasmin_efi

Boa tarde @joaojesus1550! Para emitir Pix via API você precisa das credenciais da sua conta, client_id e client_secret. Irei abrir um atendimento privado para você, no canal # atendimento para pegar alguns dados

Avatar discord do usuario yasmin_efi

yasmin_efi

Confira por favor o seu arquivo credentials, se consta as informações corretas da sua conta (client_id, client_secret, certificado e a variável sandbox)

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

$config = [
"certificado" => ($sandbox) ? $pathCertificateHomolog : $pathCertificateProd,
"client_id" => ($sandbox) ? $clientIdHomolog : $clientIdProd,
"client_secret" => ($sandbox) ? $clientSecretHomolog : $clientSecretProd,
"rotas" => ($sandbox) ? $rotasHomolog : $rotasProd
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();
$fp = fopen($_SERVER['DOCUMENT_ROOT'] . '/errorlog.txt', 'w');

curl_setopt_array($curl, array(
CURLOPT_VERBOSE => true,
CURLOPT_STDERR => $fp,
CURLOPT_URL => $config['rotas'] . "/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);

echo '

';
var_dump($config, $response);
echo '
';

curl_close($curl);

Avatar discord do usuario blini369

blini369

module.exports = {
// PRODUÇÃO = false
// HOMOLOGAÇÃO = true,
sandbox: false,
client_id: "Client_Id........",
client_secret: "Client_Secret........",
certificate: "./certificados/homologacao-506459.p12",
};

Avatar discord do usuario jaimepremy

jaimepremy

Ver Respostas

Boa noite pessoal, estou tentando a integração do pix num aplicativo asp.net. Estou conseguindo fazer a autenticação e recebo um objeto response com token, scope etc. Mas tentando uma cobrança imediata com txid, seguindo o exemplo que está na documentação do postman me deparo com request.AddHeader("authorization", {{Authorization}}"). Como eu passo o response que recebi na autenticação neste header? Tentei passar o response (string) todo aqui, mas recebo um "invalid_client" . O sdk .Net que a efi disponibiliza no github só serve para .Net Core, mas o meu app é framework 461, então não tem como usar. Tem um sdk net framework antigo lá no Github, mas sem nada relacionado ao Pix. Também tentei: request.AddHeader("Authorization", "Basic " & System.Convert.ToBase64String(Encoding.ASCII.GetBytes(String.Format("{0}:{1}", client_id, client_secret)))), mas tbm dá "invalid_client". Fvr alguém que já implemtou diretamente no .net poderia me ajudar?

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

client_id e client_secret

Avatar discord do usuario bgeneto

bgeneto

Ver Respostas

Então realmente não estou entendendo mais nada... peço desculpas pela insistência, mas não mudamos nada em nossa produção e simplesmente começou a apresentar o erro mencionado (além da exceção que mudou de nome de EfiPayException para EfiException). Além disso, o arquivo de exemplo efipay\sdk-php-apis-efi\examples\credentials\options.php está assim (sem cache):

$options = [
"client_id" => ($sandbox) ? $clientIdHomolog : $clientIdProd,
"client_secret" => ($sandbox) ? $clientSecretHomolog : $clientSecretProd,
"certificate" => ($sandbox) ? $pathCertificateHomolog : $pathCertificateProd,
"sandbox" => $sandbox,
"debug" => false,
"timeout" => 30
];
Então vou insistir em que olhem com carinho... Thx!!!

Avatar discord do usuario giulianojordao

giulianojordao

Estou enviando os dados de options... let options = {
sandbox: (process.env.API_MODE !== 'PROD') ? true : false,
client_id: (process.env.API_MODE === 'PROD') ? process.env.EFI_PROD_CLIENT_ID : process.env.EFI_HOMOL_CLIENT_ID,
client_secret: (process.env.API_MODE === 'PROD') ? process.env.EFI_PROD_SECRET : process.env.EFI_HOMOL_SECRET,
certificate: certificado,
validateMtls: false,
};

Avatar discord do usuario silas_paullo

silas_paullo

Ver Respostas

from gerencianet import Gerencianet

credentials = {
'client_id': 'client_id',
'client_secret': 'client_secret',
'sandbox': True,
'certificate': 'insira-o-caminho-completo-do-certificado'
}

gn = Gerencianet(credentials)

body = {
'calendario': {
'expiracao': 3600
},
'devedor': {
'cpf': '12345678909',
'nome': 'Francisco da Silva'
},
'valor': {
'original': '123.45'
},
'chave': '71cdf9ba-c695-4e3c-b010-abb521a3f1be',
'solicitacaoPagador': 'Cobrança dos serviços prestados.'
}

response = gn.pix_create_immediate_charge(body=body)
print(response)

Avatar discord do usuario thiago.back

thiago.back

Ver Respostas

gente quando eu uso a sdk em python ta me retornando o seguinte erro
{'error': 'insufficient_scope', 'error_description': 'Access token has insufficient scope'}
minha credenciais CREDENTIALS = {
'client_id': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,
'client_secret': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'sandbox': False,
'certificate': r"C:\Users\tf938\OneDrive\Documentos\codigos_python\Nova pasta\certificado.pem"
}

Avatar discord do usuario andrecosta8596

andrecosta8596

Boa tarde, Pessoal!

Estou tendo problema na utilização da API Pix de vcs. Criei uma aplicação e utilizei as chaves (Client ID e Client Secret) de homologação e consegui gerar o pix, mas quando mudo para as chaves de produção retorna "A chave informada não faz referência à conta Gerencianet autenticada".

Só mudei as chaves (que estão disponíveis na aplicação que criei na plataforma de vcs), a de homologação funciona e produção não. Podem me ajudar?

Avatar discord do usuario bernardocollet_36741

bernardocollet_36741

Ver Respostas

$config = [
"certificado" => __DIR__."/arquivo.pem",
"client_id" => "CLIENTEID",
"client_secret" => "CLIENTESECRET"
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://pix.api.efipay.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"],
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
curl_close($curl);
print_r($response);

Avatar discord do usuario johnnycamara_43990

johnnycamara_43990

Ver Respostas

bom dia, estou começando o desenvolvimento pix usando a api, e estou tendo bastante dificuldades. ja criei a conta, ja tenho o client_id e client_secret e ja tenho certificado. creio que agora preciso obter o accessToken. Podem me dar um exemplo de como fazer em vb.net?