Histórico

EXIBINDO CONVERSAS RECENTES:

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

joaolucas_efi

Ver RespostasVer no Discord

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

Avatar discord do usuario jonadabir

jonadabir

Ver RespostasVer no Discord

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

Avatar discord do usuario jonadabir

jonadabir

Ver no Discord

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

Avatar discord do usuario jonadabir

jonadabir

Ver no Discord

houve um equivoco de minha parte, funcionou sim

Avatar discord do usuario jonadabir

jonadabir

Ver no Discord

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

Avatar discord do usuario jonadabir

jonadabir

Ver no Discord

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

Avatar discord do usuario jonadabir

jonadabir

Ver no Discord

acho que o problema esta no agente

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver RespostasVer no Discord

@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 RespostasVer no Discord

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

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver RespostasVer no Discord

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

Avatar discord do usuario jonadabir

jonadabir

Ver RespostasVer no Discord

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

Ver no Discord

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

Avatar discord do usuario cairogreco

cairogreco

Ver no Discord

Pois, aqui no meu caso, estou tenho uma rota app.meudominio.com ao qual eu não desejo autenticar por mTLS e uma rota wh.meudominio.com só pra receber o callback dos pagamentos.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver RespostasVer no Discord

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

Avatar discord do usuario cairogreco

cairogreco

Ver RespostasVer no Discord

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 _josemax

_josemax

Ver no Discord

preciso estornar compras no cartão via api