Histórico de mensagens sobre webhook

EXIBINDO CONVERSAS RECENTES:

Texto: webhook
# pix
Avatar discord do usuario peterfritz

peterfritz

Algo assim funcionaria:

js
import axios from "axios";
import https from "https";

const subdomain = process.env.NODE_ENV === "production" ? "pix" : "pix-h";

const clientCreds = clientId + ":" + clientSecret;
const authorization = Basic ${Buffer.from(clientCreds).toString("base64")};

const certificate = Buffer.from(certificateBase64Encoded, "base64");

const httpsAgent = new https.Agent({
pfx: certificate,
passphrase: "",
});

const oAuthResponse = await axios.post(
https://${subdomain}.api.efipay.com.br/oauth/token,
{
grant_type: "client_credentials",
},
{
headers: {
Authorization: authorization,
"Content-Type": "application/json",
},
httpsAgent,
}
);

const token = oAuthResponse.data.access_token;

const efiApi = axios.create({
baseURL: https://${subdomain}.api.efipay.com.br,
headers: {
Authorization: Bearer ${token},
"Content-Type": "application/json",
},
httpsAgent,
});

await efiApi.put(
/v2/webhook/${process.env.PIX_KEY},
{
webhookUrl:
${process.env.WEBHOOK_BASE_URL}/api/webhook/efi?secret=${process.env.WEBHOOK_SECRET}&ignore=.replace(
"//api",
"/api"
),
},
{
headers: {
"x-skip-mtls-checking": "true",
},
}
);

# pix
Avatar discord do usuario peterfritz

peterfritz

Ver Respostas

Fala @blini_10032, tem sim, uso serverless e edge para receber os callbacks, então pra mim também não foi possível usar mTLS. Mas a Efí suporta um cabeçado x-skip-mtls-checking na criação do webhook que, se tiver como valor true, irá pular a validação do mTLS.
https://dev.efipay.com.br/docs/api-pix/webhooks/#:~:text=Certbot%20por%20exemplo.-,Skip%2DmTLS,-Para%20hospedagem%20em>">Documentação do Skip-mTLS.

> Só lembre-se de verificar se o IP que envia a requisição https://sejaefi.com.br/central-de-ajuda/api/quais-enderecos-de-ip-gerencianet-utiliza#conteudo>">pertence à Efí e enviar um segredo conhecido apenas pelo seu servidor na URL quando criar o seu webhook como recomendado na documentação.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, faz. Segue o texto do autor do pix.ae:

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/

# pix
Avatar discord do usuario blini_10032

blini_10032

"..fazer apenas essa parte nessas soluções, não precisa portar tudo pra AWS/OCI."
sim @rubenskuhl eu só preciso de um lugar pra processar o webhook, o resto tá td pronto, só falta isso pra eu lançar

# pix
Avatar discord do usuario blini_10032

blini_10032

Ver Respostas

tem algum jeito de usar o webhook sem certificado?

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

O pix.chaves.{chave}.webhook.notificacao.pagador precisa ser true.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

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

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Tem que configurar para recebedor o pagador no webhook. Mas além do webhook, ele fica disponível também no extrato de conciliação.

E não é pq tem algo no app que tenha na API... o BACEN tem restrições específicas para API devido a possível processamento em massa de dados pessoais.

# pix
Avatar discord do usuario peterfritz

peterfritz

Ver Respostas

Oi, boa tarde. Vocês sabem se existe algum jeito de consultar o pagador de um QR Code ou BR Code que foi cadastrado sem informar um devedor?
Na secção de https://dev.efipay.com.br/docs/api-pix/webhooks#requisi%C3%A7%C3%A3o>">requisição (callback) da documentação de webhooks, vi que é possível que os dados do pagador sejam recebidos no callback através da propriedade gnExtras.pagador, porém o objeto gnExtras é opcional e, até então, só tenho recebido através de callbacks os seguintes dados:

json
{
"pix": [
{
"endToEndId": "...",
"txid": "...",
"chave": "...",
"valor": "...",
"horario": "..."
}
]
}
No extrato é possível visualizar pagador, documento e instituição, então imagino que há alguma forma de solicitar esses dados através da API.
Agradeço desde já e peço perdão pela mensagem longa.

# pix
Avatar discord do usuario peterfritz

peterfritz

Ver Respostas

Opa @alissonmaciel_32335, tudo bem?
Para o cadatro de um webhook ou para simular o recebimento de uma callback? Cadastrar um webhook por CURL me parece bem chato, você teria que autenticar, receber o token e só então usar esse token pra configurar o webhook. E além disso teria que transformar o certificado PKCS 12 em arquivos PEM pro CURL aceitar.

# cartões
Avatar discord do usuario lmmafra

lmmafra

Boa noite
Alguma anormalidade no sistema da EFI, parou de enviar requisições webhook agora à noite.

# pix
Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Eu não vi um exemplo de webhook via curl

# pix
Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Boa tarde! Alguém pode me passar um script curl para webhook?

# pix
Avatar discord do usuario alexandrerod50

alexandrerod50

ao executar o pixConfigWebhook.php para cadatrar o webhook me retornou isso: 400webhook_invalidoA autenticação de TLS mútuo não está configurada na URL informada.
Alguém sabe o que esta errado?

# pix
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia @alexandrerod50, temos sim, segue o exemplo:

server {
#
# ...
#
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
ssl_certificate server_ssl.crt.pem;
ssl_certificate_key server_ssl.key.pem;
ssl_client_certificate /root/chain-pix-webhooks-prod.crt;
ssl_verify_client optional;
ssl_verify_depth 3;
#
# ...
#
location /webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
proxy_pass /webhook;
}
}
#Desenvolvido pela Consultoria Técnica da Efí

# pix
Avatar discord do usuario alexandrerod50

alexandrerod50

@guilherme_efi obrigado Guilherme, eu não sei bem como configurar EndPoint, vou dar uma olhada. Estou gerando o pix, e tenho um código que consulta na efí se foi pago na página de pagamento, tudo funciona. Mas tem que cliente que paga e fecha essa página... dai meu sistema não consegue localizar o pagamento, por isso preciso do webhook. Mas n entendo quase nada de EndPoint.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @alexandrerod50.
Nessa aula do curso você pode acompanhar a explicação para configuração de servidor Apache.
Nesta outra aula, você vê como configurar o webhook e receber as notificações.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, e o problema é que não devia ter uma seção PHP ou Python aí. Configuração de webhook está ligada ao webserver: Nginx, Apache, Express etc.

# pix
Avatar discord do usuario alexandrerod50

alexandrerod50

Ver Respostas

@marcelo_efi então eu devo configurar o webhook aqui?
imagem enviada na mensagem pelo usuario alexandrerod50