Histórico de mensagens sobre location

EXIBINDO CONVERSAS RECENTES:

Texto: location
# pix
Avatar discord do usuario matheus_efi

matheus_efi

Você chegou a configurar um location?

# pix
Avatar discord do usuario nicolaujr.

nicolaujr.

Para quem estiver com a mesma dificuldade
Cadastro de webhook retornando erro 500 com o nginx.

nginx
location /webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
proxy_pass SEU_SERVER:PORT;
}

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sua configuração de servidor está parecida com esta ?

server {
#
# ...
#
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
ssl_certificate server_ssl.crt.pem;
ssl_certificate_key server_ssl.key.pem;
ssl_client_certificate /root/chain-pix-webhooks-prod.crt;
ssl_verify_client optional;
ssl_verify_depth 3;
#
# ...
#
location /webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
rewrite ^(.)$ /webhook;
}
}

# pix
Avatar discord do usuario schoeps2724

schoeps2724

Ver Respostas

ustilizo curl_setopt_array($curl, array(
CURLOPT_URL => $vrota,
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'],
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));

# pix
Avatar discord do usuario igor_efi

igor_efi

Lembrando que é necessário informar o ID do location retornado no json de quando a cobrança foi criada.

# pix
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

se a requisição chegou no seu app, aparentemente tá passando pelo location / em vez de ser barrado no /webhook.

não seria o caso de inverter a ordem deles na config do nginx? não me recordo se é relevante a ordem

# pix
Avatar discord do usuario matheus_efi

matheus_efi

No exemplo do nginx tem o location, segue:

json
server {
#
# ...
#
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
ssl_certificate server_ssl.crt.pem;
ssl_certificate_key server_ssl.key.pem;
ssl_client_certificate /root/chain-pix-webhooks-prod.crt;
ssl_verify_client optional;
ssl_verify_depth 3;
#
# ...
#
location /webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
rewrite ^(.)$ /webhook;
}
}
Já no exemplo de Flasky, é so inserir no @app.route o caminho de onde o certificado seria exigido, exemplo:
py

@app.route("/webhook", methods=["POST"])
def imprimir():
imprime = print(request.json)
data = request.json
with open('data.txt', 'a') as outfile:
outfile.write("\n")
json.dump(data, outfile)
return jsonify(imprime)

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Se você configurar a exigência do certificado em seu domínio principal, teria sim este problema de acesso, pois iria requerer o certificado. Mas existe mais de uma solução para isso, como a criação de uma location ou de um subdomínio atendendo só o webhook. Desta forma seus clientes continuariam a ter acesso normal ao seu server.

# pix
Avatar discord do usuario tiagobogoni

tiagobogoni

Ver Respostas

se eu configurar o certificado como mostrar no exemplo no site
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
context.verify_mode = ssl.CERT_REQUIRED
context.load_verify_locations('caminho-certificados/certificado-público-Gerencianet.crt')
context.load_cert_chain(
'caminho-certificados/server_ssl.crt.pem',
'caminho-certificados/server_ssl.key.pem')
app.run(ssl_context=context, host='0.0.0.0')

terá problema de hj o pessoal que acessa não conseguir mais? por causa a exigencia do certificado do gerencianet?

# bolix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Bom dia!
Você pode utilizar nosso exemplo para mostrar a imagem do QrCode gerada através da API Pix: https://github.com/gerencianet/gn-api-sdk-flutter-examples/blob/main/lib/screens/pix/location/pix_generate_qrcode.dart

# pix
Avatar discord do usuario monkyalan

monkyalan

Ver Respostas

pq o certificado não ta sendo pedido?

tentei também botar o certificado lra ser requisitado em todod os lugares do site (sem location) e mesmo assim não funcionou

# pix
Avatar discord do usuario monkyalan

monkyalan

Ver Respostas

Seguindo essa URL de webhook, quando eu faço a requisição para a API, me mostra a msg conforme o print
a mensagem me retorna status 30x e não cadastra, como poderia contornar ? pelo visto a requisição que vocês fazem não seguem LOCATIONS, e para no primeiro redirecionamento que lhe é apresentado..
imagem enviada na mensagem pelo usuario monkyalan
imagem enviada na mensagem pelo usuario monkyalan

# pix
Avatar discord do usuario monkyalan

monkyalan

Ver Respostas

a primeira e rapida
ao realizar a requisição PUT no /webhook:chave, a resposta que o gerencianet trará é útil? precisarei utilizar o conteudo dele pra alguma coisa ? poderia simplesmente dispensar ?

===segundo:===
num sistema, eu só teria que cadastrar o webhook apenas uma vez ? E se eu enviasse a requisição novamente, o webhook seria "sobescrito" ? Teria algum problema de sobrecarga na API de vocês? teria a possibilidade do meu servidor ser bloqueado?

=== terceiro: ===
Nas configurações do servidor para aceitar o webhook, como está no site (https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-webhooks)
meu sistema (feito em PHP) NÃO está utilizando o esquema de rotas

na seção:
// invés da rota /webhook, eu colocaria o caminho para o diretório simplesmente? (ex: {documentRoot}/.../.../webhook/)
SSLVerifyClient require
SSLVerifyDepth 3


na seção ALIAS seria basicamente a mesma coisa ?
Alias "/webhook/pix/" "/var/www/webhook/index.php" // Seria: {documentRoot}/../../webhook/pix/index.php (?) ou eu descartaria essa seção ?
Alias "/webhook/pix" "/var/www/webhook/index.php"

# pix
Avatar discord do usuario hellraiser8193

hellraiser8193

eu não entendo muito esse location

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, com o location você gera o qrcode e o copia-e-cola.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Funcionaria também desvincular o txid do location.

Mas acredito que para ter menos processos você pode executar a terceira opção que mencionei, que é:
Consumir o endpoint PATCH /v2/cob/:txid, e atualizar o tempo de expiração para que fique disponível para pagamento novamente. Desta forma o txid se mantém o mesmo.

# pix
Avatar discord do usuario allanmr7

allanmr7

Ver Respostas

Guilherme eu posso só desvinvular o txid da location criada ?
E manter o mesmo TXid para o cliente gerar o novo pix ?
ou é melhor gerar novo TXId também

porque internamente no sistema temos o TXid que utilizamos como controle em nosso sistema

a minha dúvida é qual a melhor opção mesmo, para evitar muitos processos desnecessários

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Se você quiser ver como o processo funciona, pegue o location, coloque https://, pegue o que aparece e decodifique no https://jwt.io. Aí aparece o txid e os demais parâmetros da cobrança.

# pix
Avatar discord do usuario pedrohenriquebufulin

pedrohenriquebufulin

Ver Respostas

Quando eu crio um pix, tem como eu já gerar um QR code com esses links?

js
"id": 8,
"location": "qrcodes-pix-h.gerencianet.com.br/v2/f6af12d74aad4d0d9a415a0b37e1a625",
"tipoCob": "cob",
"criacao": "2021-12-16T02:10:56.054Z"
},
"location": "qrcodes-pix-h.gerencianet.com.br/v2/f6af12d74aad4d0d9a415a0b37e1a625",

Não parece que eles sãpo links pra imagens