Histórico de mensagens

EXIBINDO CONVERSAS RECENTES:

Data: 03/03/2025
# devs
Avatar discord do usuario jessica_efi

jessica_efi

Mas a API cobranças não utiliza certificado. Então essa falha não é da nossa API.

# devs
Avatar discord do usuario znuuxx

znuuxx

Então, eu não alterei nada... como você vê no snippet, só acrescentei meu client_id e o secret... e da erro de certificado

# devs
Avatar discord do usuario jessica_efi

jessica_efi

não é necessário alterar nada na sdk pra executar esse exemplo.

# devs
Avatar discord do usuario jessica_efi

jessica_efi

executando esse exemplo não é necessário o certificado. Você vai informar apenas o client_id e client_secret nesse arquivo

# devs
Avatar discord do usuario jessica_efi

jessica_efi

O certificado é necessário em todas as APIs, exceto a de Cobranças. Ou seja, como você esta criando um boleto, não é necessário usar certificado.

# devs
Avatar discord do usuario znuuxx

znuuxx

Não to entendendo mais nada...
Num canto diz que precisa do Oauth, no outro fala que precisa de certificado, ai coloco com ou sem certificado da erro de certificado...

# devs
Avatar discord do usuario znuuxx

znuuxx

Acabei de rodar isso aqui que esta na doc do API Cobrança:

const https = require("https");
var axios = require("axios");
var fs = require("fs");
const efiOptions = require('./src/config/efi-config')

var data = JSON.stringify({ grant_type: "client_credentials" });
var data_credentials = efiOptions.client_id + ":" + efiOptions.client_secret;

// Codificando as credenciais em base64
var auth = Buffer.from(data_credentials).toString("base64");

//Consumo em desenvolvimento da rota post oauth/token
var config = {
method: "POST",
url: "https://cobrancas-h.api.efipay.com.br/v1/authorize",
headers: {
Authorization: "Basic " + auth,
"Content-Type": "application/json",
},
data: data,
};

axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});

E ta dando erro de certificado:

$ node teste.js
AxiosError: self-signed certificate in certi
ficate chain

# devs
Avatar discord do usuario jessica_efi

jessica_efi

Executei o exemplo createCharge com sucesso

# devs
Avatar discord do usuario jessica_efi

jessica_efi

eu acabei de fazer um teste nessa versão da api e rodou com sucesso.

# devs
Avatar discord do usuario jessica_efi

jessica_efi

Para a api cobranças (boleto, cartão...) não é necessário certificado em nenhum requisição. O certificado só é necessário nas demais apis

# devs
Avatar discord do usuario znuuxx

znuuxx

@jessica_efi Precisa de certificado para o Oauth, certo?

# devs
Avatar discord do usuario znuuxx

znuuxx

Acabei de dar um copia e cola desse snippet na doc de vocês:

//Desenvolvido pela Consultoria Técnica da Efí

"use strict";
const https = require("https");
var axios = require("axios");
var fs = require("fs");

//Insira os valores de suas credenciais em desenvolvimento do pix
var credenciais = {
client_id: "YOUR-CLIENT-ID",
client_secret: "YOUR-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");

//Consumo em desenvolvimento da rota post oauth/token
var config = {
method: "POST",
url: "https://cobrancas-h.api.efipay.com.br/v1/authorize",
headers: {
Authorization: "Basic " + auth,
"Content-Type": "application/json",
},
data: data,
};

axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});

O erro:
$ node teste.js
node:internal/validators:162
throw new ERR_INVALID_ARG_TYPE(name, 'st
ring', value);
^

TypeError [ERR_INVALID_ARG_TYPE]: The "paths
[1]" argument must be of type string. Receiv
ed undefined

# devs
Avatar discord do usuario znuuxx

znuuxx

Ver Respostas

Sim, tudo instalado sem warnings

# devs
Avatar discord do usuario znuuxx

znuuxx

Qual é a doc oficial do sdk da api de cobrança com nodejs?
Porque nas docs mostram uns métodos mas não vejo importar o sdk em nenhum

# devs
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

qual você executou o comando npm install sdk-node-apis-efi instalou com sucesso?

# devs
Avatar discord do usuario jessica_efi

jessica_efi

Para você visualizar os campos obrigatórios, é so clicar no botão Consultar atributos
imagem enviada na mensagem pelo usuario jessica_efi

# devs
Avatar discord do usuario znuuxx

znuuxx

@jessica_efi Crie um arquivo teste.js:
const EfiPay = require('sdk-node-apis-efi')
const efiOptions = require('./src/config/efi-config');


const efipay = new EfiPay(efiOptions)

let chargeInput = {
items: [
{
name: 'Product A',
value: 1000,
amount: 2,
},
],
}

efipay.createCharge({}, chargeInput)
.then((resposta) => {
console.log(resposta)
})
.catch((error) => {
console.log(error)
})

Mas quando rodei com as mesmas credenciais, deu esse erro:

$ node teste.js
node:internal/validators:162
throw new ERR_INVALID_ARG_TYPE(name, 'st
ring', value);
^

TypeError [ERR_INVALID_ARG_TYPE]: The "paths
[1]" argument must be of type string. Receiv
ed undefined

Na doc não achei quais são os campos obrigatórios... apenas esse trecho de código

# devs
Avatar discord do usuario znuuxx

znuuxx

"sdk-node-apis-efi": "^1.2.17",