Histórico de mensagens sobre webhook pix em pix

EXIBINDO CONVERSAS RECENTES:

Texto: webhook pix
Canal: pix
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Boa tarde @marcosvinicius0759 ! Não compreendi muito bem sua dúvida. Você vai cadastrar uma única url de webhook para uma chave Pix da sua conta. Todas as cobranças vinculadas àquela chave, quando houver um pagamento, será disparado o webhook pra você. Você terá a informação do e2eid e do txid daquela cobrança recebida.

Avatar discord do usuario _acb09

_acb09

Ver Respostas

Então! Fui testar agora, já criei o webhook e não estava conseguindo liberar o pagamento no qr code, (falava que tinha expirado), então mudei para ambiente de produção e funcionou, enviei o pix, mas a notificação, simplesmente não chega, e na aba de pix em produção nao tem a aba "notificação". Como posso resolver este problema?

Avatar discord do usuario _acb09

_acb09

Ver Respostas

Bom dia! Ao tentar integrar nosso aplicativo com pagamentos via pix, criamos o webhook, porém no vídeo foi ensinado a efetuar o pagamento via pix pelo smartphone para a notificação chegar no webhook. Eu entrei em minha conta da efi, e mirei para o qrcode, porém ficou piscando a camera e por fim, tive um bloqueio nas funcionalidades do aplicativo.

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Bom dia @errorzadaa ! É possível sim. Existe uma configuração na conta, onde você pode ativar a opção de receber os dados do pagador via webhook. Seria (esse)(https://dev.efipay.com.br/docs/api-pix/endpoints-exclusivos-efi#criarmodificar-configura%C3%A7%C3%B5es-da-conta) endpoint. Em nossa documentação, você encontra todos os detalhes sobre esse endpoint, mas qualquer dúvida, estamos à disposição.

Avatar discord do usuario _acb09

_acb09

Ver Respostas

Boa tarde!
Estou recebendo o seguinte erro ao criar um webhook de pix:

{
"code": 400,
"error": "json_invalido",
"errorDescription": "Parâmetro \".headers['x-skip-mtls-checking']\", deve ser igual a um dos valores predefinidos"
}

Estou usando o SDK, e todos endpoints funcionam (cartão, pix e boleto) porém não consigo gerar o webhook. Ou recebo o erro acima, ou recebo Curl 52 Error.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Precisa ativar o webhook para a chave Pix para a qual você vai criar a cobrança. Aí todas as cobranças dessa chave notificarão para essa URL.

Avatar discord do usuario felipenunes0714

felipenunes0714


/
Detailed endpoint documentation
https://dev.efipay.com.br/docs/api-pix/webhooks#configurar-o-webhook-pix
/

$autoload = realpath(__DIR__ . "../../../../../../../vendor/autoload.php");
if (!file_exists($autoload)) {
die("Autoload file not found or on path $autoload.");
}
require_once $autoload;

use Efi\Exception\EfiException;
use Efi\EfiPay;

$optionsFile = __DIR__ . "/../../credentials/options.php";
if (!file_exists($optionsFile)) {
die("Options file not found or on path $options.");
}
$options = include $optionsFile;

$options["headers"] = [
"x-skip-mtls-checking" => false
];

$params = [
"chave" => ""
];

$body = [
"webhookUrl" => ""
];


try {
$api = new EfiPay($options);
$response = $api->pixConfigWebhook($params, $body);

if (isset($options["responseHeaders"]) && $options["responseHeaders"]) {
print_r("

" . json_encode($response->body, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
print_r("
" . json_encode($response->headers, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
} else {
print_r("
" . json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
}
} catch (EfiException $e) {
print_r($e->code . "
");
print_r($e->error . "
");
print_r($e->errorDescription) . "
";
if (isset($options["responseHeaders"]) && $options["responseHeaders"]) {
print_r("
" . json_encode($e->headers, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
}
} catch (Exception $e) {
print_r($e->getMessage());
}

Avatar discord do usuario felipenunes0714

felipenunes0714

Ver Respostas


/
Detailed endpoint documentation
https://dev.efipay.com.br/docs/api-pix/webhooks#configurar-o-webhook-pix
/

$autoload = realpath(__DIR__ . "/../../../vendor/autoload.php");
if (!file_exists($autoload)) {
die("Autoload file not found or on path $autoload.");
}
require_once $autoload;

use Efi\Exception\EfiException;
use Efi\EfiPay;

$optionsFile = __DIR__ . "/../../credentials/options.php";
if (!file_exists($optionsFile)) {
die("Options file not found or on path $options.");
}
$options = include $optionsFile;

$options["headers"] = [
"x-skip-mtls-checking" => false
];

$params = [
"chave" => "12345"
];

$body = [
"webhookUrl" => "www.meulink.com"
];

try {
$api = new EfiPay($options);
$response = $api->pixConfigWebhook($params, $body);

if (isset($options["responseHeaders"]) && $options["responseHeaders"]) {
print_r("

" . json_encode($response->body, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
print_r("
" . json_encode($response->headers, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
} else {
print_r("
" . json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
}
} catch (EfiException $e) {
print_r($e->code . "
");
print_r($e->error . "
");
print_r($e->errorDescription) . "
";
if (isset($options["responseHeaders"]) && $options["responseHeaders"]) {
print_r("
" . json_encode($e->headers, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
}
} catch (Exception $e) {
print_r($e->getMessage());
}

Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Primeiro, você deve cadastrar uma webhookUrl, através do método acima. Essa url deve ser vinculada a sua chave Pix, cadastrada na Efí.
Feito isso, qualquer cobrança que você gerar vinculada a esta chave, que for paga, será notificada na URL que você cadastrou.
Acredito que este tutorial do nosso curso possa te ajudar: https://youtu.be/XB9bcZFTV3M?list=PLRqvcUTH2VsWufBmzOdTVeLEOTGrPNoiu

Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Bom dia @felipenunes0714 ! Para cadastrar o webhook, você deve utilizar este método: https://github.com/efipay/sdk-php-apis-efi/blob/main/examples/pix/webhooks/pixConfigWebhook.php

Avatar discord do usuario felipenunes0714

felipenunes0714

se eu tirar o paramentro "webhook", o código gera o pix normalmente, porém desse jeito eu não vou receber as notificações da api pela url

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Webhook não é para ser consumido no front-end. Mande o webhook para um back-end seu, e comunique com o seu front-end por WebSockets. Aí assim que o Pix for pago você sinaliza para seu usuário.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

3 jeitos:
- Webhook
- GET de /pix com ?inicio=fim=txid= (se a resposta tiver um Pix, foi pago)
- GET de /cob/:txid (se a resposta tiver um objeto Pix, foi pago)

Avatar discord do usuario hardson

hardson

Ver Respostas

Olá, eu estou com uma dúvida a respeito do Webhook de Pix. Qual é o padrão recomendado pela Efí para saber se a requisição do Webhook que estou recebendo é de Recebimento, Devolução ou Envio de Pix? De acordo com a documentação o único que tem um "tipo" é o Envio
imagem enviada na mensagem pelo usuario hardson

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Bom dia, @celsoalexandre! Tudo bem?

Sugerimos duas formas de validação para garantir a segurança, mas recomendamos fortemente que você as utilize em conjunto:

Verifique o IP de comunicação:

Restrinja a comunicação ao domínio do webhook cadastrado para aceitar apenas mensagens do IP utilizado pela Efí.
IP utilizado atualmente em nossas comunicações: 34.193.116.226.

Adicione uma hash à URL cadastrada no webhook:

Crie um HMAC (uma identificação própria) que será acrescentado ao final da URL no momento do cadastro do webhook. Essa hash será utilizada para validar a origem da notificação.
Todos os webhooks enviados ao seu servidor terão essa identificação final, e sua aplicação deve validar a presença da mesma.
Exemplo:

URL de notificação original: https://seu_dominio.com.br/webhook
URL com a hash: https://seu_dominio.com.br/webhook?hmac=xyz&ignorar=.
O termo ignorar= serve para tratar a adição do /pix no final da URL.

Avatar discord do usuario celsoalexandre

celsoalexandre

Ver Respostas

bom dia. Eu implementei o webhook pix e por ser um servidor que vai ter outras rotas além dos webhooks da efi, eu optei por desabilitar o mtls e validar um query param "secreto" ao invés disso. Existem mais medidas de segurança recomendadas que posso implementar pra esse webhook?

Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Bom dia @celsoalexandre ! Tudo bem? O atributo metadata é utilizado apenas na API Cobranças.
Na API Pix, você deve cadastrar a URL através da rota PUT /v2/webhook/:chave: https://dev.efipay.com.br/docs/api-pix/webhooks#configurar-o-webhook-pix

Avatar discord do usuario gabriel_efi

gabriel_efi

Ver Respostas

Olá, @litho_on! Não é possível.

Uma URL de webhook pode estar associada a várias chaves Pix, mas uma chave Pix só pode estar vinculada a uma única URL de webhook.

Avatar discord do usuario marcoglg_dev

marcoglg_dev

Ver Respostas

Boa tarde galera, tudo bem?

ao cadastrar um webhook(pix) a requisição que a efi manda tem algum body?

queria diferenciar a requisição de test da de envio de dados.