Histórico de mensagens sobre url

EXIBINDO CONVERSAS RECENTES:

Texto: url
# 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?

# pix
Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver Respostas

string(102) "{"nome":"webhook_invalido","mensagem":"A requisição na URL informada falhou com o erro: ECONNRESET"}"

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

alissonmaciel_32335

Meu Webhook: public function webhook() {
$body = '{
"webhookUrl": "https://julioerp.agenciaweblab.com.br/webhook.php"
}';
try {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->config['rotas'] . '/v2/webhook/' . $this->config['chave_pix']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_SSLCERT, $this->config["certificado"]);
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, '');
$headers = array();
$headers[] = 'Authorization: Basic ' . $this->access_token;
$headers[] = 'X-Skip-Mtls-Checking: true';
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);

echo '

';
var_dump($this->config['chave_pix'], $this->config['client_id'], $this->config['client_secret'], $result);
echo '
';

if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
return $result;
} catch (Exception $e) {
echo '
';
var_dump($e->getCode(), $e->getFile(), $e->getMessage());
echo '
';
}
}

# pix
Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver Respostas

Estou executando este método:
public function webhook() {
$body = '{
"webhookUrl": "https://julioerp.agenciaweblab.com.br/webhook.php"
}';
try {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->config['rotas'] . '/v2/webhook/' . $this->config['chave_pix']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_SSLCERT, $this->config["certificado"]);
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, '');
$headers = array();
$headers[] = 'Authorization: Bearer ' . $this->access_token;
$headers[] = 'X-Skip-Mtls-Checking: true';
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);

echo '

';
var_dump($this->config['chave_pix'], $result);
echo '
';

if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
return $result;
} catch (Exception $e) {
echo '
';
var_dump($e->getCode(), $e->getFile(), $e->getMessage());
echo '
';
}
}

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

rubenskuhl

Ver Respostas

Essa chamada você só precisa fazer uma vez para sua chave Pix, e não a cada cobrança.
E na URL falta o "?ignorar=" no final, pois a URL é depois sufixada com /pix.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Oi, @alissonmaciel_32335. Bom dia!
Você precisa enviar o certificado em todas as requisições, não apenas na autenticação.
Adicione o código com o caminho do certificado.

php
CURLOPT_SSLCERT => $certificado, // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Mas se quiser spoiler do que você vai ver, é uma requisição POST feita para a URL do webhook sem apresentar o certificado, seguida de uma com o certificado, na hora em que você ativa.
E depois, quando vem o Pix, eles fazem POST em URL+"/pix" com um array de objetos Pix.

# pix
Avatar discord do usuario yasmin_efi

yasmin_efi

Lembrando que a notificação ela vai para sua URL com o /pix ao final

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Um detalhe que você precisa conferir, é se você registrar a URL assim http://urldosite.com.br/notifications.php, ao acionar o webhook, será acrescentado um /pix na URL. Portanto, deve-se ser tratado a adição do /pix na URL.

Para solucionar isso, cadastre seu webhook URL com a query param ?ignorar=. Assim, quando o webhook for acionado, o /pix será tratado como um parâmetro e você receberá o JSON no arquivo notifications.php, conforme a seguinte URL: http://urldosite.com.b/notifications.php?ignorar=/pix.

# pix
Avatar discord do usuario geisonderrico

geisonderrico

Ver Respostas

A questão que estou fazendo é que para nós a própria API não está fazendo requisição no WebHook após ser pago o PIX. Olhando dentro da plataforma da EFI, é possível ver nas requisições que são feitas que nenhum método POST para o WebHook é realizado após ter sido pago o PIX. A URL do WebHook está funcionando, pois quando eu faço requisições GET por exemplo, aparece na plataforma da EFI.

# pix
Avatar discord do usuario geisonderrico

geisonderrico

Ver Respostas

Sim, foi vinculado a chave ao URL do WebHook

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A URL do atendedor é a que você cadastrou mais "/pix" no final ? Se cadastra exemplo.com.br, a Efí vai chamar exemplo.com.br/pix

# pix
Avatar discord do usuario ksevendev

ksevendev

Ver Respostas

Vinculou a chave ao url webhook?

# pix
Avatar discord do usuario buenolitz

buenolitz

Ver Respostas

@jessica_efi Traz o mesmo erro "{'nome': 'webhook_invalido', 'mensagem': 'A requisição na URL informada falhou com o erro: ERR_TLS_CERT_ALTNAME_INVALID'}"

# devs
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não, não é problema de virtual host, que poderia ser usado. Mas a URL que vc passou está sofrendo redirecionamento, talvez até mesmo para o outro virtual host, e tem que passar URL já final do redirecionamento.

# devs
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Bom dia, @martins.dev! Tudo bem?
Neste caso, a URL que você informou no cadastro esta retornando o status HTTP 301 quando é realizado uma requisição de teste para ela.
O status HTTP 301 é um código de status de resposta HTTP usado para redirecionamento permanente de URL

# pix
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Bom dia @buenolitz ! Ao cadastrar o webhook, é retornado a mesma url que você cadastrou (o mesmo body enviado):

{
"webhookUrl": "https://exemplo-pix/webhook"
}
O que está retornando pra você?

# pix
Avatar discord do usuario buenolitz

buenolitz

Ver Respostas

Boa noite, a URL do webhook no servidor flask tem que retornar algo ? Não estou conseguindo fazer o cadastro de webhook