Histórico de mensagens sobre webhook pix

EXIBINDO CONVERSAS RECENTES:

Texto: webhook pix
# pix
Avatar discord do usuario nicolaujr.

nicolaujr.

na documentação fala que o webhook é enviado sempre que há uma alteração no status do PIX, e trás alguns exemplos

# pix
Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

Boa tarde <@!720043168103530497> tudo bem? 😄
A SDK facilita para consumir os endpoints de criação de cobranças, para webhook em si não é necessário.
Mas voltado pro node, nós temos um exemplo utilizando o express! Segue o link da nossa documentação!
https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-exemplos-de-configura-es-de-servidor

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O webhook é o mesmo para todo QR-Code gerado para aquele chave Pix, então essa lógica não tem como funcionar mesmo que você acerte a sintaxe.

# pix
Avatar discord do usuario israelbarbara.

israelbarbara.

Ver Respostas

To com uma duvida, mas é mais de programação em si.
Como faço para passar uma variavel para o webhook do pix da gerencianet usando nodejs/express?
eu tentei utilizar a sessao (req.session.nomeVariavel = "abc"), setando o valor dela na rota que gera o qrcode para pegar ela no /webhook quando confirma o pagamento, mas ela chega como undefined no webhook.

# pix
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})
);

# pix
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

# pix
Avatar discord do usuario pepomps

pepomps

Ver Respostas

Boa tarde pessoal! Alguém aí do time consegue me passar um exemplo completo de requisição vinda da gerencianet para um webhook configurado do pix, preciso dos headers, body.. basicamente uma request pra rodar no postman e testar meu endpoint do webhook com o maior grau de fidelidade possível a uma requisição da Geren. 😝

# pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Você pode consultar mais informações sobre webhook, acessando nossa documentação: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-webhooks
Para requisitar o envio de Pix, você precisa cadastrar um webhook para a sua chave informada no campo pagador.

# pix
Avatar discord do usuario israelbarbara.

israelbarbara.

Ver Respostas

Boa noite renato, estou sim, na hora de cadastrar no insomnia eu chamo: https://api-pix.gerencianet.com.br/v2/webhook/chavepix

# pix
Avatar discord do usuario israelbarbara.

israelbarbara.

Ver Respostas

na minha aplicação o endpoint que recebe o webhook esta configurado como app.post ('webhook(/pix)?'), como se o /pix fosse opcional, nao é esse o problema ne

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

E você pode também checar se o CN do mTLS é gn-webhook-pix

# pix
Avatar discord do usuario chaos7666

chaos7666

Ver Respostas

Olá, tem uma lista dos IPs que acessam/chamam os webhooks de pix?

# pix
Avatar discord do usuario lucapwn

lucapwn

Ver Respostas

Falaaa, Caio! Tranquilo? Sim simm, mano! Eu recebo a notificação normalmente no meu webhook quando cadastro um novo link. Exemplo da resposta em JSON:

{
"evento": "teste_webhook",
"data_criacao": "2022-01-20T02:15:38.465Z"
}

Mas quando faço o pagamento via Pix, eu não recebo a notificação de pagamento ☹️

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Lembrando que se você configura exemplo.com.br/webhook, a GN vai chamar exemplo.com.br/webhook/pix .

Tanto exemplo.com.br/webhook quanto exemplo.com.br/webhook/pix precisam existir e estar com mTLS configurado.

# pix
Avatar discord do usuario lucapwn

lucapwn

Ver Respostas

Olá, boa noite! Tudo bem? 😀
Estou tentando criar meu próprio webhook em PHP (no meu servidor dedicado) para receber as notificações de pagamentos realizados via Pix, e há algum problema, pois não recebo as notificações de pagamentos. Segue o código em PHP abaixo:

header("Content-Type: application/json");
$request = file_get_contents("php://input");
file_put_contents("webhook.json", print_r($request, true));
print_r($request);
?>

Recebo a notificação de configuração do link do webhook normalmente:

{
"webhookUrl": "https://exemplo-pix/webhook"
}

Mas não recebo a notificação quando realizo o pagamento:

{
"pix": [
{
"endToEndId": "E1803615022211340s08793XPJ",
"txid": "fc9a43k6ff384ryP5f41719",
"chave": "2c3c7441-b91e-4982-3c25-6105581e18ae",
"valor": "0.01",
"horario": "2020-12-21T13:40:34.000Z",
"infoPagador": "pagando o pix"
}
]
}

Tentei utilizar o exemplo de configuração de servidor em Python desenvolvido em Flask (https://dev.gerencianet.com.br/v1/docs/api-pix#section-exemplos-de-uma-configura-o-de-servidor-), mas não consegui seguir esse exemplo. ☹️

Já testei em sites de terceiros (como o https://webhook.site), e funciona normalmente (recebi a notificação do pagamento).

O meu servidor possui certificado SSL e a versão do TLS é 1.2.

Preciso receber essas notificações e armazená-las em algum lugar para verificar se o pagamento foi realizado. Vocês podem me ajudar? Irei ficar muito grato! Muito obrigado! 😀

# pix
Avatar discord do usuario Deleted User

Deleted User

Ver Respostas

Olá, boa noite. Estou tentando configurar um webhook à uma chave PIX porém estou recebendo este erro: urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api-pix-h.gerencianet.com.br', port=443): Max retries exceeded with url: /oauth/token (Caused by SSLError(SSLError(9, '[SSL] PEM lib (_ssl.c:4046)')))

Estou utilizando o SDK do python, seguindo os exemplos do github.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Detalhe que aí você não pode usar a lista de IPs da Gerencianet para filtrar acesso ao webhook, pois serão os IPs do pix.ae.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Ou usar o mtls.pix.ae, que é de graça.

Pra quem tem dificuldades de implementar os webhooks por falta de suporte em hospedagem compartilhada para configurar mTLS, o Pix.ae agora oferece proxy de callbacks com mTLS.

Pra usar é muito simples: é só prefixar o seu domínio com mtls.pix.ae/. Por exemplo:

Para: https://exemplo.com.br/webhookpix
Use: https://mtls.pix.ae/exemplo.com.br/webhookpix

Obs: no ambiente de homologação, prefixe com mtls-h.pix.ae/
O autor e mantenedor do pix.ae é o <@!440035527127990273>, que não está online no momento mas é habituê do canal.