Histórico de mensagens sobre location em pix

EXIBINDO CONVERSAS RECENTES:

Texto: location
Canal: pix
Avatar discord do usuario felipoantonoff

felipoantonoff

Ver Respostas

Olá, pessoal, a Hospedagem configurou o mTLS para o Webhook do Pix, podem ver se fizeram certo:

ssl_client_certificate /home/site/chain-pix-prod.crt;
ssl_verify_client optional;
ssl_verify_depth 3;
location /webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
#rewrite ^(.)$ /webhook;
rewrite ^/webhook$ https://site.com.br/index.php?route=extension/payment/code_gerencianet_pix/webhook redirect;
}

Tirei a URL do site, basicamente na url extension/payment... fica a função que recebe o Webhook da Gerencianet Pix
Na parte de emissão do Pix criamos o Webhook usando a URL site.com.br/webhook, mas tem retornado erro:
CurlOperation timed out after 8001 milliseconds with 0 bytes received
ou Response {"nome":"webhook_invalido","mensagem":"A URL informada respondeu com o código HTTP 403"}

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Boa tarde, <@!371450194056708097>. Como dito pelo Rubens, você pode utilizar o BRCode, também chamado de copia e cola. Ao utilizar o endpoint GET /v2/loc/:id/qrcode é retornado a imagem do QRCode em Base64 e um código copia e cola que pode ser utilizado com o propósito que você necessita. Segue os detalhes desse endpoint: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-gerar-qrcode-de-um-location.

Avatar discord do usuario josecarlos8867

josecarlos8867

Ver Respostas

Boa noite!
Quando o prazo da cobrança pix é expirado, o status da cobrança é alterado ou sempre vai ser ativo?
Exemplo de retorno:

{
"calendario": {
"criacao": "2021-08-03T18:20:34.000Z",
"expiracao": 3600
},
"txid": "",
"revisao": 0,
"loc": {
"id": 27,
"location": "
",
"tipoCob": "cob",
"criacao": "2021-08-03T18:20:34.000Z"
},
"location": "
",
"status": "ATIVA",
"devedor": {
"cnpj": "
",
"nome": "
"
},
"valor": {
"original": "1.00"
},
"chave": "
",
"solicitacaoPagador": "Teste Gerencianet"
}

Avatar discord do usuario wesleyadiel1953

wesleyadiel1953

Ver Respostas

Queria saber se para cada vez que eu for criar um novo QRCode de cobrança, vou ter que criar um novo Payload location ou se posso criar um e somente ir regerando o QRCode com o outro valor de cobrança, essa seria minha dúvida

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Bom dia, <@!872084538669531166>. Qual a sua dúvida? De qualquer forma, segue uma breve explicação dos termos em nosso glossário https://dev.gerencianet.com.br/docs/api-pix-glossario#section-location

Avatar discord do usuario wesleyadiel1953

wesleyadiel1953

Ver Respostas

Bom dia, alguém poderia me tirar um dúvida sobre Payload locations? Queria entender ao certo o funcionamento, antes de iniciar o desenvolvimento.

Avatar discord do usuario igor_efi

igor_efi


$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://sandbox.gerencianet.com.br/v1/charge/one-step',
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 =>'{
"items": [{
"name": "Product 1",
"value": 500,
"amount": 1
}],
"shippings": [{
"name": "Default Shipping Cost",
"value": 100
}],
"payment": {
"banking_billet": {
"expire_at": "2019-10-16",
"customer": {
"name": "Gorbadoc Oldbuck",
"email": "[email protected]",
"cpf": "14014603059",
"birth": "1977-01-15",
"phone_number": "62986070247"

}
}
}
}',
CURLOPT_HTTPHEADER => array(
'Authorization: {{Authorization}}',
'Content-Type: application/json'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Avatar discord do usuario Prof Zoidberg

Prof Zoidberg

$config = [
"certificado" => "./gerenciamento.pem",
"client_id" => "XXXXX",
"client_secret" => "XXXXX"
];
$autorizacao = $chaveiro["access_token"];

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-pix.gerencianet.com.br/v2/webhook/XXXXX',
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 => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => $chaveiro["access_token"],
CURLOPT_POSTFIELDS =>'{
"webhookUrl": "https://XXXXX/webhook.php"
}',
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $autorizacao",
'x-client-cert-pem: ./gerenciamento.pem',
'x-skip-mtls-checking: false'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;

