Histórico de mensagens sobre n

EXIBINDO CONVERSAS RECENTES:

Texto: n
Data: 24/05/2024
# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Nenhuma das duas deveria ter url encoded. só json e jose

# pix
Avatar discord do usuario ronierys2

ronierys2

Ver Respostas

achei o problema!

para requisições cob: criar, consultar, cancelar e pix: consultar estou fazendo assim e esta funcionando: ContentType := 'application/json; application/x-www-form-urlencoded; charset=UTF-8;';

para o solicitação de devolução de pix so funcionou assim: ContentType := 'application/json';

# cartões
Avatar discord do usuario edufaria7

edufaria7

Obrigado pelas informações!

# devs
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Por nada!
Precisando é só chamar.

# devs
Avatar discord do usuario jonadabir

jonadabir

tentei até passar direto ali na chamada do cob mas ele continua usando o Basic

# devs
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

De fato o que deve ser enviado é um Bearer ao invés do Basic

# devs
Avatar discord do usuario jonadabir

jonadabir

Ver Respostas

mas parece que ta ignorando isso e pasasndo o Basic token

# devs
Avatar discord do usuario jonadabir

jonadabir

Ver Respostas

to passando as infos do header por interceptors

ts
efiPixApiHomolog.interceptors.request.use(async (config) => {
const auth = await getPixAuthorization();

config.headers.Authorization = Bearer ${auth.access_token};
config.httpsAgent = agent;

return config;
});

# devs
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Como você esta montando a requisição dessa rota?

# devs
Avatar discord do usuario jonadabir

jonadabir

Ver Respostas

data: {
error: 'invalid_token',
error_description: 'Malformed authorization header'
}

# devs
Avatar discord do usuario jonadabir

jonadabir

o erro que esta dando é na rota de cobrança

# devs
Avatar discord do usuario jonadabir

jonadabir

houve um equivoco de minha parte, funcionou sim

# devs
Avatar discord do usuario jonadabir

jonadabir

é, mesmo passando o agent certinho agr, deu o mesmo erro

# devs
Avatar discord do usuario jonadabir

jonadabir

hostname: 'pix-h.api.efipay.com.br',
port: '',
agent: undefined,

# devs
Avatar discord do usuario jonadabir

jonadabir

acho que o problema esta no agente

# devs
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

@jonadabir há uma falha na forma com que você está montando a requisição.

Ela deve ser da seguinte forma:

js
const certificatePath = path.join(
__dirname,
'../../../certificates/pix_certificate.p12',
);

const certificate = fs.readFileSync(certificatePath);

const getPixAuthorization = async () => {
const agent = new https.Agent({
pfx: certificate,
passphrase: '',
});

let authParams = {
method: 'POST',
url: 'https://pix-h.api.efipay.com.br/oauth/token',
data: {
grant_type: 'client_credentials',
},
httpsAgent: agent,
};
let token = Buffer.from(credentials.client_id + ':' + credentials.client_secret).toString('base64')
authParams.headers['Authorization'] = 'Basic ' + token
authParams.headers['Content-Type'] = 'application/json'
const authRes = await axios(authParams);

return authRes.data;
};

# devs
Avatar discord do usuario jonadabir

jonadabir

Ver Respostas

entao, mas eu estou mandando o certificado nessa requisiçao, é a unica que estou fazendo de pix

# devs
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Você precisa mandar também o certificado em todas as requisições.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não converta números monetários para float. Remova a vírgula e trate internamente como um número inteiro de centavos.

# devs
Avatar discord do usuario jonadabir

jonadabir

Ver Respostas

estou tentando fazer a req de obter autorização PIX porem estou recebendo o seguinte erro:

ts
cause: Error: socket hang up
at TLSSocket.socketOnEnd (node:_http_client:524:23)
at TLSSocket.emit (node:events:531:35)
at endReadableNT (node:internal/streams/readable:1696:12)
at processTicksAndRejections (node:internal/process/task_queues:82:21) {
code: 'ECONNRESET'
}
Meu código:
ts
const certificatePath = path.join(
__dirname,
'../../../certificates/pix_certificate.p12',
);

const certificate = fs.readFileSync(certificatePath);

const getPixAuthorization = async () => {
const agent = new https.Agent({
pfx: certificate,
passphrase: '',
});

const authParams = {
method: 'POST',
url: 'https://pix-h.api.efipay.com.br/oauth/token',
auth: {
username: credentials.client_id,
password: credentials.client_secret,
},
data: {
grant_type: 'client_credentials',
},
httpsAgent: agent,
};

const authRes = await axios(authParams);

return authRes.data;
};