Histórico de mensagens sobre webhook pix

EXIBINDO CONVERSAS RECENTES:

Texto: webhook pix
# pix
Avatar discord do usuario ryzenbergsjc

ryzenbergsjc

Ver Respostas

a unica notificação que recebo é
2024-03-28 21:11:17,712 - root - INFO - Webhook PIX recebido: {'evento': 'teste_webhook', 'data_criacao': '2024-03-28T20:11:17.434Z'}

# pix
Avatar discord do usuario ryzenbergsjc

ryzenbergsjc

Ver Respostas

{
"pix": {
"receberSemChave": true,
"chaves": {
"222e85ae-e16a-4962-9e56-45a072df3339": {
"recebimento": {
"txidObrigatorio": false,
"qrCodeEstatico": {
"recusarTodos": false
},
"webhook": {
"notificacao": {
"tarifa": true,
"pagador": true
},
"notificar": {
"pixSemTxid": true
}
}
},
"envio": {
"webhook": {
"notificacao": {
"tarifa": true,
"favorecido": true
}
}
}
}
}
}
}

dessa forma era para receber as notificações no caso certo?

# 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

Ver Respostas

so temnho o log de acesso

34.193.116.226 - - [28/Mar/2024:17:00:01 -0300] "POST /webhook/pix HTTP/1.1" 400 224 "-" "API Pix Efi (homologacao)"

# pix
Avatar discord do usuario _alexandrehenrique

_alexandrehenrique

@Efí ola , eu presiso de uma orientação de configuração do nginx e nodejs para webhook pix

# dúvidas
Avatar discord do usuario tarcizio5821

tarcizio5821

Ver Respostas

Bom dia Igor.
Não consegui pegar o txid, tentei de várias formas. Como disse anteriormente, não tenho conhecimentos em array e por esse motivo, tentei das seguintes maneiras:
//////////////////////
$json = '[
{
"pix":[
{"endToEndId":"EEEEEEEEEEEEEEEEEEEEEEEEEEE","txid":"444444444444444444444444444444444","chave":"00000000-0000000-00008-000-0000000","valor":"0.01","horario":"2024-03-26T20:51:56.000Z"}
]}

]';

$data = json_decode($json); // aqui seria o retorno do "$dados"
foreach($data as $item) {
echo $item->pix[0]->txid;
}
//////////////////////
Essa deu certo, mas quando coloco no arquivo de "index.php" dentro da função "salvar($dados)" do webhook, dá erros.

Tentei também todas alternativas abaixo e sem sucesso:
//////////////////////
//$data = json_decode($dados);
//$dd = $data->pix->txid;
//$conteudo = json_encode($dados).' ---- '.json_encode($dados['pix']['txid']).' ----- '.$dados['pix']['txid'].' ---- '.$dados->pix[0]->txid;
//$conteudo = json_encode($dados->pix[0]->txid).' ----- '.$dd.' ----- '.json_encode($dd).' ---- '.json_encode($dd->pix[0]->txid);
//////////////////////

Se puder me ajudar fico muito grato.

# pix
Avatar discord do usuario wellinton1125

wellinton1125

Ver Respostas

Olá estou com dificuldade no retorno de um webhook,consegui cadastrar com sucesso o webhook, configurei o proxy_pass do nginx para o retorno correto "dominio/webhook(/pix)?" sendo que sempre que utilizo o dominio retorna um código 403 Forbiden, porém nos logs quando eu efetuo o pagamento constam as informações do pix realizado, me ajudem a ter o retorno correto diretamente no meu webhook cadastrado.

# dúvidas
Avatar discord do usuario tarcizio5821

tarcizio5821

Ver Respostas

Como faço para pegar somente o txid da resposta do webhook no arquivo index.php?
Preciso gravar somente o txid antes de gravar no json.
Tentei "$txid = $dados.pix[0].txid;" mas não consegui porque não entendo de array.

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

joaolucas_efi

Ver Respostas

Boa tarde @cacadordecorno, tudo bem?

Os certificados em questão são referentes ao SSL do seu domínio.
Para configurar o webhook Pix é preciso de um servidor acessível pela internet e configurado com SSL.

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

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A URL que você passa para o webhook é adicionado um /pix no final. Então se vc passar exemplo.com.br, vai ficar exemplo.com.br/pix

# pix
Avatar discord do usuario kauan_bs

kauan_bs

Ver Respostas

Tentei configurar o webhook, porém não recebi a requisição na url designada. É preciso apenas configurar o webhook com o pixConfigWebhook?

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Oi, @r_a_g_. Não precisa necessariamente fazer a configuração do Alias no Apache. Ela serve para fazer a tratativa da adição do /pix na URL quando é enviada a notificação.

Mas você pode registrar a sua webhook URL com query param ?ignorar=. Ou seja, na request PUT /v2/webhook/:chave para cadastrar o webhook, você irá passar o body com sua URL, exemplo:

Assim, vocÊ vai tratar o json sempre no index.php localizado em /webhook.

# pix
Avatar discord do usuario r_a_g_

r_a_g_

Ver Respostas

Então, mas este caso elimina a necessidade do mTLS, mas não elimina a necessidade de se ter um webhook configurado, em uma determinada url, (seu_dominio/webhook/) me parece que eliminou apenas a parte da verificação dos certificdos.
Se tem que ter webhook no dominio, é necessário pelo menos fazer no apache o alias, direcionando as chamdas pix para dominio/webhook. Entendi errado?
imagem enviada na mensagem pelo usuario r_a_g_
imagem enviada na mensagem pelo usuario r_a_g_

# pix
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia @zekramfn é possível sim.

Você precisa consumir o endpoint PUT /v2/gn/config passando o atributo pix.chaves.suaChave.webhook.notificacao.pagador = true, segue um exemplo onde essa configuração é aplicada:

{
"pix": {
"receberSemChave": true,
"chaves": {
"355e4568-e89b-1243-a456-006655440001": {
"recebimento": {
"txidObrigatorio": false,
"recusarTipoPessoa": "PF",
"qrCodeEstatico": {
"recusarTodos": false
},
"webhook": {
"notificacao": {
"tarifa": true,
"pagador": true
},
"notificar": {
"pixSemTxid": true
}
}
},
"envio": {
"webhook": {
"notificacao": {
"tarifa": true,
"favorecido": true
}
}
}
}
}
}
}

# pix
Avatar discord do usuario alexporfirio_84692

alexporfirio_84692

Bom dia como faço para criar um webhook sem o TLS meu servidor é compartilhado: estou usando o exemplo: pixConfigWebhook.php ?