Histórico de mensagens sobre credentials

EXIBINDO CONVERSAS RECENTES:

Texto: credentials
# 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 .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();

# cartões
Avatar discord do usuario rafaelhenrique10101

rafaelhenrique10101

Ola alguem pode me ajudar?
Pelo Postman eu estou recebendo "JSONError: Unexpected token 'u' at 1:1
unauthorized^" como resposta quando envio uma solicitacao para o POST https://cobrancas-h.api.efipay.com.br/v1/authorize
quando eu comento o conteudo do body
{
"grant_type": "client_credentials"
}
eu recebo apenas um "unauthorized", a client key e client secret estao corretas, e correspondem ao ambiente correto tmb, e nos lugares certos

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

# pix
Avatar discord do usuario peterfritz

peterfritz

Algo assim funcionaria:

js
import axios from "axios";
import https from "https";

const subdomain = process.env.NODE_ENV === "production" ? "pix" : "pix-h";

const clientCreds = clientId + ":" + clientSecret;
const authorization = Basic ${Buffer.from(clientCreds).toString("base64")};

const certificate = Buffer.from(certificateBase64Encoded, "base64");

const httpsAgent = new https.Agent({
pfx: certificate,
passphrase: "",
});

const oAuthResponse = await axios.post(
https://${subdomain}.api.efipay.com.br/oauth/token,
{
grant_type: "client_credentials",
},
{
headers: {
Authorization: authorization,
"Content-Type": "application/json",
},
httpsAgent,
}
);

const token = oAuthResponse.data.access_token;

const efiApi = axios.create({
baseURL: https://${subdomain}.api.efipay.com.br,
headers: {
Authorization: Bearer ${token},
"Content-Type": "application/json",
},
httpsAgent,
});

await efiApi.put(
/v2/webhook/${process.env.PIX_KEY},
{
webhookUrl:
${process.env.WEBHOOK_BASE_URL}/api/webhook/efi?secret=${process.env.WEBHOOK_SECRET}&ignore=.replace(
"//api",
"/api"
),
},
{
headers: {
"x-skip-mtls-checking": "true",
},
}
);

# pix
Avatar discord do usuario blini_10032

blini_10032

a minha requisição de oauth tá assim:
const responseToken = await fetch(
"https://pix-h.api.efipay.com.br/oauth/token",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"x-skip-mtls-checking": "true",
},
body: JSON.stringify({ grant_type: "client_credentials" }),
}
);

# freelancer
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Bom dia, @evert0n! Você esta tentando autenticar?
Poderia testar este código abaixo:

php
//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 "
";
?>

# devs
Avatar discord do usuario majooj

majooj

Ver Respostas

Boa noite, estou integrando com a API de PIX. Na criação da aplicação, ao disparar a request da um erro de invalid or inactive credentials, conseguem me ajudar por favor?
o erro:
data: {
error: 'invalid_client',
error_description: 'Invalid or inactive credentials'
}

A request está montada conforme o print, o endPoint de homolog: "https://pix-h.api.efipay.com.br"
O certificado é o de homolog.p12
imagem enviada na mensagem pelo usuario majooj

# devs
Avatar discord do usuario johnlennon_46207

johnlennon_46207

INFO NOO.Comum.Logger 2023-11-01 09:50:58,471 - GerenciaNet PIX - ObterToken -> status code post: Unauthorized
INFO NOO.Comum.Logger 2023-11-01 09:50:58,471 - GerenciaNet PIX - ObterToken -> result: {"error":"invalid_client","error_description":"Invalid or inactive credentials"}

# pix
Avatar discord do usuario johnlennon_46207

johnlennon_46207

INFO NOO.Comum.Logger 2023-11-01 09:50:58,471 - GerenciaNet PIX - ObterToken -> status code post: Unauthorized
INFO NOO.Comum.Logger 2023-11-01 09:50:58,471 - GerenciaNet PIX - ObterToken -> result: {"error":"invalid_client","error_description":"Invalid or inactive credentials"}

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

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

# pix
Avatar discord do usuario blini369

blini369

no arquivo credentials.js, eu tenho que deixar essas linhhas comentadas mesmo?
module.exports = {
// PRODUÇÃO = false
// HOMOLOGAÇÃO = true,

# dúvidas
Avatar discord do usuario luizg7954

luizg7954

Ver Respostas

Ola alguem pode me ajudar?
Eu estou recebendo "JSONError: Unexpected token 'u' at 1:1
unauthorized^" como resposta quando envio uma solicitacao para o POST https://cobrancas-h.api.efipay.com.br/v1/authorize" class="link-msg">https://cobrancas-h.api.efipay.com.br/v1/authorize
quando eu comento o conteudo do body
{
"grant_type": "client_credentials"
}
eu recebo apenas um "unauthorized", a client key e client secret estao corretas e nos lugares certos, o certificado esta para a seguinte rota: https://cobrancas-h.api.efipay.com.br
e eu escolhi a opcao PFX, a extensao do certificado e .p12 (homologacaocertificado432.p12)

Tudo isso esta sendo feito pelo POSTMAN

# devs
Avatar discord do usuario sionastronauta

sionastronauta

Ver Respostas

Já conferi o credentials.json e o client_id e client_secret estão com os valores corretos, a aplicação consegue encontrar o respectivo certificado. não sei o que está causando esse erro.

# pix
Avatar discord do usuario dimy5464

dimy5464

Ver Respostas

ola bom dia
[09:17]Dimy: queria tirar umas duvidas
[09:17]Dimy: eu criei um qrcode
[09:17]Dimy: porem ao fazer o apgamento
[09:17]Dimy: da q o qrcode esta invalido
[09:17]Dimy: estou o sdk-node-apis-efi
[09:17]Dimy: codigo usado const efiPay = new EfiPay(efiCredentials)
const body = {
calendario: {
expiracao: expiration,
},
devedor: {
cpf: userCpf,
nome: userName,
},
valor: {
original: value.toFixed(2),
},
chave: process.env.PIX,
}

const pix = await efiPay.pixCreateImmediateCharge([], body)
console.log(pix)
const params = {
id: pix.loc.id,
}
const qrCode = await efiPay.pixGenerateQRCode(params)
return { qrCode, pix }

# devs
Avatar discord do usuario dimy5464

dimy5464

codigo usado const efiPay = new EfiPay(efiCredentials)
const body = {
calendario: {
expiracao: expiration,
},
devedor: {
cpf: userCpf,
nome: userName,
},
valor: {
original: value.toFixed(2),
},
chave: process.env.PIX,
}

const pix = await efiPay.pixCreateImmediateCharge([], body)
console.log(pix)
const params = {
id: pix.loc.id,
}
const qrCode = await efiPay.pixGenerateQRCode(params)
return { qrCode, pix }

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