Histórico de mensagens sobre an em devs

EXIBINDO CONVERSAS RECENTES:

Texto: an
Data: 24/05/2024
Canal: devs
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Por nada!
Precisando é só chamar.

Avatar discord do usuario jonadabir

jonadabir

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

Avatar discord do usuario jonadabir

jonadabir

Ver Respostas

mas parece que ta ignorando isso e pasasndo o Basic token

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 joaolucas_efi

joaolucas_efi

Ver Respostas

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

Avatar discord do usuario jonadabir

jonadabir

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

Avatar discord do usuario jonadabir

jonadabir

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

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 rubenskuhl

rubenskuhl

Ver Respostas

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

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

Avatar discord do usuario cairogreco

cairogreco

Então, estou configurando ele pra exigir o mTLS só nesse subdomínio em específico

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Legal, se funcionar vai ser uma opção interessante.

Avatar discord do usuario cairogreco

cairogreco

Ver Respostas

Tem sim @rubenskuhl! Já tenho uma certa afinidade com a ferramenta, queria somente comparar o conceito que eu estou montando com alguém que já use em produção.
imagem enviada na mensagem pelo usuario cairogreco

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @_josemax!
Atualmente não temos na API esta funcionalidade. Mas você pode fazer o estorno de pagamento realizado por cartão de crédito através do painel da Efí. Veja aqui os detalhes de como fazer.