Histórico de mensagens sobre erro webhook

EXIBINDO CONVERSAS RECENTES:

Texto: erro webhook
# pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Boa tarde, @errorzadaa!
Sim, a nossa API Pix possui o recurso de webhook.
Você consegue consultar mais informações em nossa API: https://dev.efipay.com.br/docs/api-pix/webhooks

# pix
Avatar discord do usuario thiagorobles

thiagorobles

Ver Respostas

@rubenskuhl obrigado pelo retorno, eu tentei integrar no meu Controller (uso nestjs) na minha API que está no heroku, aqui está o código:

import {
ClassSerializerInterceptor,
Controller,
HttpCode,
HttpStatus,
Logger,
Post,
Req,
UseInterceptors,
} from '@nestjs/common';
import { LoggerInterceptor } from '@src/common/logger/logger-interceptor';
import configuration from '@src/config/configuration';
import axios from 'axios';
import { Request } from 'express';
import as https from 'https';

const { httpsOptions } = configuration();
@Controller('efi-gerencianet')
@UseInterceptors(ClassSerializerInterceptor, LoggerInterceptor)
export class EfiGerencianetController {
private readonly logger = new Logger(EfiGerencianetController.name);

private instance = axios.create({
httpsAgent: new https.Agent({
ca: httpsOptions.ca,
requestCert: true,
rejectUnauthorized: true,
}),
headers: {
'x-skip-mtls-checking': true,
},
});

@Post('webhook/pix')
@HttpCode(HttpStatus.OK)
handlePixCallback(@Req() req: Request) {
const body = req.body;

this.logger.log(Received callback from Gerencianet);
this.logger.debug(body);
return body;
}

@Post('configure-webhook')
async configureWebhook() {
const url =
'https://api-pix.gerencianet.com.br/v2/webhook/4114c4e9-202c-4979-8534-34a4e5a29ad0';
const data = {
webhookUrl: '',
};

try {
const response = await this.instance.put(url, data);
this.logger.log(
Webhook configured successfully. Status code: ${response.status},
);
return response.data;
} catch (error) {
this.logger.error(Error configuring webhook: ${error.message});
throw new Error(Error configuring webhook: ${error.message});
}
}
}


subi pra produção, e ao chamar o endpoint recebo o erro: Error: Error configuring webhook: read ECONNRESET

Para SSL estou usando o heroku ACM (auto managed).


Sabem o que posso estar fazendo errado?

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Uma coisa estranha é que não tem o nome desse site especificamente no certificado:
https://www.ssllabs.com/ssltest/analyze.html?d=doss-api.azurewebsites.net

E a API Pix não permite uso de certificado wildcard. Mas isso já deveria ter dado erro na ativação do webhook.

# pix
Avatar discord do usuario sorionaet

sorionaet

Ver Respostas

Boa noite, alguém já teve a mensagem de erro e conseguiu resolver: "{
nome: 'webhook_invalido',
mensagem: 'A URL informada está inacessível'
}", ao tentar configurar o webhook do pix? Estou tentando ainda de Homologação. No momento não sei como prosseguir.

# cartões
Avatar discord do usuario alex_684067_87631

alex_684067_87631

Ver Respostas

copié y pegué el archivo .php del ejemplo lo analicé para entender qué hacía y me pareció que no me hacía lo que peregunté. Para confirmar le puse https://pix.gerencianet.com.br/webhooks/chain-pix-prod.crt dentro del request URI y lo corrí, y como me imaginé, no anda. Por favor, necesito un ejemplo claro para permitir que mi server se pueda contactar al server de EFI. Hay dos errores que me aparecen:
PHP Warning: Undefined array key "REQUEST_METHOD" in /home/goopzer/ipn/EFI_webh.php on line 46
PHP Warning: Undefined array key "https://pix.gerencianet.com.br/webhooks/chain-pix-prod.crt" in /home/goopzer/ipn/EFI_webh.php on line 47

Me pueden indicar específicamente qué escribir en esos dos campos por favor?
REQUEST_METHOD
REQUEST_URI

Saludos

# devs
Avatar discord do usuario akaize.

akaize.

Ver Respostas

Bom dia, alguém pode me dar uma mão?

Estou testando a criação de um webhook, mas estou recebendo a seguinte mensagem:

{
"nome": "json_invalido",
"mensagem": "Valores ou tipos de campo inválidos",
"erros": [
{
"chave": "format",
"caminho": ".body.webhookUrl",
"mensagem": "a validação do formato falhou \"url\""
}
]
}

Estou enviando isso:

É meramente para testar a criação, também queria saber se há o schema deste webhook em algum lugar, só para eu usar na minha aplicação e interpretar o resultado, eu cheguei a ver alguns exemplos na documentação, mas estou confuso de qual é o que virá pelo webhook

# pix
Avatar discord do usuario .ilselangnar

