Histórico de mensagens sobre dados

EXIBINDO CONVERSAS RECENTES:

Texto: dados
# pix
Avatar discord do usuario jefferson.m

jefferson.m

Utilizei os dados da documentação do pix pra validar se o crc16 bate e bateu direitinho.

# pix
Avatar discord do usuario jefferson.m

jefferson.m

Ver Respostas

Boa tarde. A quem interessar, segue uma implementação simples do brcode em python:

____________________________________________________
import crcmod
from collections import OrderedDict
from unicodedata import normalize
import re
from decimal import Decimal

def _pix_normalized_data(d, k):
if k == 'URL':
return d.split('//')[-1]
if k == 'VALOR':
if not isinstance(d, Decimal):
return Decimal(d)
return d

if k in ['CIDADE']:
k.upper()

r = normalize('NFKD', unicode(d)).encode('ASCII','ignore').decode('ascii')

return re.sub(r'([^0-9a-zA-Z\-\+\s_@\.])', '', r)
def gerar(dados):
qr_str = "000201010212"
estrutura = OrderedDict()
estrutura["URL"] = lambda d: "26%02d0014br.gov.bcb.pix25%02d%s" % (len(d)+22,len(d), d.strip())
estrutura["MERCHANT_CAT_CODE"] = lambda d: "52040000"
estrutura["CURRENCY"] = lambda d: "5303986"
estrutura["VALOR"] = lambda d: "54%02d%.2f" % (len('%.2f' % d), d)
estrutura["COUNTRY_CODE"] = lambda d: "5802%s" % 'BR'
estrutura["RECEBEDOR"] = lambda d: "59%02d%s" % (len(d), d[:99])
estrutura["CIDADE"] = lambda d: "60%02d%s" % (len(d), d[:99])
estrutura['IDTRANSACAO'] = lambda d: "62%02d05%d%s" % (len(d)+4, len(d), d)

for k,f in estrutura.items():
qr_str += f(_pix_normalized_data(dados.get(k), k))

qr_str += "6304"
crc16 = crcmod.mkCrcFun(0x11021, rev=False, initCrc=0xffff, xorOut=0x0000)
qr_str += hex(crc16(qr_str)).split('x')[1]
return qr_str


qrcode_dados = {}
qrcode_dados['RECEBEDOR'] = 'Fulano de Tal'
qrcode_dados['VALOR'] = 123.45
qrcode_dados['CIDADE'] = 'BRASILIA'
qrcode_dados['URL'] = 'bx.com.br/pix/8b3da2f3-9a41-40d1-a91a-bd93113bd441'
qrcode_dados['IDTRANSACAO'] = 'RP12345678-2019'
print(gerar(qrcode_dados))

# pix
Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

O location que está dentro do arquivo .jws é dividido pelo sinal de ponto ( . ) em tres partes: header, payload e a assinatura, é só você decodificar em base64 a parte 2 (payload) que terá os dados em json 🙂

# pix
Avatar discord do usuario placa_preta

placa_preta

Uma linha digitável de boleto é até mais vulnerável pois os dados do recebedor estão todas na string. No entanto, no caso do brcode não é impossível, mas além de adulterar o link do payload esse payload deve conter as informações do pagamento e estar assinado

# pix
Avatar discord do usuario placa_preta

placa_preta

Ver Respostas

Uma linha digitavel de boleto tb já tá sujeito a isso hoje. Cabe a quem tá pagando conferir os dados atentamente na tela de revisão e desconfiar se tiver algo errado

# pix
Avatar discord do usuario oleoessencial

oleoessencial

<@!656144788017381377> eu não consigo entender se agente acessa diretamente a url e baixa o arquivo normalmente depois é só abrir e fazer o base64decode, ai temos os dados do location, no caso o mais importante a chave .

# pix
Avatar discord do usuario lorenacastro

lorenacastro

Ver Respostas

testei aqui os mesmos dados no meu código e no dela e o calculo do crc16 deu diferente 🤔

# pix
Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Com isso está resolvido <@!709030803291635736> a necessidade de ter o mTLS, pois eles conseguem ler os dados do location certinho, esse Sady é um Ninja 🙂 Atirou no que viu e acertou o que não viu, kkkkkkkkk

# pix
Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

sim, esta etapa deu certo, é na etapa de acessar a url do locations e ler os dados do arquivo .jws

# pix
Avatar discord do usuario lorenacastro

lorenacastro

Ver Respostas

testa com dados válidos e fala pra gente se deu certo por favor :)

# pix
Avatar discord do usuario lorenacastro

lorenacastro

eu só testei com dados fictícios

# pix
Avatar discord do usuario lorenacastro

lorenacastro

Ver Respostas

vc colocou dados válidos pra criar a cobrança? ex: cpf válido

# pix
Avatar discord do usuario lorenacastro

lorenacastro

no exemplo que eles postaram eles usaram esse config.json, onde tem alguns dados salvos nele

# pix
Avatar discord do usuario lorenacastro

lorenacastro

Ver Respostas

nessa parte aqui dos dados do BR Code envia a URL inteira mesmo (ou seja, todo o conteúdo do JWS)?

26 90
00 14 br.gov.bcb.pix
25 68 qrcodes-pix-h.gerencianet.com.br/v2/...

# pix
Avatar discord do usuario sady_efi

sady_efi

Ver Respostas

Os dados retornados no location estão em base64, e o Matheus ja descreveu pra você aqui encima como montar

# pix
Avatar discord do usuario matheus_efi

matheus_efi

<@!779016309383364698> eu exclui o seu location só para não expor seus dados

# pix
Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

No caso no envio de resposta do GN para a url do webhook , teremos os dados do pagador ?

# pix
Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Bom Dia continuando os Trabalhos com PIX. Etapa de Entender a Montagem da Estrutura do QRCode com os campos requeridos em php, Se alguém tiver uma luz...de como extrair isso do arquivo .jws, já sei que está na segunda linha do payload, não sei como extrair os dados 😦

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Os campos 59 e 60 devem ser preenchidos com os dados do recebedor

# pix
Avatar discord do usuario oleoessencial

oleoessencial

<@!652136709982781470> instalei o postman, importei a collection, baixei o certificado, entrei na aba 0Auth e inseri os dados de acordo como no vídeo, recebí Status 200. Preciso saber o próximo passo para o teste , o que devo seguir ?