Histórico de mensagens sobre Client_ID

EXIBINDO CONVERSAS RECENTES:

Texto: Client_ID
# pix
Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Boa tarde @leonardo_91905 ! Tudo bem? A falha Unauthorized refere-se a credenciais inválidas. Verifique se está utilizando credencias corretas (Client_Id e Client_Secret) e certificado para o ambiente definido. Você está utilizando algum de nossos plugins?

# dúvidas
Avatar discord do usuario _dishark

_dishark

Já configurei tudo e linkei os client_id e secret no authorization

# pix
Avatar discord do usuario he128

he128

Ver Respostas

//Desenvolvido pela Consultoria Técnica da Efí
$config = [
"certificado" => "./certificado.pem",
"client_id" => "YOUR-CLIENT-ID",
"client_secret" => "YOUR-CLIENT-SECRET"
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://pix-h.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"], // 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 rubenskuhl

rubenskuhl

Ver Respostas

O access token não é configurado. Ele é obtido usando client_id, client_secret e certificado, e vale por 60 minutos.
Aí com o access token e o certificado se fazem as demais requisições.

# pix
Avatar discord do usuario vitorsantos_

vitorsantos_

no sdk nao deixa explicito que deve ser configurado esse access token, ate pq ja passamos o client_id, client_secret e o certificado das requests do pix

# pix
Avatar discord do usuario yasmin_efi

yasmin_efi

@gregory7239 a chave Pix utilizada deve ser a mesma da conta autenticada, ou seja, chave pix, client_id, client_secret e certificados devem ser todos de uma mesma conta, para realizar a emissão.

# pix
Avatar discord do usuario gestaoicougue_76019

gestaoicougue_76019

Bom dia pessoal. Faço algumas automações, não sou dev e estou com uma dificuldade ao configurar os certificados no postman. Segui as instruções mas ao tentar via postman inicialmente dava com client id invalido e agora da um erro
Could not send request
Error: BAD_PKCS12_DATA

# devs
Avatar discord do usuario dinhoafsn.

dinhoafsn.

usei as chaves client_id e secret corretos

# devs
Avatar discord do usuario dinhoafsn.

dinhoafsn.

const options = {
sandbox: true,
client_id: 'xxx',
client_secret: 'xxx',
certificate: 'caminho/Ate/O/Certificado/Pix'
}

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

# pix
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:

# cartões
Avatar discord do usuario rafaelhenrique10101

rafaelhenrique10101

estpu usando o endpoint de cobranças, inicialmente eu estava utilzando o client_id e o secret_id de PROD, mas depois mudei para o de hml, e mesmo assim deu erro

# cartões
Avatar discord do usuario evert0n

evert0n

Entao por exemplo, eu vou implementar o meu sistema para alguém, essa pessoa seria a que iria receber o valor no pix, então ela teria que ter uma conta na EFÍ, mudar o Client Id e Client Secret?

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

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

# dúvidas
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Vc está usando client_id e client_secret do mesmo ambiente que está tentando acessar ?

# dúvidas
Avatar discord do usuario assiscabron

assiscabron

Ver Respostas

Client_secret e o client_id ta definido ali onde eu borrei, o certificado tbm e tem uma const auth que uso no “Authorization” da api, porém te retornando “token inválido”
imagem enviada na mensagem pelo usuario assiscabron

# dúvidas
Avatar discord do usuario .misaeloliveira

.misaeloliveira

Consegui já, dei uma olhada mais o client_id que estava puxando dessa maneira {{Client_Id}} estava errado.

# abertura-contas
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, mas mesmo dentro de uma mesma conta, é possível criar várias aplicações, e cada uma com client_id/client_secret. Se você já tem várias contas talvez não valha usar mais essa granularidade, mas ela está disponível.