Histórico de mensagens sobre webhook pix em dúvidas

EXIBINDO CONVERSAS RECENTES:

Texto: webhook pix
Canal: dúvidas
Avatar discord do usuario thieko

thieko

Ver Respostas

Olá bom dia alguem poderia me auxiliar com webhook do pix que não está enviando?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

No /v2/gnconfig, você pode colocar o pix.webhook.notificar.pixSemTxid = true e aí é notificado mesmo de QR-Code sem txid. Notar que você poderia gerar um QR-Code estático com txid sem valor preenchido, e que isso também causa notificação... com a vantagem de que com txid você sabe exatamente de que cliente se trata.

Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Boa tarde @victorzac ! Tudo bem? É possível receber webhooks de QR Code estático. Você pode, por exemplo, gerar um QR Code estático manualmente através da sua página na conta digital. Basta acessar o menu Pix > Gerar QR Code (lembre-se que é necessário que a cobrança tenha um Identificador (txid)).
Se você tiver um webhook cadastrado com sua chave Pix utilizada na geração do QR Code, receberá uma notificação de pagamento assim que a transação for realizada.

Avatar discord do usuario victorzac

victorzac

Ver Respostas

Estou recebendo webhooks de pix dinamicos e pix gerados com valor determinado e txid. Como fazer para receber webhooks de pix oriundos de QRcodes cujo valor é informado pelo pagador?

Avatar discord do usuario suarezwt

suarezwt

Ver Respostas

Olá pessoal, eu consigo criar algum tipo de cobrança genérica com webhook? ex: fazer um pix direto na chave da conta da efi e esse evento chamar o webhook

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Se você tiver muitos clientes (ex: 500 ou mais), valeria considerar a API de abertura de contas. Para poucos clientes, o mais factível é pilotar os clientes para obterem clientid, clientsecret e certificado e te passarem. Aí você opera os recebimentos de cada cliente com as credenciais de cada um. O webhook até pode ser o mesmo pq vem qual chave Pix é a do pagamento e aí você direciona.

Avatar discord do usuario admthunder

admthunder

Mas... esse webhook ai, resultado é o mesmo que ter la no painel da efi um campo pra configurar as notificações pra cada chave pix kkk

Avatar discord do usuario admthunder

admthunder

Você é O CARA @rubenskuhl , se não fosse você ter respondido ai eu teria abandonado, segredo da coisa toda foi vc ter dito que o webhook "RODA 1 VEZ NA VIDA" e a partir dali o site sempre vai mandar notificações para a chave pix configurada... TOP!

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Pq o padrão é esse, uai. 😉
Mas como o padrão é da API, não sei se há objeção do Banco Central quanto a ter isso também no site, desde que reflita nas consultas pixListWebhook e no pixDetailWebhook.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Você só precisa chamar o pixConfigWebhook uma vez na vida... então não precisa ser no site. Apesar de que como a API é idempotente (você pode repetir requisições), se você chamar o pixConfigWebhook logo antes do pixCreateImmediateCharge, vai funcionar também.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A configuração de webhook é o examples/pix/webhooks/pixConfigWebhook.php

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Como ativar é fazendo um PUT para /webhook/:chave indicando o path base sem /pix, aí a Efí adiciona o /pix.
O body da requisição é:


E aí a Efí vai fazer o POST em https://exemplo.com.br/webhook/pix

Avatar discord do usuario juliodsgarcia

juliodsgarcia

Boa tarde, amigos, tudo bem? Alguém já implementou o webhook pix com next.js?

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Boa tarde @andrealencar_14844 ! Aqui na Efí, é possível você emitir as cobranças, configurando um webhook e qualquer alteração de status dessa cobrança, será disparado uma notificação apra o seu sistema. Em nossa documentação, você encontra a descrição e exemplos de como essa notificação são disparadas.
Pix: https://dev.efipay.com.br/docs/api-pix/webhooks#recebendo-callbacks
Boleto/cartão/carnê/assinatura: https://dev.efipay.com.br/docs/api-cobrancas/notificacoes

Avatar discord do usuario guilherme_efi

guilherme_efi

@adilalima, como vai?
Na SDK o parâmetro 'x-skip-mtls-checking' deve ser passado no array 'headers'. Assim:

php
$webhook = EfiPay::getInstance([
'client_id' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_CLIENT_ID : CONF_EFI_CLIENT_ID,
'client_secret' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_CLIENT_SECRET : CONF_EFI_CLIENT_SECRET,
'certificate' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_PIX_CERTIFICATE : CONF_EFI_PIX_CERTIFICATE,
'headers' => ['x-skip-mtls-checking' => "true"],
]);

Avatar discord do usuario adilalima

adilalima

Opa, tudo ótimo e contigo?
Então, mesmo seguindo esse guia e fazendo (supostamente) igual acabo recebendo o mesmo erro de código 400 e de descrição "A autenticação de TLS mútuo não está configurada na URL informada":

public function config_webhook(array $data): void
{
$webhook = EfiPay::getInstance([
'client_id' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_CLIENT_ID : CONF_EFI_CLIENT_ID,
'client_secret' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_CLIENT_SECRET : CONF_EFI_CLIENT_SECRET,
'certificate' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_PIX_CERTIFICATE : CONF_EFI_PIX_CERTIFICATE,
'x-skip-mtls-checking' => "true",
]);

$webhook = $webhook->pixConfigWebhook(
['chave' => CONF_EFI_PIX_KEY],
['webhookUrl' => CONF_EFI_PIX_WEBHOOK_URL]
);

$this->call(code: 200)->back(['data' => $data, 'headers' => $this->headers, 'webhook' => $webhook]);
}

É um comportamento esperado?

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia @adilalima, tudo bem?
Dê uma olhada em nosso exemplo da SDK que mostra como enviar o atributo "x-skip-mtls-checking" na instância da classe EfiPay.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Você precisa lidar com eventuais repetições para garantir idempotência. Mas fora repetições fortuitas, um possível motivo para receber um webhook de um Pix depois do pagamento é você comandar devoluções. Mas ainda você pode anotar na tabela algo como "solicitei devolução", para então tratar o campo de devolução.

Avatar discord do usuario meliodas7010

meliodas7010

Ver Respostas

ah! certo. Essa parte de webhook esta um pouco confusa pra mim pois não consigo testar localmente.
Na documentação mostra o corpo da requisição pix, mas ainda estou um pouco confuso. Gostaria de saber se estou tendo o approach correto:
Eu gero a cobrança pix pro meu cliente e salvo no meu banco aquela cobrança como pendente usando o txid como identificador. No meu webhook eu recebo a requisição:

// Pix recebido
{
"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"
}
]
}
O que quer dizer que o pix com txid fc9a43k6ff384ryP5f41719 foi pago no valor de 0.01, então verifico aquela transação salva no meu banco e continuo minha logica a partir desse ponto. Esta correto?
Minha duvida é se eu vou receber outras requisições no meu webhook com o mesmo txid podendo assim fazer minha logica ser executada mais de uma vez