Avatar discord do usuario Prof Zoidberg

Prof Zoidberg

Ver Respostas

eu tenho esse código (que achei na documentação):
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-pix.gerencianet.com.br/v2/pix?inicio=2021-07-13T00:00:00.000Z&fim=2021-07-19T23:00:00.000Z',
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(
'x-account-code: d74543e3a0fe7a7836a88dd97a281804'
),
));
$response = curl_exec($curl);

Avatar discord do usuario matheus_efi

matheus_efi

Para gerar o QR Code você pode utilizar o endpoint GET /v2/loc/:id/qrcode, você informa o id do location e retornamos o copia e cola e a imagem do QR Code em Base64.

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Nesse link https://dev.gerencianet.com.br/docs/api-pix-endpoints você encontra todos os endpoints do PIX. Mas basicamente, primeiramente você cria uma cobrança utilizando a rota POST/vs/cob, em seguida você você utiliza o id do location retornado no primeiro consumo para gerar o qrcode, consumindo a rota GET/v2/loc/:id/qrcode, nela voce tera como retorno o pix copia e cola e a imagemQrcode em base64.

Avatar discord do usuario jessica_efi

jessica_efi

No link que enviei tem a definição de location:
Um location é a URL do tipo URL de capacidade que serve de endereço para uma cobrança. Em outras palavras é através de um location que se torna possível resgatar as informações relacionadas a uma cobrança e, assim, realizar as movimentações.

Avatar discord do usuario majorpe.

majorpe.

Ver Respostas

nada.. esse exemplo mesmo, ate agora nao achei onde descreve oque são locations.. nao vi sobre oque é uma charge( somente que é uma abertura de cobrança eu acho) daí depois tem q informar a forma de pagamento , etc...

Avatar discord do usuario majorpe.

majorpe.

Ver Respostas

pessoal por favor à qq um.. estou totalmente perdido nessa documentação da API Pix... tem em algum lugar algum passo a passo mesmo? tipo tenho varias duvidas, diferença entre criar uma Charge e um envio de pix de fato, oque são locations, eu preciso validar o certificado sempre antes de requisitar algum endpoint? onde encontro um código funcional msm?? o do github n tbm n consegui seguir, muito disperso pra mim 😦 valeu!!!! sei que teve outros com essa dificuldade, espero q sim kk valeu!!!

Avatar discord do usuario .teomacedo

.teomacedo

Olá!
Não estou conseguindo fazer funcionar seguindo a referencia desse segundo exemplo proposto na documentação.


:443> # Porta HTTPS
#
# ...
#

ServerName dominiodetestes.com.br
SSLCertificateFile /etc/letsencrypt/live/pixspeak.com.br/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/pixspeak.com.br/privkey.pem

# mTLS Gerencianet
SSLVerifyClient none

SSLVerifyClient require
SSLVerifyDepth 3


#
# ...
#



o retorno que recebo é o seguinte:

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

____
porem se eu uso o primeiro modelo de exemplo que é indicado para sub-dominios, então funciona.
Enfim, preciso configurar o apache para que os certificados sejam solicitados apenas quando a url for (dominiodetestes.com.br/webhook), mas assim como comentado acima, mesmo usando o modelo da documentação, não estou conseguindo. O que será que estou fazendo de errado?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Precisa colocar https://. No location não está escrito para economizar caracteres, mas é sempre https.

Avatar discord do usuario emersonmoura

emersonmoura

Ver Respostas

estranho, peguei o location aqui, joguei no navegador e fica esperando resposta como se tivesse atrás de um firewall 🤔

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O location é acessível de qualquer lugar. Por isso inclusive ele é parte da API Pix, ele transita na Internet, não na RSFN.

Avatar discord do usuario rubenskuhl

rubenskuhl

Pq a sequência de diagnóstico é passar no QR-Decoder, ver o location, baixar o JWT, usar o jwt.io e ver a parte de criptografia e o JSON do payload.