Histórico de mensagens sobre location em dúvidas

EXIBINDO CONVERSAS RECENTES:

Texto: location
Canal: dúvidas
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Se for QR-Code dinâmico, pelo location que tem no QR-Code você já sabe de que banco é.

Avatar discord do usuario rubenskuhl

rubenskuhl

A única coisa que é essencial e que só a Efí pode criar é o location. O resto você faz ou sozinho, ou com ajuda das funções deles.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O caso de uso que você descreve é mais próximo do QR-Code estático, que não tem payload location.

E assim como a cobrança com payload, ela pode usar qualquer tipo de chave Pix, incluindo aleatória.

Quanto ao webhook, basta que tenha txid, que vai ser sinalizado no webhook.

Avatar discord do usuario luizfeleal

luizfeleal

Ver Respostas

Bom dia! Gostaria de confirmar a linha que a integração deve seguir baseado nas necessidades do meu sistema. Eu preciso criar um qr code, sem um valor definido, para que ele fique disponível para receber diferentes valores e de diferentes clientes. Entendi que precisaria criar um payload location e a partir disso gerar um QR CODE. Também gostaria de receber os eventos de recebimento de pix via webhook, porém, notei que é necessário a criação de uma chave aleatória, para setar a url do webhook. Criando essa chave e efetuando os pagamentos pelo qr criado, irei conseguir receber os eventos via webhook? O fluxo estaria minimamente correto?

Avatar discord do usuario luizfeleal

luizfeleal

Ver Respostas

Então só para recaptular e eu entender melhor. Eu crio um payload location na rota /v2/loc, crio o qr na rota /v2/loc/:id/qrcode e com esse método posso alterar a expiração? Eu vi que ele pede um txid. Seria o id da location criada?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

cob.write, cob.read, location.write, location.read

Avatar discord do usuario ilusinusmate

ilusinusmate

Ver Respostas

import os
# import ssl
# import certifi
from dotenv import load_dotenv
from efipay import EfiPay

load_dotenv("../../.env")

# if not os.path.isfile('C:\\Users\\Joaogsp\\Desktop\\j1\\programas\\Projetos Athavus\\emporio_sertanejo\\emporio_sertanejo\\emporio-ec2.pem'):
# raise FileNotFoundError("Certificate file not found.")



# cert = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
# cert.load_verify_locations(cafile=certifi.where())
# cert.load_cert_chain('C:\\Users\\Joaogsp\\Desktop\\j1\\programas\\Projetos Athavus\\emporio_sertanejo\\emporio_sertanejo\\emporio-ec2.pem')

credentials = {
'client_id':os.getenv("CLIENT_ID"),
'client_secret': os.getenv("CLIENT_SECRET"),
'sandbox': True,
'certificate': 'C:\\Users\\Joaogsp\\Desktop\\j1\\programas\\Projetos Athavus\\emporio_sertanejo\\emporio_sertanejo\\emporio-ec2.pem'
}

efi = EfiPay(credentials)

body = {
'calendario': {
'expiracao': 3600
},
'devedor': {
'cpf': '',
'nome': ''
},
'valor': {
'original': '00.01'
},
'chave': '83988864397',
'solicitacaoPagador': 'Cobrança dos serviços prestados.'
}

response = efi.pix_create_immediate_charge(body=body)
print(response)
Esse é exatamente o meu código

Avatar discord do usuario yasmin_efi

yasmin_efi

Informando apenas o id da location no body e o txid desejado como parametro. Dessa forma o QRcode será mantido o mesmo e uma nova cobrança pode ser vinculada para realizar o pagamento.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O ideal seria pegar o location e gerar o QR-Code a partir de bibliotecas suas, pq isso é mais portável para outros PSPs. Mas a Efí tem umas chamadas de location que permitem obter isso da API.

Avatar discord do usuario douglasalves_27133

douglasalves_27133

Ver Respostas

Então a configuração no apache ficaria desta forma ( mTLS Efí
SSLVerifyClient none
SSLProtocol TLSv1.2


SSLVerifyClient require
SSLVerifyDepth 3


# Tratando o /webhook

Alias "/webhook/" "/var/www/webhook/index.py"
Alias "/webhook" "/var/www/webhook/index.py")

Avatar discord do usuario gabriel_efi

gabriel_efi

mas você pode acessar diretamente o location de fora do objeto loc

Avatar discord do usuario jeanlucafp

jeanlucafp

Ver Respostas

boa noite, tenho algumas duvidas que nao encontrei na documentacao sobre cobrancas imediatas qrcodes-pix.gerencianet.com.br/9d36b84f-c70b-478f-b95c-12729b90ca25 na resposta vem 2 locations, um dentro do objeto "loc" e outro fora, qual a diferenca entre os dois?

Avatar discord do usuario lucasrobs

lucasrobs

{
calendario: { criacao: '20Z', expiracao: 3600 },
txid: 'fbe4',
revisao: 0,
loc: {
id: 284,
location: 'qr01738',
tipoCob: 'cob',
criacao: '2023-09-09T23:12:47.000Z'
},
location: 'q8',
status: 'ATIVA',
devedor: { cpf: '00', nome: 'Lucas R' },
valor: { original: '0.01' },
chave:
}

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Os escopos de leitura para recebimento são cob.read, pix.read, webhook.read, payloadlocation.read .
imagem enviada na mensagem pelo usuario rubenskuhl

Avatar discord do usuario rubenskuhl

rubenskuhl

Mas isso vai te deixar com um location que você vai precisar usar uma biblioteca de geração de BRCode e de QRCode para transformar em algo visível.

Avatar discord do usuario rodrigoaes

rodrigoaes

A é com o location obrigado

Avatar discord do usuario rubenskuhl

rubenskuhl

E este o de diretório no mesmo site:


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

SSLCertificateFile /caminho_certificado/fullchain_ssl.pem #fullchain associado ao seu certificado SSL do domínio
SSLCertificateKeyFile /caminho_certificado/privkey_ssl.pem #privkey associada ao seu certificado SSL do domínio

#Chave pública da Gerencianet
SSLCACertificateFile /caminho_certificado/chain-pix-prod.crt

# mTLS Gerencianet
SSLVerifyClient none
SSLProtocol TLSv1.2


SSLVerifyClient require
SSLVerifyDepth 3


# Tratando o /pix, redirecionando as requisições sempre para /webhook
Alias "/webhook/pix/" "/var/www/webhook/index.php"
Alias "/webhook/pix" "/var/www/webhook/index.php"

#
# ...
#