Histórico de mensagens sobre url em pix

EXIBINDO CONVERSAS RECENTES:

Texto: url
Canal: pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, <@!873657261153742849>! Tudo bem?
No PHP você está usando nossa SDK? Ou o cURL, por exemplo?

Se estiver usando a SDK, o que deve alternar entre os ambientes é mesmo as credenciais, certificado, e também o parâmetro sandbox para false
https://github.com/gerencianet/gn-api-sdk-php/blob/master/examples/config.json

Avatar discord do usuario united_quail_18054

united_quail_18054

curl -v https://xxxxxxxxxxxxxxxxxxx.com/webhook --key my_client.key --cert my_client.pem

linha relevante:

> subjectAltName: host "xxxxxxxxxxxx.com" matched cert's "xxxxxxxxxxxx.com"

Avatar discord do usuario united_quail_18054

united_quail_18054

Ver Respostas

boa tarde pessoal, estou tentando cadastrar uma url webhook aqui, mas estou recebendo o seguinte erro:

{
"nome": "webhook_invalido",
"mensagem": "A requisição na URL informada falhou com o erro: ERR_TLS_CERT_ALTNAME_INVALID"
}

esse erro dá a entender que o servidor da Gerencianet não está aceitando o certificado que o meu servidor está fornecendo.. no entanto, quando eu tento diagnosticar através do comando openssl s_client -connect [url] tudo funciona normalmente, com o campo CN representando exatamente o meu domínio..

alguém poderia me auxiliar nesse problema? tenho um ticket aberto também mas foi sugerido esse canal complementar

Avatar discord do usuario nicolaujr.

nicolaujr.

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

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não, a requisição de teste é feita sempre sem o final /pix, apesar da requisição quando de um efetivo pagamento ser com /pix.
E você não precisa colocar o /pix, a GN vai colocar.

Então seu sistema precisa responder corretamente na URL cadastrada e mais na URL com /pix adicionado.

Avatar discord do usuario nicolaujr.

nicolaujr.

Ver Respostas

json
{
"nome": "webhook_invalido",
"mensagem": "A URL informada respondeu com o código HTTP 500"
}

Avatar discord do usuario ezequiel_tav

ezequiel_tav

Ver Respostas

Ola pessoal. Configurei certinho a parte de certificados porém utilizando o SDK do typescript obtenho esse erro:

"message": {
"nome": "webhook_invalido",
"mensagem": "A requisição na URL informada falhou com o erro: UNABLE_TO_VERIFY_LEAF_SIGNATURE"
},

Avatar discord do usuario koda05529

koda05529

Ver Respostas

A autenticação de TLS mútuo não está configurada na URL informada

Avatar discord do usuario schoeps2724

schoeps2724

Ver Respostas

ustilizo curl_setopt_array($curl, array(
CURLOPT_URL => $vrota,
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_SSLCERT => $config['certificado'],
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O que o https://www.ssllabs.com/ssltest/ diz dessa URL que está dando esse erro ?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

requestCert tem que ser true, rejectUnauthorized false.

const express = require("express");
const fs = require("fs");
const https = require("https");
var logger = require('morgan');

const httpsOptions = {
cert: fs.readFileSync(""), // Certificado fullchain do dominio
key: fs.readFileSync("/"), // Chave privada do domínio
ca: fs.readFileSync(""), // Certificado público da Gerencianet
minVersion: "TLSv1.2",
requestCert: true,
rejectUnauthorized: false, //Mantenha como false para que os demais endpoints da API não rejeitem requisições sem MTLS
};

const app = express();
const httpsServer = https.createServer(httpsOptions, app);
const PORT = 443;

app.use(logger('dev')); // Comente essa linha caso não queira que seja exibido o log do servidor no seu console
app.use(express.json());
app.use(express.urlencoded({ extended: false }));

// Endpoint para configuração do webhook, você precisa cadastrar https://SEUDOMINIO.com/webhook
app.post("/webhook", (request, response) => {
// Verifica se a requisição que chegou nesse endpoint foi autorizada
if (request.socket.authorized) {
response.status(200).end();
} else {
response.status(401).end();
}
});

// Endpoind para recepção do webhook tratando o /pix
app.post("/webhook/pix", (request, response) => {
if (request.socket.authorized){
//Seu código tratando a callback
/ EXEMPLO:
var body = request.body;
filePath = __dirname + "/data.json";
fs.appendFile(filePath, JSON.stringify(body) + "\n", function (err) {
if (err) {
console.log(err);
} else {
response.status(200).end();
}
})
/
response.status(200).end();
}else{
response.status(401).end();
}
});

httpsServer.listen(PORT, () =>
console.log(Express server currently running on port ${PORT})
);

Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Olá @Deleted User ! Boa tarde. Não sei se entendi ao certo sua dúvida mas quando uma cobrança Pix é paga enviamos uma requisição POST para a URL que você cadastrou como webhook. Cada requisição enviada possui um timeout de 60 segundos.
Vale lembrar que os callbacks são enviados para a url cadastrada acrescida de um '/pix', dessa forma: ​/pix.
Neste link da documentação detalhamos alguns exemplos do JSON enviado para a URL cadastrada: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-recebendo-callbacks

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não, e o teste que a GN faz é sem o /pix. Depois na hora de enviar ela adciona o /pix, mas o teste é feito na URL que vc informa.

Avatar discord do usuario israelbarbara.

israelbarbara.

Ver Respostas

Boa tarde pessoal!
Estou com o seguinte erro quando cadastro o webhook: {
"nome": "webhook_invalido",
"mensagem": "A autenticação de TLS mútuo não está configurada na URL informada"
}
Ja verifiquei algumas discussoes antigas sobre esse problema mas nao consegui identificar qual o meu problema. Li tambem a documentação do TLS da gerencianet e pelo que verifiquei parece estar correto. Alguem pode me ajudar aqui ou até me chamar no privado para me auxiliar? Obrigado!

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Bad Request pode ser caracter inválido na chamada... qual a URL exata sendo chamada ?

Avatar discord do usuario George Leite

George Leite

"Server returned HTTP response code: 400 for URL"

Avatar discord do usuario tiagobogoni

tiagobogoni

Ver Respostas

bom dia pessoa!
fui tentar registar meu webhook em produção e acabou dando esse rro
{
"nome": "webhook_invalido",
"mensagem": "A requisição na URL informada falhou com o erro: SELF_SIGNED_CERT_IN_CHAIN"
}
se alguem puder ajudar eu agradeço....

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Tiago a questão do time-out deve estar sendo uma resposta do Insomnia, as últimas requisições de cadastro que vi aqui tiveram como retorno:
"A autenticação de TLS mútuo não está configurada na URL informada".

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Sim... talvez esteja utilizando a url de homologação e as credenciais de produção, ou vice-versa.