Histórico de mensagens sobre location

EXIBINDO CONVERSAS RECENTES:

Texto: location
# pix
Avatar discord do usuario smsoousa

smsoousa

Ver Respostas

<@!775350441965649951> , tenho pouca experiência em PHP. Estou utilizando o código pronto desenvolvido pelo canal WDEV. O QrCode estático está funcionando muito bem, porém, quando tento gerar o QrCode dinâmico, recebo o seguinte erro:
Array
(
[message] => Forbidden
)
Que está relativamente ligado com o item Location

# pix
Avatar discord do usuario destemido9466

destemido9466

$config = [
"certificate" => realpath("certs/producao/certificado.pem")
];

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix.gerencianet.com.br/v2/webhook/".$chave_pix,
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["certificate"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_POSTFIELDS =>'{
"webhookUrl": "https://webhook.com/webhook"
}',
CURLOPT_HTTPHEADER => array(
'authorization: Bearer '.$access_token,
'x-skip-mtls-checking: false',
'Content-Type: application/json'
),
));

$response = curl_exec($curl);
$options = json_decode($response, true);


if ($response === FALSE){
$curl_error = curl_error($curl);
}

curl_close($curl);
echo $response;

# pix
Avatar discord do usuario diegohenrique1989

diegohenrique1989

Ver Respostas

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-pix-h.gerencianet.com.br/v2/webhook/[email protected]',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_SSLCERT => OPTIONS["pix_cert"],
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS =>'{
"webhookUrl": "' . WEBHOOK_URL . '"
}',
CURLOPT_HTTPHEADER => array(
"authorization: $tokenType $token",
'x-client-cert-pem: {{X-Certificate-Pem}}',
'x-skip-mtls-checking: true'
),
));

# pix
Avatar discord do usuario brunodelara

brunodelara

Cara, melhor fazer diretamente no vhost. dentro do assim como está no site

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

O 25 que está zerado devia ser o sub-campo 25 do campo 26, que é o location. E tinha que ter a URL do payload aí.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Um que está faltando é o location, que é o que vai permitir o PSP do pagador acessar os dados da cobrança.

# pix
Avatar discord do usuario cleiton7853

cleiton7853

SSLVerifyClient none

SSLVerifyClient require
SSLVerifyDepth 3

# pix
Avatar discord do usuario lindomar-oliveira

lindomar-oliveira

Ver Respostas

server {

location / {
root /var/www/html;
try_files $uri /index.html;
}

location /api {
proxy_pass http://localhost:5000/api;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}

location /api/gn/webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}

proxy_pass http://localhost:5000/api;
}


listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/privkey.pem; # managed by Certbot
ssl_client_certificate /home/certs/gn-webhook-pix-prod.crt;
ssl_verify_client optional;
ssl_verify_depth 3;
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, <@!837319378772820018>!

Cada location é uma url de capacidade. As URLs de capacidade concedem acesso a informações para qualquer pessoa que tenha a URL.

Neste caso, no momento que o usuário pagador efetua a leitura de um QR Code dinâmico gerado pelo recebedor, esta URL será acessada pelo PSP pagador e seu conteúdo consiste em uma estrutura JWS. Este objeto JWS apresenta três fragmentos separados pelo caractere . (ponto). São eles: header, payload e signature. Segue um exemplo:

eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXUyJ9.eyJ0eElkIjoiNTJjNDMzNjEtY2FhMS00ZGRiLTkxNTItNzA4NDI2YTI1ZGIzIiwicmV2aXNhbyI6IjMiLCJjYWxlbmRhcmlvIjp7ImNyaWFjYW8iOiIyMDIwLTA5LTE1VDE5OjM5OjU0LjAxM1oiLCJhcHJlc2VudGFjYW8iOiIyMDIwLTA0LTAxVDE4OjAwOjAwWiIsImV4cGlyYWNhbyI6IjEyMDAifSwidmFsb3IiOnsib3JpZ2luYWwiOiI1MDAuMDAifSwiY2hhdmUiOiI3NDA3YzljOC1mNzhiLTExZWEtYWRjMS0wMjQyYWMxMjAwMDIiLCJzb2xpY2l0YWNhb1BhZ2Fkb3IiOiJJbmZvcm1hciBjYXJ0w6NvIGZpZGVsaWRhZGUiLCJpbmZvQWRpY2lvbmFpcyI6W3sibm9tZSI6InF1YW50aWRhZGUiLCJ2YWxvciI6IjIifV19.khlLEW4Q4W6zIYlacIaSHzwg_q9JrIkeinmvRDcUUD3120oXXew_xqSEAWsefY28g4MhUmK-RuaZgn1_rR22ZVM1pDbblw7Sk6dlHGxEc8PbMzMgEJPLdOZRumzMLx6YBYLAYsxT-HZp_vmBT713biN3jJf3V55z9RK6Xyo1CeWvemt81_O4kyGZ9lbp7p0VhmdJ9u6_EquEyP2n0uWy2ikbe7AFobkAdBRoF8gtp891WG5-gZmk4ZzATORNQOTrytQYMyprWV7o_prVjwT308RUo9Si-FRPTvYRGqyKo-voGoQVaZgCMUjc0jLr9WqYCRMyeCJZHTJmpaCFSNQnhw
Em termos de funcionalidade, o fragmento que interessa ao pagador é o "payload", que apresenta estrutura contendo detalhes da cobrança, conforme exemplo:
json
{
"txId": "fc9a4366ff3d4964b5dbc6c91a8722d3",
"revisao": "3",
"calendario": {
"criacao": "2020-09-15T19:39:54.013Z",
"apresentacao": "2020-04-01T18:00:00Z",
"expiracao": 3600
},
"status": "ATIVA",
"valor": {
"original": "500.00"
},
"chave": "7407c9c8-f78b-11ea-adc1-0242ac120002",
"solicitacaoPagador": "Informe o número ou identificador do pedido.",
"infoAdicionais": [
{
"nome": "quantidade",
"valor": "2"
}
]
}

