Histórico de mensagens sobre webhook pix

EXIBINDO CONVERSAS RECENTES:

Texto: webhook pix
# pix
Avatar discord do usuario raphas9

raphas9

Ver Respostas

@guilherme_efi @hiagosilvas

Supondo que aconteça a possibilidade de vir N elementos no webhook, seriam elementos com txId diferentes certo?

Um txid só pode ter um endToEnd?

Pergunto pq estava mapeando o pix no meu banco de dados da seguinte forma:

Tabela pix
Txid,
Brcode,
endToEndId

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Eu entendi, mas você não está acreditando que é o mesmo retorno entre o webhook e o GET de /pix. Só que é, mas não vou ficar repetindo.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

E isto é um webhook:

{
"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"
}
]
}

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Mas é a mesma coisa. Diferente da API de Cobranças, no webhook a notificação tem os mesmos dados que se pode obter no GET de /pix. Mesmo objeto, mesmos campos, mesmos tudo.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Mas são os mesmos... o webhook é um array de pix.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Tem esse mesmos dados do webhook no GET de /pix. GET /v2/pix?inicio=fim=txid= .

# bolix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

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

# pix
Avatar discord do usuario mbratti

mbratti

Ver Respostas

Boa noite, quando uma cobrança de pix é paga dispara o webhook/pix, quando a cobrança expira tem algum webhook que eu possa usar?

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

@rian2965, atualmente não está sendo listado mesmo os registros de notificações no painel da aplicação. Neste caso, sugiro verificar nos logs do seu servidor HTTP.
Você registrou uma webhhok URL no endpoint PUT /v2/webhook/:chave?

# 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

webhook não precisa recuperar, o acionamento do webhook já vai te mandar os dados.
Mas webhook, GET de /cob (pós-pagamento) e GET de /pix todos tem os mesmos dados.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Vem no webhook, tem no GET de /cob também um objeto pix com ele, após o pagamento acontecer.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Eles fazem reenvio automático caso você não confirme com HTTP 2xx que recebeu. Acho que tem na doc os intervalos entre reenvios.

Se você estiver desconfiado de que o webhook era para ter vindo e não veio, GET de /pix com filtro por inicio/fim/txid já te o mesmo conteúdo que o webhook daria.

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

marcelo_efi

Ver Respostas

Sim, o webhook é cadastrado para a chave Pix

# pix
Avatar discord do usuario rian2965

rian2965

Opa boa tarde, tô tentando fazer a integração do webhook pix em minha aplicação porem deu o seguinte erro
"error":"insufficient_scope","error_description":"Access token has insufficient scope"

acredito que não faltou nenhum parametro, e o access token é valido. O que poderia ser?

# bolix
Avatar discord do usuario rubenskuhl

rubenskuhl

Eu tenho a sensação de que a Efí poderia considerar uma das 3 outras técnicas de notificação que poderiam ser usadas ao invés do webhook:
- HTTP Long Polling
- WebSockets
- Server-Sent Events

Só precisaria ver qual escalaria o suficiente para um ambiente com muitos clientes e poucas notificações por cliente. O Pix usa HTTP Long Polling no SPI, mas são 1000 e poucos PSPs apenas.

# pix
Avatar discord do usuario carlossulzer

carlossulzer

Ver Respostas

Boa tarde. Na utilização do webhook o que seria essa chave, o txid? ainda estou me acostumando com os termos do PIX e algumas coisas ainda não conheço. Se alguém pude ajudar. Obrigado

PixDetailWebhook = new
{
route = "/v2/webhook/:chave",
method = "GET"
},