Histórico de mensagens sobre url de notificação

EXIBINDO CONVERSAS RECENTES:

Texto: url de notificação
# devs
Avatar discord do usuario joao_efi

joao_efi

Bom dia @cleitonconceicao_ tudo certo?
Isso mesmo!
Em relação aos boletos você precisa informar a URL de notificação no momento da emissão através do atributo notification_url

# devs
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Oi, @cleitonconceicao_. Bom dia! Tudo bem?
Para configurar um webhook na plataforma da Efi e realizar a baixa automática de boletos no seu sistema, você pode seguir o processo descrito na documentação oficial. Basicamente, quando você emite um boleto via API, você irá enviar também a URL de notificação junto com as informações do boleto. Então, sempre que houver uma alteração no status do boleto, a Efi enviará uma notificação para essa URL.

Essa notificação contém um token único para cada cobrança. Seu sistema deve consultar esse token para obter os detalhes da notificação e identificar a cobrança específica para fazer a conciliação. Você pode conferir todos os detalhes no link da documentação: Notificação de Boletos.

Além disso, temos um vídeo que explica detalhadamente como realizar esse procedimento, o que pode ser muito útil para você: Assista ao vídeo.

Espero que isso ajude! Conte com a gente!

# assinaturas
Avatar discord do usuario alexcordioli

alexcordioli

Ver Respostas

Mais uma dúvida sobre os preocessos da assinatura.

Assim que eu crio a assinatura e gerando o link de pagamento para o cliente eu vi que é gerado um charge id assim como uma fatura normal. Ok isso acontece na hora em que gero ele já me retorna esse charge id.

A minha dúvida é: quando for cobrada a segunda mensalidade do cliente, o charge id dessa nova transação eu recebo via post na url de notificação que eu escolhi quando criei a assinatura?

É isso mesmo? Pq eu consigo testar isso ne? Kk

# pix
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.

# bolix
Avatar discord do usuario aquele_dev

aquele_dev

Ver Respostas

Se vc usa só uma URL pra receber notificação de mais de uma conta. Quando emitir a cobrança você coloca um parâmetro na URL pra falar de qual conta que é. Ex: https://seusite.com/notificacao/?conta=1
Quando receber a notificação , vc usa esse parâmetro pra descobrir qual client usar pra consultar o token

# pix
Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Bom dia @juizmill ! Sim, são ambientes separados. Você pode cadastrar um webhook em homologação e realizar os testes.
A API de Cobranças é separada da API Pix. Na API de Cobranças, você cadastra a URL de Notificação através do atributo notification_url. Já na API Pix, o webhook é atrelado a uma chave Pix, e você pode cadastra-lo uma única vez.

# dúvidas
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Boa tarde, @marinareginato! Tudo bem?

Você pode acessar suas credenciais indo em Menu API > Minhas Aplicações e clicando na aplicação desejada. Na página da aplicação, você encontrará as credenciais de homologação e produção.
Recomendamos que cada integração tenha sua própria aplicação. Isso facilita a visualização de logs, notificações e, se você usar a API Cobranças, evita ter várias URLs de notificação associadas a diferentes cobranças em uma única aplicação.

# pix
Avatar discord do usuario willianpereira1993_85683

willianpereira1993_85683

Olá bom dia! Percebi que minha url de notificação está com o endereço errado. Como faço para corrigir?

# assinaturas
Avatar discord do usuario jessica_efi

jessica_efi

Ah sim... seria o token de notificação. Seu sistema recebe um POST da Efí contendo o token de notificação. Para receber essas notificações, você precisa cadastrar uma URL de notificação na cobrança e prepará-la para ler o token na variável $_POST['notification']. A qualquer momento que você consultar esse token de notificação, irá obter as informações da cobrança.

# assinaturas
Avatar discord do usuario gil.brandao0067

gil.brandao0067

Ver Respostas

Bom dia @jessica_efi, certo, mas isso não está claro...
"sua url de notificação"

# assinaturas
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Bom dia @gil.brandao0067 ! Esse campo seria da sua url de notificação, para que você possa receber as baixas automáticas.

# bolix
Avatar discord do usuario .lortega

.lortega

Ver Respostas

Boa tarde, eu criei um boleto one-step onde em metadata eu passei uma url para notificar o pagamento. Após pago, na rota de notificação eu só recebo: { notification: '9630c7cb-62cb-4134-b1bb-e268aa9eef84' }

Como posso usar isso para atualizar o status do boleto na minha aplicação?

# bolix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Boa tarde, @.lortega! Tudo bem?

Sim, caso a URL de notificação seja informada, uma notificação será enviada para essa URL a cada alteração de status

# bolix
Avatar discord do usuario deson00

deson00

Ver Respostas