.ilselangnar

Ver Respostas

Oi Guilherme:

Estou com um problema com o webhook

Consigo listar os webhooks configurados sem problema.

O problema vem quando quero configurar um novo webhook para receber notificações de pagamento

Aqui esta meu codigo:


const efipay = new EfiPay(options)

async function api_configure_webhook_efipay( req, res, next ) {

let body = {
webhookUrl: 'https://origami.ink/webhook_paymentefipay',
}

let params = {
chave: '8712f01e-e8e6-4eab-a636-ddc8e13fe8b7',
}

try {
let object_result = await efipay.pixConfigWebhook(params, body)
printf( "[configure_webhook] -> object_result -> ", object_result )
res.json( object_result )
} catch( e ) {
// throw e
res.json( e )
}

}

module.exports = api_configure_webhook_efipay


Aqui esta o erro:

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

# pix
Avatar discord do usuario .ilselangnar

.ilselangnar

Estou com um problema com o webhook

Consigo listar os webhooks configurados sem problema.

O problema vem quando quero configurar um novo webhook para receber notificações de pagamento

Aqui esta meu codigo:


const efipay = new EfiPay(options)

async function api_configure_webhook_efipay( req, res, next ) {

let body = {
webhookUrl: 'https://origami.ink/webhook_paymentefipay',
}

let params = {
chave: '8712f01e-e8e6-4eab-a636-ddc8e13fe8b7',
}

try {
let object_result = await efipay.pixConfigWebhook(params, body)
printf( "[configure_webhook] -> object_result -> ", object_result )
res.json( object_result )
} catch( e ) {
// throw e
res.json( e )
}

}

module.exports = api_configure_webhook_efipay


Aqui esta o erro:

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

# pix
Avatar discord do usuario walysonpatric

walysonpatric

Ver Respostas

Oi, pra confirmar se o pix foi pago seria algo assim? (não sei muito sobre isso, to aprendendo e usei o GPT pra criar o código.)

app.post('/webhook(/pix)?', async (req, res) => {

try {
// Consultar a cobrança usando o txid
const response = await axios.get(/v2/cob/:txid, {
headers: {
Authorization: 'Bearer' + process.env.GN_CLIENT_ID // Substitua pelo token de autorização correto
}
});

// Verificar o status da cobrança na resposta
if (response.status === 200 && response.data.status === 'CONCLUIDA') {

// Enviar o código de ativação para o Supabase
const { data: insertedData, error } = await supabaseClient
.from('dominios_permitidos')
.insert([{ code: generatedCode }]); // Acesse o código gerado na rota '/api/key'

// Enviar o código de ativação junto com a resposta
return res.status(200).json({ message: 'Webhook recebido com sucesso.', code: generatedCode });
} else {
// Se a cobrança não estiver concluída, retorne uma mensagem de erro
return res.status(400).json({ error: 'Cobrança não concluída.' });
}
} catch (error) {
console.error('Erro ao consultar a cobrança:', error.message);
return res.status(500).json({ error: 'Erro ao consultar a cobrança.' });
}

});

# módulos-plugins
Avatar discord do usuario otherking.

otherking.

Boa tarde estou tentando fazer a integração com WHMCS porem ao salvar a inegração esta dando o seguinte erro:

Falha ao cadastrar WEBHOOK
Your changes have not been saved.

# pix
Avatar discord do usuario luelson.

luelson.

Ver Respostas

boa tarde estou recebendo o seguinte erro: {
"code": 141,
"error": {
"nome": "webhook_invalido",
"mensagem": "A requisição na URL informada falhou com o erro: ERR_TLS_CERT_ALTNAME_INVALID"
}
}

# pix
Avatar discord do usuario andrebarbosa_dev

andrebarbosa_dev

Ver Respostas

"erro": "Método 'pixGetWebhook' solicitado inexistente"

Na nova sdk qual é o metodo que chama? ao inves do getInstance?

# pix
Avatar discord do usuario _alexandrehenrique

_alexandrehenrique

´´´
{
"message": "Erro interno do servidor",
"erro": {
"nome": "webhook_invalido",
"mensagem": "A URL informada respondeu com o código HTTP 400"
}
}
´´´

# pix
Avatar discord do usuario mcunha98

mcunha98

Ver Respostas

uma duvida, chamei POST : https://pix-h.api.efipay.com.br/v2/cob
mas havia colocado o metadata para a url de notificacao, tomei erro
{"nome":"json_invalido","mensagem":"Valores ou tipos de campo inválidos","erros":[{"chave":"additionalProperties","caminho":".body","mensagem":"não são permitidas propriedades adicionais"}]}
"metadata": { "notification_url": "http:\/\/webhook.site.com.br" }

e vendo na doc, realmente nao da suporte para metadata, entao como fazer para ligar o webhook do pix via notification_url ?