# pix
Avatar discord do usuario fernandogomes2667

fernandogomes2667

Ver Respostas

Bom dia, alguém poderia me dar uma breve definição do location ou link contendo a definição?

# pix
Avatar discord do usuario vitoremanoel_

vitoremanoel_

Ver Respostas

Config nginx:

server {
listen 443 ssl;
ssl_client_certificate /etc/certificates/gn-chain-pix-prod.crt;
ssl_verify_client optional;
ssl_verify_depth 2;

ssl_certificate /etc/certificates/server_ssl.crt;
ssl_certificate_key /etc/certificates/server_ssl.key;

server_name dnsaqui;

location /gn/pix {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header SSL_Client $ssl_client_s_dn;
proxy_set_header SSL_Client_Verify $ssl_client_verify;
proxy_pass http://192.168.0.114:6060/pix;
}

location /gn {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
return 200 'OK';
}
}

# pix
Avatar discord do usuario .gabrielkenji

.gabrielkenji

Ver Respostas

Bom dia,
Estou implementando as formas de recebimento: no PIX e COB..
A diferença entre os dois é:
- PIX é especifico para uma pessoa (aonde informamos a chave), esse sem o QRCode..
- COB é uma cobrança imediata (tipo consumidor); aonde é possível informar o campo "devedor" mas é opcional.. gerando uma cobrança com QRCode, (a partir do Location)..
- COB{txid} é a vinculação entre Cobrança e Pedido (numero único do sistema)..

Perguntas:
- no caso do PIX, logo depois de fazer a requisição; No "app" do banco da pessoa vai aparecer a cobrança?
- percebi que no caso do PIX, é possível informar uma conta (nome, agencia, conta corrente), teoricamente o pagador tem que ter um pix, mas o recebedor não? como ficaria a parte de consulta de status de pagamento nesse caso, a mesma coisa?
- no caso do COB, é mais direcionado para uma cobrança presencial; aonde o cliente pode receber o qrcode e pagar no ato da compra, e o COB{txid} é mais para uma modalidade de entrega, que o cliente vai pagar num período pré-determinado?

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Para gerar um QR Code dinâmico de um location, basta informar o id do loc que é retornado ao criar uma cobrança.

Exemplo:
Ao gerar uma cobrança, você terá como retorno:
imagem enviada na mensagem pelo usuario guilherme_efi

# pix
Avatar discord do usuario brunocassimiro

brunocassimiro

Ver Respostas

Bom dia, mais alguém com problemas para pagar o qrcode gerado pela api pelo PicPay? Tentei tanto gerando o location e enviando para o endpoint GET/v2​/loc/{id}/qrcode quanto por geradores fornecidos pelos contribuidores do repositório do BACEN no github :/

# pix
Avatar discord do usuario celestino8068

celestino8068

Ver Respostas

o id numérico que vem na location

# pix
Avatar discord do usuario .gabrielkenji

.gabrielkenji

Ver Respostas

Depois de gerado, eu devo criar um QRCode apartir da tag: "location"?

# bolix
Avatar discord do usuario christianosilveira4948

christianosilveira4948

Ver Respostas

hWebService := CURL_EASY_INIT()

IF !EMPTY(hWebService)

CURL_EASY_SETOPT(hWebService, HB_CURLOPT_URL, "https://sandbox.gerencianet.com.br/v1/authorize")
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_RETURNTRANSFER, .T.)
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_ENCODING, '')
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_MAXREDIRS, 10)
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_TIMEOUT, 0)
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_FOLLOWLOCATION, .T.)
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_HTTP_VERSION, "CURL_HTTP_VERSION_1_1")
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_CUSTOMREQUEST, "POST")
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_POSTFIELDS, {"grant_type","client_credentials"})
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_HTTPHEADER, {'Authorization: Basic Q2...','Content-Type: application/json'})

ncurlErr:=curl_easy_perform (hWebService)
IF ncurlErr > 0
? "Curl Error: "+str(ncurlErr)
ENDIF

ENDIF

curl_easy_cleanup( hWebService )

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Boa tarde <@!184739727407054849> tem sim, por meio do endpoint GET/v2​/loc/{id}/qrcode você vai informar o id da location referente a cobrança gerada e terá como retorno o BRCode(copia e cola) e a imagem do QRcode.

# pix
Avatar discord do usuario daniel.falsetti

daniel.falsetti

"cob.read cob.write gn.balance.read gn.pix.evp.read gn.pix.evp.write gn.settings.read gn.settings.write payloadlocation.read payloadlocation.write pix.read pix.send pix.write webhook.read webhook.write"

# pix
Avatar discord do usuario uaca

uaca

uma outra duvida, no location do qr code