Histórico de mensagens sobre webhook

EXIBINDO CONVERSAS RECENTES:

Texto: webhook
# pix
Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

Bom dia <@!327200217877446667> tudo bem? 🙂
Via webhook não é possível. Atualmente só são disparadas as callbacks para o webhook nos casos de:

- Pix Recebido
- Pix Devolvido (No caso pela sua própria aplicação)
- Pix Enviado (Transferência direta)

# pix
Avatar discord do usuario rickybgs

rickybgs

Ver Respostas

Bom dia, é possível saber pela API/webhook se um Pix enviado pela API foi estornado? Temos tido alguns casos em que logo após enviar um Pix pela API o mesmo é estornado automaticamente (o estorno não é feito pela pessoa que recebeu, deve ser um estorno automático). Isso tem acontecido algumas vezes por semana.

# pix
Avatar discord do usuario leonardo_apereira

leonardo_apereira

Ver Respostas

Beleza! Tudo bem? <@!795645731385901076>

Obrigado pela ajuda, segue:

const express = require("express");
const app = express();
const { WebhookClient } = require("dialogflow-fulfillment");
const bodyParser = require("body-parser");
const mysql = require ('mysql');
var logger = require('morgan');

////////////////// HTTPS
const fs = require("fs");
const https = require("https");
const options = {
key: fs.readFileSync("key.pem"),
cert: fs.readFileSync("cert.crt"),
ca: fs.readFileSync("chain-pix-prod.crt"),
minVersion: "TLSv1.2",
requestCert: true,
rejectUnauthorized: false
};
///////////////// HTTPS (FIM)

app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.static("public"));


////////////////// GERENCIANET (PIX)
app.post("/gerencianet", (request, response) => {
console.log('Entrou gerencia-net');
response.status(200).end();
// 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("/gerencianet/pix", (request, response) => {
response.status(200).end();
console.log('Entrou gerencia-net');
if (request.socket.authorized){
var body = request.body;
console.log(body);
response.status(200).end();
}else{
response.status(401).end();
}
});
//////////////////GERENCIANET - FIM(PIX)

//////////////////////////// HTTPS
https.createServer(options, app).listen(8000);
console.log('Servido NODE (HTTPS) na Porta: 8000!');
/////////////////////////// HTTPS

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

De nada! Outro fator, caso o servidor do seu webhook esteja indisponível no momento, a Gerencianet irá fazer mais algumas tentativas

# pix
Avatar discord do usuario joaoc7439

joaoc7439

"EM_PROCESSAMENTO", então, não é um retorno do webhook, como eu havia pensado. Ainda estou aguardando a liberação do envio para teste, e por isso não tinha certeza sobre o processo. Muito obrigado, Matheus!

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Boa noite, <@!835107968713359370>. Quando você utiliza o endpoint de envio de Pix e as informações de chaves e valores estão corretas, a API retorna EM_PROCESSAMENTO. Após isto a transação pode ou não ser aprovada dependendo de alguns fatores externos, esse retorno você vai receber via webhook com os status "REALIZADO" ou "NAO_REALIZADO".

# pix
Avatar discord do usuario joaoc7439

joaoc7439

Ver Respostas

Boa noite, pessoal. Sobre o retorno pelo webhook do pix enviado (POST /v2/pix), ele ocorre apenas uma vez? Pergunto porque parece haver uma sequência natural das situações: EM_PROCESSAMENTO >> REALIZADO/NÃO_REALIZADO.

# pix
Avatar discord do usuario leonardo_apereira

leonardo_apereira

Ver Respostas

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

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

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

# pix
Avatar discord do usuario leonardo_apereira

leonardo_apereira

Ver Respostas

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

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

// 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})
);
#Desenvolvido pela Consultoria Técnica da Gerencianet

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

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();
}
});

# pix
Avatar discord do usuario leonardo_apereira

leonardo_apereira

Ver Respostas

Quando peço para configurar o webhook, ele esta me retornando:

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

Fiz por nodejs, esta funcionando o https e salvei o certificado .. será que precisa fazer a configuração no Apache tb?

Acho que tem algo a ver com minha configuração:
npm config ls -l

Mas não consegui identificar

# pix
Avatar discord do usuario rodrigojoaobertotti

rodrigojoaobertotti

Ver Respostas

bom dia!
a respeito de configurar o certificado CA, é recomendado ter uma API exclusiva para receber os webhooks PIX do Gerência Net? ou tudo bem utilizar uma API de um App existente para receber os webhooks?

# pix
Avatar discord do usuario rodrigojoaobertotti

rodrigojoaobertotti

estou tendo o erro "A autenticação de TLS mútuo não está configurada na URL informada" para receber webhooks, quando eu uso informo o arquivo .p12, eu devo também configurar chain-pix-sandbox.crt? Ou só com o arquivo .p12 já deveria funcionar?

# pix
Avatar discord do usuario johnny.conexa

johnny.conexa

Ver Respostas

Boa tarde pessoal,

{
"nome":"json_invalido",
"mensagem":"Valores ou tipos de campo inválidos",
"erros":[
{
"chave":"required",
"caminho":".body.pix.chaves['[email protected]'].recebimento.webhook.notificacao",
"mensagem":"deve ter a propriedade obrigatória pagador"
}
]
}


O que seria essa propriedade "pagador" no endpoint PUT v2/gn/config? Não achei na doc :/

# pix
Avatar discord do usuario celestino8068

celestino8068

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