Histórico de mensagens sobre PIX em devs

EXIBINDO CONVERSAS RECENTES:

Texto: PIX
Data: 24/05/2024
Canal: 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;
});

Avatar discord do usuario jonadabir

jonadabir

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

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;
};

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

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;
};