Histórico de mensagens sobre url em pix

EXIBINDO CONVERSAS RECENTES:

Texto: url
Canal: pix
Avatar discord do usuario huggler6815

huggler6815

bom dia @joao_efi
como que eu apresento a imagem do qr-code gerado para o cliente final?
exmplo.... eu recebo esse JSON da resposta do pixCreateCharge
{"calendario":{"criacao":"2022-04-08T14:52:34.669Z","expiracao":3600},"txid":"5bd2ac95166f4d678ae137ba3d8271f3","revisao":0,"loc":{"id":3,"location":"qrcodes-pix.gerencianet.com.br/v2/7b1f92e5e06449088ec22fc019b4cdca","tipoCob":"cob","criacao":"2022-04-08T14:52:34.691Z"},"location":"qrcodes-pix.gerencianet.com.br/v2/7b1f92e5e06449088ec22fc019b4cdca","status":"ATIVA","devedor":{"cpf":"32604226847","nome":"felipe huggler luz"},"valor":{"original":"1.99"},"chave":"231240f6-7b8e-4b46-8a67-82997fd7eb22","solicitacaoPagador":"Informe o número ou identificador do pedido. - [email protected]"}
vi que tem o location, que vem uma url
qrcodes-pix.gerencianet.com.br/v2/7b1f92e5e06449088ec22fc019b4cdca
tem que ter algum tratamento?

Avatar discord do usuario galiazzi.dayan

galiazzi.dayan

boa tarde

Estou tendo o seguinte retorno ao configurar a url webhook:

Endpoint request timed out

Teriam como averiguar nos logs, o que pode estar ocorrendo?

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, <@!497216352562577408>. Tudo ótimo e com você?
Infelizmente não. Através do endpoint PUT /v2/webhook/:chave (https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-configurar-o-webhook-pix), é possível definir somente um webhookUrl para cada chave pix.

Avatar discord do usuario marcondesnilson

marcondesnilson

{
"nome": "webhook_invalido",
"mensagem": "A autenticação de TLS mútuo não está configurada na URL informada"
}

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Segue o exemplo:


$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-pix-h.gerencianet.com.br/oauth/token',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"grant_type": "client_credentials"
}',
CURLOPT_HTTPHEADER => array(
'x-client-cert-pem: {{X-Certificate-Pem}}',
'Authorization: Basic (client id e secret em base64)',
'Content-Type: application/json'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Avatar discord do usuario rozer9580

rozer9580

x-amzn-requestid: 9367a7d9-a47b-4002-a7d2-9f5344a21e93
content-length: 70
x-amzn-remapped-content-length: 70
x-amzn-remapped-connection: keep-alive
x-request-id: ab5e47a4-28f2-4e94-84d0-9e7a8a1c456b
x-amz-apigw-id: P59iyGQhoAMFxFw=
vary: Origin
etag: W/"46-XAD/Fng+Qq6nuJUwSmDmoLFq8bc"
x-amzn-remapped-date: Fri, 01 Apr 2022 14:43:55 GMT
access-control-allow-credentials: true
content-type: application/json; charset=utf-8
date: Fri, 01 Apr 2022 14:43:55 GMT

{"nome":"erro_interno_servidor","mensagem":"Erro interno do servidor"}ArrayCurl info:

Avatar discord do usuario rozer9580

rozer9580

function gerenciaPay(){

$url = "https://api-pix-h.gerencianet.com.br/oauth/token";
try{
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, base64_encode("Client_Id_" . ":" . "Client_Secret_") );
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json,application/octet-stream'));
curl_setopt($curl, CURLOPT_SSLCERTTYPE, "P12");
curl_setopt($curl, CURLOPT_SSLCERT, 'homologacao-
');
// curl_setopt($curl, CURLOPT_SSLCERTPASSWD, 'senha do certificado');
// curl_setopt($curl, CURLOPT_SSLKEYPASSWD, 'senha do certificado');

$resp = curl_exec($curl);

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, e o PSP Pix sempre adiciona /pix à URL que você passa.

Avatar discord do usuario darthsouza

darthsouza

Ver Respostas

/pix é obrigatório na URL do webhook?
imagem enviada na mensagem pelo usuario darthsouza

Avatar discord do usuario rubenskuhl

rubenskuhl

Mas como você vai ter que usar outro hostname por causa da Cloudflare, vai ficar mais simples, pq toda URL nesse hostname pode exigir mTLS

Avatar discord do usuario darthsouza

darthsouza

Tô acostumado a mandar a URL junto com a criação do Pix

Avatar discord do usuario wedson_cross1462

wedson_cross1462

Bom dia pessoal mais uma vez aqui com dificuldade no webhook, recebo o erro 403 na requisição para registrar a url que receberá as notificações eu não consigo debugar para saber o que esse erro quer dizer a gerencianet não me da uma pista para poder corrigir

Avatar discord do usuario claudiohenrique0728

claudiohenrique0728

Ver Respostas

Mesma logica, colocar o certificado da GN e define a URL da sua api que se faz obrigatório que o certificado se faça presente na request.

Avatar discord do usuario hubner7903

hubner7903

Ver Respostas

parseJwt(token) {
var base64Url = token.split('.')[1];
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
var jsonPayload = decodeURIComponent(atob(base64).split('').map(function (c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));

return JSON.parse(jsonPayload);
}

Avatar discord do usuario hubner7903

hubner7903

let https = require('https');
let agent = new https.Agent({
pfx: certificado,
passphrase: ''
})

var axios = require('axios');
var data = JSON.stringify({ grant_type: 'client_credentials'});

var config = {
method: 'post',
url: 'https://api-pix-h.gerencianet.com.br/oauth/token',
headers: {
'Authorization':
Basic ${base64},
'Content-Type': 'application/json',

},
httpsAgent: agent,
data: data
};

try {
const response = await axios.request(config);
return response.data
} catch (error) {
console.error(error);
}

Avatar discord do usuario joao_efi

joao_efi

Com o axios, tente algo nessa linha..

ts
const requisicao = {
method: 'POST',
url: 'https://api-pix-h.gerencianet.com.br/oauth/token',
headers: {
Authorization: Basic ${base64},
'Content-Type': 'application/json',
},
httpsAgent: config.agent,
data: JSON.stringify({ grant_type: 'client_credentials' }),
};

let userToken = axios(requisicao)
.then((response) => {
console.log(response);
return response.data.access_token;
})
.catch((error) => {
console.error(error);
});

return userToken;

Avatar discord do usuario hubner7903

hubner7903

app.use(json({ limit: '50mb' }));
app.use(urlencoded({ extended: true, limit: '50mb' }));

Avatar discord do usuario hubner7903

hubner7903

const certificado = await this.movimentoService.certificado_gn();
const client_id = await this.movimentoService.client_id_gn();
const client_secret = await this.movimentoService.client_secret_gn();
const base64 = Buffer.from(${client_id}:${client_secret}).toString("base64");

let https = require('https');
let agent = new https.Agent({
pfx: certificado,
passphrase: ''
})

var axios = require('axios');
var data = JSON.stringify({ grant_type: 'client_credentials'});

var config = {
method: 'post',
url: 'https://api-pix-h.gerencianet.com.br/oauth/token',
headers: {
'Authorization': Basic ${base64},
'Content-Type': 'application/json',

},
httpsAgent: agent,
data: data
};

console.log(config)
console.log('=======================================================================')
try {
const response = await axios.request(config);
return response.data
} catch (error) {
console.error(error);
}

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Se houver URL cadastrada para o envio da notificação, sim.

Avatar discord do usuario angelobestetti

angelobestetti

Ver Respostas

alguem sabe como resolver o problema "A autenticação de TLS mútuo não está configurada na URL informada"? estou utilizando o codigo fornecido pela propria gerencianet em nodejs e esta publicado ja em servidor dedicado e mesmo assim ainda estou recebendo esta msg do tls