Configuração de Webhook e Certificados para Integração

EXIBINDO RESPOSTAS:

Avatar discord do usuario rubenskuhl

rubenskuhl

O exemplo da consultoria da Gerencianet para Express é assim:

const express = require("express");
const fs = require("fs");
const https = require("https");
const bodyParser = require("body-parser");
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(bodyParser.json());
app.use(bodyParser.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();
}
});

Avatar discord do usuario leonardo_apereira

leonardo_apereira

A minha esta igual.. só muda a porta mesmo .. eu renovei os certificados .. o webhook sem o certificado publico da Gerencianet esta funcionando ..

Avatar discord do usuario rubenskuhl

rubenskuhl

Mas se você consegue acessar o webhook, está errado. Pois você não tem a credencial da Gerencianet.

Avatar discord do usuario leonardo_apereira

leonardo_apereira

Testei o codigo com webhook que não é da Gerencianet, e funcionou..

Avatar discord do usuario rubenskuhl

rubenskuhl

Só se for algum PSP que não checa mTLS. No caso da API Pix, em seguindo o padrão do BACEN, acesso não identificado não pode funcionar.