Histórico de mensagens sobre url pix txid

EXIBINDO CONVERSAS RECENTES:

Texto: url pix txid
# devs
Avatar discord do usuario guilherme_efi

guilherme_efi

Bom dia, @sheikzadarevo! Tudo bem?
A URL de notificação não é definida na emissão da cobrança Pix.

Você deve associar uma URL de notificação a sua chave Pix, 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 através do endpoint PUT/v2/webhook/:chave (https://dev.gerencianet.com.br/docs/api-pix-endpoints#configurar-o-webhook-pix).

Pontuando que para registrar sua URL de notificação, seu servidor deve possuir algumas configurações para atender a comunicalção com mTLS. Você encotra mais detalhes em nossa documentação: https://dev.gerencianet.com.br/docs/api-pix-endpoints#webhooks

# dúvidas
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @Hagi. Como vai?
Existe sim. Na API Pix você deve registrar sua URL webhook associada a uma chave Pix, que pode ser o CNPJ. Então toda cobrança emitida com sua chave Pix que possuir um txid, nó iremos acionar o seu webhook para notificação.
Veja mais detalhes em nossa documentação: https://dev.gerencianet.com.br/docs/api-pix-endpoints#webhooks

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @deivson7351.
Segue um exemplo cURL para consultar um Pix a partir de seu txid.

php
$access_token = 'resultado da autenticação';
$certificado = 'caminho do certificado'
$txid = 'identificador do pix';

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-pix.gerencianet.com.br/v2/cob/' . $txid,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_SSLCERT => $certificado,
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
'authorization: Bearer ' . $access_token
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

# pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Boa tarde! Segue o exemplo:


$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-pix.gerencianet.com.br/v2/cob/' + $txid,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'authorization: Bearer $access_token',
'x-client-cert-pem: {{X-Certificate-Pem}}'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Você pode receber notificações automaticamente via webhook referente às modificações de status de uma cobrança Pix. Para isso, será necessário a inserção de uma chave pública da Gerencianet em seu servidor para que a comunicação obedeça o padrão mTLS.
Veja mais detalhes em nossa documentação: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-webhooks

Ou seja, primeiramente em um servidor dedicado, você deve inserir uma chave pública da Gerencianet nas configurações de seu servidor para que a comunicação obedeça o padrão mTLS (forma de autenticação mutua).
Veja um exemplo desta configuração em um servidor Apache, Nginx, Node, etc: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-exemplos-de-configura-es-de-servidor

Então com seu servidor configurado com mTLS em seu domínio (ex: https://seudominio.com.br/webhook/" class="link-msg">https://seudominio.com.br/webhook/), você irá consumir a rota PUT /v2​/webhook/:chave uma única vez para registrar seu webhookUrl vinculado à sua chave Pix. Acrescentando uma observação que é a adição do /pix no final da sua URL. Ou seja, na request PUT https://api-pix.gerencianet.com.br/v2/webhook/:chave você irá passar o body com sua URL, exemplo:

json
{
"webhookUrl": "https://seudominio.com.br/webhook"
}
No entanto, as notificações serão enviadas para sua URL com o /pix no final, assim: https://seudominio.com.br/webhook/pix.

Desta forma, esta adição do /pix também dever ser tratada nas configurações de seu servidor para que na rota /webhook/pix de seu servidor também exija o certificado CA da Gerencianet.

Veja mais detalhes sobre o endpoint: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-configurar-o-webhook-pix

Com isto, todo Pix gerado com sua chave Pix e que possua um txid, serão enviados as notificações para sua URL.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Primeiro você deve autenticar na API e obter o access_token.

php
$curl = curl_init();

$authorization = base64_encode("$client_id:$client_secret");

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/oauth/token", // Rota base, desenvolvimento ou produção
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{"grant_type": "client_credentials"}',
CURLOPT_SSLCERT => $arq_certificado, // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $authorization",
"Content-Type: application/json"
),
));

$auth = json_decode(curl_exec($curl), true);

curl_close($curl);

$tokenType = $auth['token_type'];
$accessToken = $auth['access_token'];

Depois emitir o pix
php
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/v2/cob/$txID",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_SSLCERT => $arq_certificado, // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_POSTFIELDS => '{
"calendario": {
"expiracao": 3600
},
"devedor": {
"cpf": "02279112312",
"nome": "Maria apareciada monteiro"
},
"valor": {
"original": "10.21"
},
"chave": "",
"solicitacaoPagador": "Mensaldiade Monteiro Sistemas"
}',
CURLOPT_HTTPHEADER => array(
"authorization: $tokenType $accessToken",
"Content-Type: application/json"
),
));

$dadosPix = json_decode(curl_exec($curl), true);
curl_close($curl);

