Histórico de mensagens sobre location em pix

EXIBINDO CONVERSAS RECENTES:

Texto: location
Canal: pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Olám <@!756521010387484702>. Bom dia!
Você pode utilizar nossa SDK de Node que já possui todas as funções para você consumir. https://github.com/gerencianet/gn-api-sdk-node
Com o exemplo /examples/pix/charge/pixCreateImmediateCharge.js você criaria a cobrança.
E depois com o exemplo /examples/pix/location/pixGenerateQRCode.js você gera o QR Code passando o id do location da cobrança que criou

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Há mais parâmetros no EMV como valor, nome da loja etc., precisa preencher todos. Mas o único que você não tem como definir é o location, esse que precisa vir da GN.

Avatar discord do usuario perrot.

perrot.

Ver Respostas

Daí é só passar o location que ele retorna o QrCode? Vou dar uma olhada na doc. Obrigado!

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Uma opção é você mesmo gerar o QR-Code... na hora que a GN te passa o location, tudo que você precisa para gerar o QR ja está disponível.

Avatar discord do usuario smookeydev.cb

smookeydev.cb

Ver Respostas

Boa noite pessoal, estou implementando o PIX em uma aplicação, porém estou tendo problema com a configuração do webhook. Alguem poderia me ajudar?

Meu dominio usa a cloudflare para certificação SSL e usamos nginx para proxy reverso, eu recebo o request em /api/payments/pix/webhook/ e redireciono para o micro serviço dessa forma:

location /api/payments/pix/webhook/ {
proxy_pass http://localhost:5001/api/payments/pix/webhook
}

Tentei implementar a verificação no nginx dessa forma e não funcionou:
ssl_client_certificate /root/chain-pix-webhooks-sandbox.crt;
ssl_verify_client optional;
ssl_verify_depth 3;

location /api/payments/pix/webhook/ {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
proxy_pass http://localhost:5001/api/payments/pix/webhook
}

Ao tirar o if ele me retorna:

{
"nome": "webhook_invalido",
"mensagem": "A autenticação de TLS mútuo não está configurada na URL informada"
}

Tentei implementar o SSL e o certificado da gerencianet direto no micro serviço do webhook e também não funcionou, o webhook é feito em Flask, alguem consegue me dar uma luz?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Location não é relação ao file-system, é URI. Então seria /functions/gerencianet

Avatar discord do usuario oieusouofinx

oieusouofinx

Ver Respostas

Fala pessoal, bom dia! Sou novo aqui e estou com uma dúvida - por favor me desculpem se esse não é o formato correto ou se falei alguma besteira.

Estou fazendo uma cobrança PIX imediata (POST /v2/cob), mas estou tratando um caso de que não foi efetuado o pagamento. Vi que a expiração é em segundos (3600), ou seja, depois de uma hora essa cobrança é expirada.

Quando consulto a cobrança após uma hora (GET /v2/cob/:txid), o status dela ainda é ATIVA. Se eu acesso a url em location (no exemplo da documentacao, pix.example.com/qr/9d36b84f-c70b-478f-b95c-12729b90ca25), ela retorna a mensagem {"nome":"cobranca_expirada","mensagem":"A cobrança expirou"}.

Dada a situação, pergunto: qual a melhor forma de verificar se a cobrança está expirada? Acessar a url em location, calcular a data + expiração, ou existe uma forma mais efetiva?

Agradeço desde já!

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Deve verificar como está sendo montado o seu QR Code.
Para facilitar esta tarefa você pode utilizar um de nosso endpoints internos para gerar QRCode e o Pix Copia e Cola a partir do id do um location da cobrança.
Para isso basta consumir o endpoint GET /v2/loc/:id/qrcode

Avatar discord do usuario matwbug

matwbug

Alguém consegue me ajudar aqui com a api pix? por algum motivo minha requisição curl nao está dando response no site da gerencianet, até baixei os proprios códigos da doc e mesmo assim não foi, é como se a requisição não fosse feita, estou utilizando php