Percebi um erro no meu teste que no postman eu estava enviando por get usando x-www-form-urlencoded no entanto ao mudar para POST fucionou a notificação no postman

# devs
Avatar discord do usuario yasmin_efi

yasmin_efi

Isso mesmo @otavio.rigue, apenas a URL de notificação será suficiente para receber as baixas no seu sistema, após as cobranças registradas por aí

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Ok, no $body insira o ?ignorar=
$body = '{
"webhookUrl": "https://julioerp.agenciaweblab.com.br/webhook.php?ignorar="
}';

E no arquivo "/webhook.php" inseira o exemplo de código abaixo:

php

function resposta($status, $mensagem, $dados)
{
$resposta['status'] = $status;
$resposta['mensagem'] = $mensagem;
$resposta['dados'] = $dados;
$json_resposta = '
' . json_encode($resposta, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

header("HTTP/1.1 " . $status);
echo $json_resposta;
}

function salvar($dados)
{
// Crie um arquivo .;json para salvar as informações
$nomeArquivo = './dados.json';
$dadosGravados = json_decode(file_get_contents($nomeArquivo), true);
$arquivo = fopen($nomeArquivo, 'w');

// Incrementa as informações enviadas com o que já havia gravado
array_push($dadosGravados, $dados);

if (fwrite($arquivo, json_encode($dadosGravados))) {
resposta(200, "Requisição realizada com sucesso!", $dados);
} else {
resposta(300, "Falha ao salvar os dados da requisição.", $dados);
}

fclose($arquivo);
}

function requisicao($metodo, $body, $parametros)
{
switch ($metodo) {
case 'POST':
salvar($body);
break;
case 'GET':
resposta(200, "Requisição realizada com sucesso!", $body);
break;
}
}

// Obtém o método HTTP, body e parâmetros da requisição
$metodo = $_SERVER['REQUEST_METHOD'];
$parametros = explode('/', trim($_SERVER['REQUEST_URI'], '/'));
$body = json_decode(file_get_contents('php://input'), true);

try {
requisicao($metodo, $body, $parametros);
} catch (Exception $e) {
resposta(400, $e->getMessage(), $e);
}

A fim de teste, neste exemplo está salvando o json recebido em um arquivo dados.json. Então na mesma raiz crie-o com permissão de leitura e escrita. E escreva dentro do arquivo dados.json assim: [] para iniciar o json. Então simule um pagamento para receber a notificação.
Depois dos testes, pode manipular o json e gravar em um banco de dados.

# devs
Avatar discord do usuario otavio.rigue

otavio.rigue

Não seria necessário a alteração do campo "Identificador Próprio" apenas a alteração da URL de notificação para que as liquidações no nosso sistema após a migração dos dados?

# devs
Avatar discord do usuario yasmin_efi

yasmin_efi

Caso tenham sido emitidas via API, você também pode nos solicitar a alteração da URL de notificação, para que as baixas e atualizações de status das cobranças cheguem no seu sistema.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

A ideia é esta mesmo, @alissonmaciel_32335. Você irá utilizar este endpoint PUT/v2/webhook/:chave para associar sua URL de notificação a sua chave Pix. E então as cobranças Pix que tiverem um txid e sua chave Pix, nós iremos enviar a notificação para a URL registrada. Essa configuração pode ser feita uma única vez.

Pontuando que para registrar sua URL de notificação, é importante que seu servidor tenha algumas configurações para atender a comunicação com mTLS para segurança da sua aplicação. Você encontra mais detalhes em nossa documentação e nos vídeos a seguir: https://dev.gerencianet.com.br/docs/api-pix-endpoints#webhooks
https://youtu.be/hdyUHzNwVLY?list=PLRqvcUTH2VsWufBmzOdTVeLEOTGrPNoiu
https://youtu.be/XB9bcZFTV3M?list=PLRqvcUTH2VsWufBmzOdTVeLEOTGrPNoiu

# pix
Avatar discord do usuario enriquerene

enriquerene

Ver Respostas

Boa tarde. Estou tendo dificuldade para receber notificações do status da cobrança. Na documentação https://dev.efipay.com.br/docs/api-cobrancas/notificacoes/#recebendo-as-notifica%C3%A7%C3%B5es diz:
"Um POST vai conter apenas uma informação: um token de notificação. Esse token é enviado quando ocorre uma alteração no status da cobrança. Para receber essas notificações, você precisa cadastrar uma URL de notificação na cobrança e prepará-la para ler o token na variável $_POST['notification']."

No meu código eu faço
$token = $_POST['notification']

e recebo este erro na plataforma:
{
"code": 3500010,
"error": "property_does_not_exists",
"error_description": {
"property": "notification",
"message": "A propriedade [notification] informada não existe."
}
}


como resolvo?