return $dadosPix;

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Com o pix.ae especificamente dá para fazer algumas coisas:
- Colocar a URL do webhook num diretório não óbvio, tipo api.exemplo.com.br/sduasiduasiduai . Aí quem sabe é pq foi informado pela GN.
- Checar o IP de conexão para ver se é o IP que você já costuma receber.
- Checar a chave Pix do webhook e comparar com a chave da cobrança daquele txid.

Com AWS dá pra fechar melhor, sim, mas dá para mitigar um pouco via pix.ae mesmo.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Então com seu servidor configurado com mTLS em seu domínio (ex: https://seudominio.com.br/webhook), você irá consumir o endpoint PUT /v2​/webhook/:chave uma única vez para registrar seu webhookUrl vinculado à sua chave Pix.

Com isto, todo Pix gerado com sua chave Pix e que possua um txid, serão enviados as notificações para sua URL.

# pix
Avatar discord do usuario lucapwn

lucapwn

Ver Respostas

Olá, boa noite! Tudo bem? 😀
Estou tentando criar meu próprio webhook em PHP (no meu servidor dedicado) para receber as notificações de pagamentos realizados via Pix, e há algum problema, pois não recebo as notificações de pagamentos. Segue o código em PHP abaixo:

header("Content-Type: application/json");
$request = file_get_contents("php://input");
file_put_contents("webhook.json", print_r($request, true));
print_r($request);
?>

Recebo a notificação de configuração do link do webhook normalmente:

{
"webhookUrl": "https://exemplo-pix/webhook"
}

Mas não recebo a notificação quando realizo o pagamento:

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

Tentei utilizar o exemplo de configuração de servidor em Python desenvolvido em Flask (https://dev.gerencianet.com.br/v1/docs/api-pix#section-exemplos-de-uma-configura-o-de-servidor-), mas não consegui seguir esse exemplo. ☹️

Já testei em sites de terceiros (como o https://webhook.site), e funciona normalmente (recebi a notificação do pagamento).

O meu servidor possui certificado SSL e a versão do TLS é 1.2.

Preciso receber essas notificações e armazená-las em algum lugar para verificar se o pagamento foi realizado. Vocês podem me ajudar? Irei ficar muito grato! Muito obrigado! 😀

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Você pode receber notificações automaticamente via webhook referente às modificações de status de uma cobrança Pix. Para isso, será necessário a inserção de uma chave pública da Gerencianet em seu servidor para que a comunicação obedeça o padrão mTLS.
Veja mais detalhes em nossa documentação: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-webhooks

Ou seja, primeiramente para um servidor dedicado, você deve inserir uma chave pública da Gerencianet em seu servidor para que a comunicação obedeça o padrão mTLS (forma de autenticação mutua).
Veja um exemplo desta configuração em um servidor Apache ou Nginx: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-exemplos-de-configura-es-de-servidor

Então com seu servidor configurado com mTLS em seu domínio (ex: https://seudominio.com.br/webhook/" class="link-msg">https://seudominio.com.br/webhook/), você irá consumir a rota PUT /v2​/webhook/:chave uma única vez para registrar seu webhookUrl vinculado à sua chave Pix.
Acrescentando uma observação que é a adição do /pix no final da sua URL. Ou seja, na request PUT https://api-pix.gerencianet.com.br/v2/webhook/:chave você irá passar o body com sua URL, exemplo:
{
"webhookUrl": "https://seudominio.com.br/webhook"
}

No entanto, a URL será registrada com o /pix no final, assim: https://seudominio.com.br/webhook/pix.
Ou seja, esta adição do /pix também dever ser tratada nas configurações de seu servidor para que na rota /webhook/pix de seu servidor exija o certificado CA da Gerencianet.
Veja mais detalhes sobre o endpoint: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-configurar-o-webhook-pix

Com isto, todo Pix gerado com sua chave Pix e que possua um txid, serão enviados as notificações para sua URL.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não, na API Pix a URL é definida para chave Pix. E o que você tem para dar match são chave e txid.

# pix
Avatar discord do usuario suricatobr

suricatobr

Ver Respostas

bom dia @Consultoria Técnica , o callback via post na url, é dado na variável pix contendo endToEndId,txid,valor ou é dada individualmente em cada um dos valores?
// 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"
}
]
}

# pix
Avatar discord do usuario Deleted User

Deleted User

Boa tarde, pessoal!

Estou tendo um problema com o recebimento do webhook.

Na rota de webhook eu programei pra registrar um log das requests pra eu ver se está tudo ok. Quando eu faço um PUT pra configurar o webhook, o site faz o log do evento teste certinho e tenho o retorno HTTP 200 OK.

[2021-05-21 12:09:58] production.INFO: {"evento":"teste_webhook","data_criacao":"2021-05-21T15:09:58.047Z"}

Quando faço um pagamento real, eu não encontro log nenhum do webhook no site e nem na rota de consulta dos webhooks.

URL: https://api-pix.gerencianet.com.br/v2/webhook?inicio=2020-05-20T21:00:00Z&fim=2020-05-22T21:01:35Z (GET)

json
{
"parametros": {
"inicio": "2020-05-20T21:00:00.000Z",
"fim": "2020-05-22T21:01:35.000Z",
"paginacao": {
"paginaAtual": 0,
"itensPorPagina": 100,
"quantidadeDePaginas": 0,
"quantidadeTotalDeItens": 0
}
},
"webhooks": []
}

Cobrança que eu fiz teste
json
{
"calendario": {
"criacao": "2021-05-21T14:51:23.000Z",
"expiracao": 115200
},
"txid": "1a0cbe16ec6a44baade5f93784ff7273",
"revisao": 0,
"loc": {
"id": 68,
"location": "qrcodes-pix.gerencianet.com.br/v2/75363c7ef9e64723955d5ed656924c2f",
"tipoCob": "cob",
"criacao": "2021-05-21T14:51:23.000Z"
},
"location": "qrcodes-pix.gerencianet.com.br/v2/75363c7ef9e64723955d5ed656924c2f",
"status": "CONCLUIDA",
"valor": {
"original": "0.50"
},
"chave": "ff70834e-483e-4ece-bd9f-77ae46ca350b",
"pix": [
{
"endToEndId": "E0036030520210521145244d044acecd",
"txid": "1a0cbe16ec6a44baade5f93784ff7273",
"valor": "0.50",
"chave": "ff70834e-483e-4ece-bd9f-77ae46ca350b",
"horario": "2021-05-21T14:52:35.000Z"
}
]
}

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Exatamente. Os callbacks são enviados pela Gerencianet via POST {$request.body#​/webhookUrl}​/pix quando houver uma alteração no status do PIX. O seguinte é um exemplo de um Pix recebido

json
{
"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

A consulta pela URL é só com o e2eid. Dá para consultar /pix pelo txid mandando inicio/fim/txid, mas se não foi pago vai ter resposta nula.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Primeiramente, para um servidor dedicado, você deve inserir uma chave pública da Gerencianet em seu servidor para que a comunicação obedeça o padrão mTLS (forma de autenticação mutua).
Veja mais detalhes em: https://dev.gerencianet.com.br/v1/docs/api-pix#section-webhook

Então com seu servidor configurado com mTLS em seu domínio (ex: https://seudominio.com.br/webhook), você irá consumir a rota PUT /v2​/webhook/:chave uma única vez para registrar seu webhookUrl vinculado à sua chave Pix. Na SDK de PHP você pode utilizar do exemplo: /examples/pix/webhooks/update.php

Acrescentando uma observação que é a adição do /pix no final da sua URL. Ou seja, na request PUT https://api-pix.gerencianet.com.br/v2/webhook/:chave você irá passar o body com sua URL, exemplo:
{
"webhookUrl": "https://seudominio.com.br/webhook"
}

No entanto, a URL será registrada com o /pix no final, assim: https://seudominio.com.br/webhook/pix.
Ou seja, esta adição do /pix também dever ser tratada nas configurações de seu servidor para que na rota /webhook/pix de seu servidor exija o certificado CA da Gerencianet.

Com isto, todo Pix gerado com sua chave Pix e que possua um txid, serão enviados as notificações para sua URL.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, <@!257617133595262977>. As notificações do Pix funcionam um pouco diferentes da API de cobranças.
Primeiramente, para um servidor dedicado, você deve inserir uma chave pública da Gerencianet em seu servidor para que a comunicação obedeça o padrão mTLS.

Então com seu servidor configurado com mTLS em seu domínio, ex https://seudominio.com.br/webhook, você irá consumir a rota PUT /v2​/webhook/:chave uma única vez para registrar seu webhookUrl vinculado à sua chave Pix.

Com isto, todo Pix gerado com sua chave Pix e que possua um txid, serão enviados as notificações para sua URL.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

<@!723278999236771916> o que o Rubens lhe exemplificou é no momento que você for vincular sua chave Pix a uma URL do Webhook.

Ou seja, para que seu sistema receba estas notificações, primeiramente você deve consumir a rota PUT /v2​/webhook/:chave, no caso da SDK utilize o arquivo examples\pix\webhooks\update.php passando como parâmetro sua chave Pix, no body sua URL do webhook e 'x-skip-mtls-checking' => 'false', // Para validar o mTLS

Desta forma, , os PIX associados a um txid gerados com sua chave serão notificados.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, <@!447502336060030977>! É possível sim.
Basta você associar uma URL do seu servidor à sua chave pix. Desta forma, todas alterações de status de um Pix associado a um txid será enviada uma notificação para seu webhook.