Histórico de mensagens em pix

EXIBINDO CONVERSAS RECENTES:

Canal: pix
Avatar discord do usuario andreimaraujo

andreimaraujo

data: {
nome: 'json_invalido',
mensagem: 'Valores ou tipos de campo inválidos',
erros: [Array]
}

Avatar discord do usuario andreimaraujo

andreimaraujo

está funcionando, no entanto

Avatar discord do usuario jessica_efi

jessica_efi

você inseriu o /v2 na url?

Avatar discord do usuario andreimaraujo

andreimaraujo

Error: Request failed with status code 400

Avatar discord do usuario andreimaraujo

andreimaraujo

consegui, quer dizer... Deu erro, mas pelo menos o erro mudou kkkkk

Avatar discord do usuario jessica_efi

jessica_efi

Toda requisição que você fizer, é necessário realizar a autenticação, ou seja, em todas você deve passar o certificado.

Avatar discord do usuario andreimaraujo

andreimaraujo

pensei que só havia necessidade de passar isso na autenticação

Avatar discord do usuario jessica_efi

jessica_efi

isso mesmo <@!401626142735466506>

Avatar discord do usuario andreimaraujo

andreimaraujo

Ver Respostas

esse httpsAgent, eu passo isso n é?

Avatar discord do usuario andreimaraujo

andreimaraujo

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

Avatar discord do usuario andreimaraujo

andreimaraujo

Ver Respostas

entendi, meu erro foi n ter passado o certificado

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Um exemplo de requisição em JS:

js
criarCobrancaImediata(body, token) {
let requisicao = {
method: 'POST',
url: config.pix_url_cob,
headers: {
authorization: 'Bearer ' + token,
'Content-Type': 'application/json',
},
httpsAgent: config.agent,
data: body,
};
const response = axios(requisicao)
.then()
.catch((error) => {
console.log(error.response.data);
});

return response.data;
}
A url e o body seguem o padrão que informei:
url: https://api-pix-h.gerencianet.com.br/v2/cob
body:
{
"calendario": {
"expiracao": 3600
},
"devedor": {
"cnpj": "12345678000195",
"nome": "Empresa de Serviços SA"
},
"valor": {
"original": "00.01"
},
"chave": "sua_chave",
"solicitacaoPagador": "Serviço realizado.",
"infoAdicionais": [
{
"nome": "Despache",
"valor": "placa de carro"
},
{
"nome": "Campo 2",
"valor": "Informação Adicional2 do PSP-Recebedor"
}
]
}

Avatar discord do usuario alisonoliveira10655

alisonoliveira10655

Ver Respostas

Certo, no caso o meu Virtual Host é o API Gateway, e lá ele pede pra que eu coloque o Truststore em .pem, porém o que vocês me fornece está em .crt. O que eu devo fazer para fazer para que aconteça o hand-shake?

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

O escopo não precisa ser enviado. Remove essa linha e ve se vai continuar a falha

Avatar discord do usuario andreimaraujo

andreimaraujo

Ver Respostas

esse cob.write, tenho que enviar no scope, né?

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

O .p12 é para realizar as requisições como a autenticação, o .crt deve ser inserido em seu Virtual Host que vamos utilizar para enviar as requisições e verificar se o seu domínio está apto pra o hand-shake do mTLS.

Avatar discord do usuario jessica_efi

jessica_efi

<@!401626142735466506> acredito que esse grant_type: 'cob.write' não é enviado no data. Tenta remover essa linha

Avatar discord do usuario andreimaraujo

andreimaraujo

Ver Respostas

a forma de envio é essa mesmo?

Avatar discord do usuario alisonoliveira10655

alisonoliveira10655

Ver Respostas

Essa é a questão. "Estar devidamente com o certificado inserido" que até agora não entendi. Se eu simplesmente utilizo o "https://pix.gerencianet.com.br/webhooks/chain-pix-prod.crt" e gero um .pem dele ou se preciso associar ao meu certificado .p12 de produção que recebi via ticket.

Avatar discord do usuario andreimaraujo

andreimaraujo

const data = JSON.stringify({
grant_type: 'cob.write',
calendario: {
expiracao: 3600,
},
devedor: {
cpf: '12345678909',
nome: 'Francisco da Silva',
},
valor: {
original: value,
},
chave: key,
solicitacaoPagador: 'Cobrança dos serviços prestados.',
});

isso aqui tá certo?