# pix
Avatar discord do usuario _alexandrehenrique

_alexandrehenrique

Ver Respostas

o @rubenskuhl cara eu não acho o erro

server {
server_name webhook.redebrasilrp.com.br;

listen [::]:443 ssl ipv6only=on;
listen 443 ssl;

ssl_certificate /etc/letsencrypt/live/webhook.redebrasilrp.com.br/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/webhook.redebrasilrp.com.br/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

ssl_client_certificate /var/www/html/backend/webhookpix/public_key/chain-pix-sandbox.crt;
ssl_verify_client optional;
ssl_verify_depth 3;

location / {
proxy_pass http://127.0.0.1:8082;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_bypass $http_upgrade;
}

location /webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
proxy_pass http://127.0.0.1:8082; # Alterado para a mesma configuração de proxy_pass na localização padrão
}
}

server {
if ($host = webhook.redebrasilrp.com.br) {
return 301 https://$host$request_uri;
}

server_name webhook.redebrasilrp.com.br;
listen 80;
return 404;
}

# pix
Avatar discord do usuario _alexandrehenrique

_alexandrehenrique

{
"message": "Erro interno do servidor",
"erro": {
"nome": "webhook_invalido",
"mensagem": "A URL informada respondeu com o código HTTP 400"
}
}

# pix
Avatar discord do usuario _porfirio

_porfirio

Ver Respostas

Olá, tudo bem ? Ao configurar o webhook, estou recebendo o seguinte erro


{
nome: 'json_invalido',
mensagem: 'Valores ou tipos de campo inválidos',
erros: [
{
chave: 'additionalProperties',
caminho: '.body',
mensagem: 'não são permitidas propriedades adicionais'
}
]
}
{
webhookUrl: 'https://application.cardi.digital/str/order/sales/pix/webhook/'
}

# pix
Avatar discord do usuario dukelendario

dukelendario

bom dia, estou integrando a efi com whmcs mais estou com erro de webhook, ele faz os dados de saida: {
"nome": "webhook_invalido",
"mensagem": "A URL informada respondeu com o código HTTP 404"
}

# pix
Avatar discord do usuario kauan_bs

kauan_bs

Boa tarde. Estou tentando configurar o webhook no meu servidor porém estou recebendo 401. Estes são meus códigos :

js

const httpOptions = {
cert: fs.readFileSync("gd_bundle-g2-g1.crt"), // Certificado fullchain do dominio
key: fs.readFileSync("56092e4c5a31e0c5.crt"), // Chave privada do domínio
ca: fs.readFileSync("chain-pix-prod.crt"), // Certificado público da Efí
minVersion: "TLSv1.2",
requestCert: true,
rejectUnauthorized: false, //Caso precise que os demais endpoints não rejeitem requisições sem mTLS, você pode alterar para false
};

app.post("/webhookEfi", (request, response) => {
if (request.socket.authorized) {
console.log("autorizado")
response.status(200).end();
} else {
console.log("não autorizado")
response.status(401).end();
}
});

app.post("/webhookEfiConfig", async (req, res) => {
try {
let body = {
webhookUrl: "{minhaurl}/webhookEfi",
};

let params = {
chave: "6e364195-3e3d-4ee5-8ca0-14db77d30593",
};

const efipay = new EfiPay(options);

await efipay.pixConfigWebhook(params, body);

// Se tudo correr bem, você pode enviar uma resposta de sucesso
res.status(200).send("Configuração do webhook concluída com sucesso!");
} catch (error) {
// Se ocorrer algum erro, você pode enviar uma resposta de erro e registrar o erro
console.error("Erro ao configurar o webhook:", error);
res.status(500).send("Ocorreu um erro ao configurar o webhook.");
}
});
Alguem sabe qual o motivo ?

# devs
Avatar discord do usuario igor06248

igor06248

Ver Respostas

Fala pessoal, já tive esse problema e não lembro como resolvi.
Estou com dificuldade em registrar meu webhook.
O erro que recebo é este:
> {
> "nome": "webhook_invalido",
> "mensagem": "A URL informada respondeu com o código HTTP 400"
> }.

A configuração do meu Nginx:

location /rifas/gerencianet/webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
proxy_pass http://127.0.0.1:3333;
}

location / {
proxy_pass http://127.0.0.1:3333;
}

listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/api.cacaubox.shop/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/api.cacaubox.shop/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

ssl_client_certificate /home/app/luck-back/src/modules/clients/certs/chain-pix-prod.crt;
ssl_verify_client optional;
ssl_verify_depth 3;
}
server {
if ($host = api.cacaubox.shop) {
return 301 https://$host$request_uri;
} # managed by Certbot


listen 80;
listen [::]:80;


Alguém poderia me ajuda? Preciso entender pq que dá isso, não aguento mais passar por esse erro direto 😅 .