Bom dia, estou com problema na autenticação:
"Could not authenticate. Please make sure you are using correct credentials and if you are using then in the correct environment"
Termos mais procurados:
Termos mais procurados:
Bom dia, estou com problema na autenticação:
"Could not authenticate. Please make sure you are using correct credentials and if you are using then in the correct environment"
Bom dia, @danilowiener. Tudo bem?
Você pode usar o seguinte conversor também desenvolvido por nossa equipe.
https://efipay.github.io/encode-credentials/certificado.html
{{rota_base_pix}}/oauth/token estou tentando fazer Send na Homologação (clientid, clientsecret e certificado) traz Could not send request....em Produção "error": "invalid_client",
"error_description": "Invalid or inactive credentials"
Bom dia, @elielpsoares. Tudo bem?
O grant_type deve ser uma string, assim var data = JSON.stringify({ "grant_type": "client_credentials" });.
Vi que na documentação está como você fez, vamos providenciar a atualização.
Para facilitar sua integração, você pode também usar nossa SDK de node: https://github.com/efipay/sdk-node-apis-efi
Nela já é feito o processo de autenticação e possui exemplos de para todos os endpoints das nossas APIs.
Boa noite pessoal, estou iniciando a configuração da api de pagamentos no meu projeto, porém estou tendo esse problema ao utilizar o sdk do typescript.
Boa tarde! Estou tendo esse erro aqui: error_description: 'Invalid or inactive credentials'
Já verifiquei as credenciais várias vezes, alguem pode me ajudar?
const EfiPay = require('sdk-node-apis-efi')
const options = require('../../credentials')
let params = {
id: 0,
}
const efipay = new EfiPay(options)
efipay.detailCharge(params)
.then((resposta) => {
console.log(resposta)
})
.catch((error) => {
console.log(error)
})
Boa tarde, referente a essas credenciais na SDK Flutter:
Map credentials = {
'client_id': '',
'client_secret': '',
'account_id': '',
'sandbox': false,
'certificate': '',
'private_key': ''
};
'account_id' é o número da conta? se sim, apenas números (0000000) ou com traço (000000-0)?
'private_key' é exatamente o quê?
agradeço desde já 😄
https://github.com/efipay/sdk-dart-apis-efi/blob/main/example/credentials.dart
oi, gente!
Seguindo as instruções da documentação do PIX: https://dev.efipay.com.br/docs/api-pix/credenciais/
Baixei a collection no Postman e configurei tudo. Certificados e variáveis ok. Tentando autenticar ainda. Recebo o seguinte erro:
Tentando 54.242.231.66:443... Conectado ao pix-h.api.efipay.com.br (54.242.231.66) porta 443 (#0) ALPN, oferecendo http/1.1 CAfile: /etc/ssl/ certs/ca-certificates.crt CApath: /etc/ssl/certs Conexão SSL usando TLSv1.3 / TLS_AES_256_GCM_SHA384 ALPN, servidor aceito para usar http/1.1 Certificado do servidor: subject: C=BR; ST=MINAS GERAIS; L=OURO PRETO; O=EFI SA - INSTITUIÇÃO DE PAGAMENTO; CN=.api.efipay.com.br data de início: 17 de maio 19:31:27 2023 GMT data de expiração: 17 de junho 19:31:26 2024 GMT subjectAltName: host "pix-h.api.efipay. com.br" certificado correspondente ".api.efipay.com.br" emissor: C=BE; O=GlobalSign nv-sa; CN=GlobalSign RSA OV SSL CA 2018 Certificado SSL verificado ok. > PUT /v2/webhook/9f86e12a-370d-44dd-bd47-4b6a0b17bae5 HTTP/1.1 Host: pix-h.api.efipay.com.br User-Agent: GuzzleHttp/7 Content-Type: application/json Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 ..VrAQ4hHRYVRvl9dzWsvX79j_VvtOcz-fSvo0LxuaQgY api-sdk: efi-php-1.6.1 x-skip-mtls-checking: false Content-Length: 51 ID de sessão SSL antigo está obsoleto, removendo Marcar pacote como não compatível com multiuso < HTTP/1.1 400 Solicitação incorreta Conexão #0 ao host pix-h.api.efipay.com.br deixada intacta 400
webhook_invalido Uma URL informada respondeu com o código HTTP 400
Trying 54.242.231.66:443... Connected to pix-h.api.efipay.com.br (54.242.231.66) port 443 (#0) ALPN, offering http/1.1 CAfile: /etc/ssl/certs/ca-certificates.crt CApath: /etc/ssl/certs SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 ALPN, server accepted to use http/1.1 Server certificate: subject: C=BR; ST=MINAS GERAIS; L=OURO PRETO; O=EFI S.A. - INSTITUICAO DE PAGAMENTO; CN=.api.efipay.com.br start date: May 17 19:31:27 2023 GMT expire date: Jun 17 19:31:26 2024 GMT subjectAltName: host "pix-h.api.efipay.com.br" matched cert's ".api.efipay.com.br" issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign RSA OV SSL CA 2018 SSL certificate verify ok. > POST /oauth/token HTTP/1.1 Host: pix-h.api.efipay.com.br api-sdk: efi-php-1.6.1 User-Agent: GuzzleHttp/7 Content-Type: application/json Authorization: Basic Q2xpZW50X0lkXzlmMzFlNDA2MTE5MzkzZGJhYWRkMmEyN2FhOGM4YTVlYTdjZWY1ZTM6Q2xpZW50X1NlY3JldF83ZmM0MmU3NTMxNDgxY2UzYjcwNDg2NGIyZTJiZWI3YTQ5NGQyYjI5 Content-Length: 35 old SSL session ID is stale, removing Mark bundle as not supporting multiuse < HTTP/1.1 401 Unauthorized < Server: nginx < Date: Wed, 10 Jan 2024 16:00:20 GMT < Content-Type: application/json; charset=utf-8 < Content-Length: 80 < Connection: keep-alive < x-request-id: 411782c3-632f-4de9-9dda-b8f4231547f4 < vary: Origin < access-control-allow-credentials: true < cache-control: no-store < pragma: no-cache < www-authenticate: Basic realm="Efi",error:"invalid_client",error_description:"Invalid or inactive credentials" < etag: W/"50-mYFuecoP6wm/sG/LkLliU5qp17I" < Connection #0 to host pix-h.api.efipay.com.br left intact 401
invalid_client
Invalid or inactive credentials
debugando descobrir que o dicionáro CREDENTIALS ao gerar um boleto tinha sua chave 'certificate' anulada(None)
analisei bem e isso deve ser um erro na SDK de python
Bom dia, tudo certo?
Estou com um outro projeto usando api pix de vcs e ao gerar o token, estou tendo esse erro como retorno:
Erro de geração token: Error: not enough data
este é minha requisição para obter o token:
method: "POST",
url: https://pix.api.efipay.com.br/oauth/token,
headers: {
Authorization: Basic ${credentials},
"Content-Type": "application/json"
},
httpsAgent: agent,
data: {
grant_type: "client_credentials"
}
já verifiquei para ver se era problemas na variável credentials ou no meu agent mas ambos estão ok, lendo certificado e criando a credentials corretamente, conseguem me dar um norte de como resolver isso?
@guilherme_efi estou passando esse payload para a classe EfiPay(credentials)
Bom dia pessoal, estou tentando utilizar a sdk python para fazer authenticação e gerar uma cobrança pix. mas estou recebendo o seguinte erro: { 'Status': 401, 'Message': 'Could not authenticate. Please make sure you are using correct credentials and if you are using then in the correct environment.' }
estou passando um certificado .pem como a documentação descreve.
tmb verifiquei se estou passando as credenciais certas.
alguem já teve esse erro que me possa da uma luz ?
Em Node por exemplo, temos o seguinte exemplo:
Boa noite, posso adicionar conteúdo do arquivo do meu certificado diretamente no campo especificado, ao invés do caminho para o arquivo? (CREDENTIALS = {
'client_id': '',
'client_secret': '',
'sandbox': False,
'certificate': 'Salvo em BD'
}), meu certificado está salvo em banco de dados. e ao recupera-lo recebo o conteúdo do arquivo.
Meu código: const https = require("https");
var axios = require("axios");
var fs = require("fs-extra");
const express = require("express");
const router = express.Router();
router.post("/", (req, res) => {
//Insira o caminho de seu certificado .p12 dentro de seu projeto
var certificado = fs.readFileSync(
"./.p12"
);
//Insira os valores de suas credenciais em desenvolvimento do pix
var credenciais = {
client_id: "",
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://pix.api.efipay.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));
return res.json({ data: response });
})
.catch(function (error) {
console.log(error);
return res.json({ error: error });
});
});
module.exports = router;