$config = [
"certificado" => BASE.'data/certif/gerencianet.pem',
"client_id" => "xx",
"client_secret" => "xx"
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/oauth/token", // Rota base, homologação 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 => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

curl_close($curl);

echo "
";
echo $response;
echo "
";
?>

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Entre no painel da Gerencianet e atribua o escopo na permissão dessas credenciais.

Scopes:


cob.write - Permissão para alteração de cobranças

cob.read - Permissão para consulta de cobranças

pix.write - Permissão para alteração de Pix

pix.read - Permissão para consulta de Pix

pix.send - Permissão para requisitar envio de Pix

webhook.write - Permissão para alteração do webhook

webhook.read - Permissão para consulta do webhook

payloadlocation.write - Permissão para criar location do payload

payloadlocation.read - Permissão para consulta de locations

gn.pix.evp.write - Permissão para criar/remover chave evp

gn.pix.evp.read - Permissão para listar chave evp

gn.balance.read - Permissão para buscar saldo da conta

gn.settings.write - Permissão para criar/modificar configurações da conta

gn.settings.read - Permissão para listar configurações da conta

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

Avatar discord do usuario Deleted User

Deleted User

Bom dia, pessoal. Tudo bom?
Estou tentando configurar o webhook. Fiz as configurações do apache2 para exigir o certificado, mas o recurso de configuração informa que a url retornou 403.
O certificado que coloquei foi baixado do link disponibilizado na documentação.
(https://pix.gerencianet.com.br/webhooks/chain-pix-prod.crt)

{
"nome": "webhook_invalido",
"mensagem": "A URL informada respondeu com o código HTTP 403"
}

SSLCertificateFile /etc/letsencrypt/live/udois.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/udois.com/privkey.pem
SSLCACertificateFile /var/www/html/Udois/resources/ssl/certificates/chain-pix-prod.crt

SSLVerifyClient none

SSLVerifyClient require
SSLVerifyDepth 3

Avatar discord do usuario alanvcb

alanvcb

Ver Respostas

"loc": {
"id": 2,
"location": "qrcodes-pix-h.gerencianet.com.br\/v2\/????????????????",
"tipoCob": "cob",
"criacao": "2021-05-20T21:28:01.449Z"
}

Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

Oi <@!291722988645122049> tudo bem? 😄
Agora basta usar o id do location (campo loc) para gerar o QrCode no enpoint GET/v2​/loc/{id}/qrcode

Avatar discord do usuario guilherme_efi

guilherme_efi

Outro detalhe é a adição do /pix no final da sua URL que deve ser tratada no location das configurações de seu Nginx.

Ou seja, na request PUT https://api-pix.gerencianet.com.br/v2/webhook/:chave você irá passar o body com sua URL, exemplo:

No entanto, a URL será registrada com o /pix no final, assim: https://seudominio.com.br/webhook/pix.

Então esta adição do /pix também dever ser tratada nas configurações do Nginx para que na rota /webhook/pix de seu servidor exija o certificado CA da Gerencianet e recebe o body a partir dela.

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

O id que você está passando de parâmetro é o id do location?

Avatar discord do usuario joey_burn

joey_burn

201
{"calendario":{"criacao":"2021-05-19T23:36:35.321Z","expiracao":3600},"txid":"4JRGQE27MP9WPULKUADIYRGVC7KM","revisao":0,"loc":{"id":86,"location":"qrcodes-pix-h.gerencianet.com.br/v2/f697492bd1944f7daf73d2f3f23a0897","tipoCob":"cob","criacao":"2021-05-19T23:36:35.352Z"},"location":"qrcodes-pix-h.gerencianet.com.br/v2/f697492bd1944f7daf73d2f3f23a0897","status":"ATIVA","valor":{"original":"123.45"},"chave":"5534984367252"}
400
Bad Request
400

Avatar discord do usuario joey_burn

joey_burn

201
{"calendario":{"criacao":"2021-05-19T23:02:40.802Z","expiracao":3600},"txid":"0ZQJERHT4KJ9J0RU4BZ0AAVBCFLB","revisao":0,"loc":{"id":80,"location":"qrcodes-pix-h.gerencianet.com.br/v2/ca8e231f084a41ba94c8e11dc5e44f57","tipoCob":"cob","criacao":"2021-05-19T23:02:40.843Z"},"location":"qrcodes-pix-h.gerencianet.com.br/v2/ca8e231f084a41ba94c8e11dc5e44f57","status":"ATIVA","valor":{"original":"123.45"},"chave":"+55 34 9 8436-7252"}

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Você pode gerar um location e associar a uma cobrança existente utilizando o PATCH /v2/cob/:txid. Esse uso está mais ligado à lojas de vendas de produtos em varejo, em que é preciso alterar dados de cobranças geradas previamente, não sei se é o seu caso.