Histórico de mensagens sobre dict em pix

EXIBINDO CONVERSAS RECENTES:

Texto: dict
Canal: pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Boa tarde <@!783359762917752843>! As chaves Pix ficam salvas em um DICT que é consultado no momento do envio do Pix, se este CPF não estiver atrelado a nenhum PSP como chave, então a transação não ocorre. Ym exemplo de retorno ao consumir a rota v2/pix :

{
"nome": "erro_aplicacao",
"mensagem": "Ocorreu um erro ao buscar os dados da chave"
}

Avatar discord do usuario joelemanoel

joelemanoel

O Picpay não ta pegando o nome da Chave DICT e sim do QRCode.

Avatar discord do usuario anoni_mato

anoni_mato

existem PSPs que são participantes indiretos e obtém o acesso ao DICT por meio de outro participante direto (que pode até mesmo nem ser um PSP... dando mais abertura para o Open Banking)

Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

vc não é uma coisa nem outra. PSP é "Prestador de Serviços de Pagamento". a GN é um. e tem participação direta no SFN e acesso ao DICT do Pix

Avatar discord do usuario anoni_mato

anoni_mato

vc não lida com o DICT diretamente.. a documentação tá confusa pq cita um monte de coisa que diz respeito à comunicação entre PSPs e o BACEN

Avatar discord do usuario anoni_mato

anoni_mato

as Chaves Pix (aquelas que vc cadastra no app do banco) ficam nesse DICT

Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

DICT é o "Diretório de Identificadores de Contas Transacionais"

Avatar discord do usuario terremoth

terremoth

Ver Respostas

tá, e vcs poderiam me explicar o que de fato é uma chave "DICT" e que relação essa chave tem com o banco central?

Avatar discord do usuario ferdead2

ferdead2

pessoal, esse código aqui está correto? não entendi bem, mas parece que o dictionary cities não é usado abaixo no código em momento algum.. minhas requisições estão retornando 400..
imagem enviada na mensagem pelo usuario ferdead2

Avatar discord do usuario rubenskuhl

rubenskuhl

A GN não pode nos franquear acesso, mesmo que indireto, ao DICT para consultas de titularidade de chaves. Por isso que pensei dessa forma, de passar chave e titularidade e aí na consulta para fazer o pagamento já dar ok/nok.

Avatar discord do usuario rubenskuhl

rubenskuhl

O que aparece em 99% das vezes é o que está no DICT, então não parece que o BACEN tenha pensado em algo como nome de produto, apenas razão social e nome fantasia.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O 59 Merchant pode ser qualquer coisa, e nem deveria ser mostrado... mas como um outro PSP mostra, seria bom por simplicidade de suporte ter o mesmo que aparece no DICT, limitado a 25 caracteres.

Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

isso significa que as chaves de contas transacionais CNPJ registradas no DICT pelo BB aparecem com o TradeName em outros PSPs pagadores?

Avatar discord do usuario joelemanoel

joelemanoel

<@!440035527127990273> e <@!780500321994539068> o Neon não criou opção de Chaves DICT e nem tem funções Pix no App/Internet Banking na conta PJ, sabem se tem algum erro por parte deles?

Avatar discord do usuario joelemanoel

joelemanoel

Na verdade isso tem haver com a Chave DICT.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Pessoal, alguém já cadastrou conta de produção PJ na GN e viu se a GN mandou o TradeName (Nome Fantasia) ou o LegalName (Razão Social) para o DICT ? Caso a empresa tenha Nome Fantasia, claro.

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))

Avatar discord do usuario m_feinstein

m_feinstein

Ver Respostas

Sim, perdão, eu me confundi...não vejo muito sentido nisso, já que a API é por conta e cada conta pode ter várias chaves pix mas todas levam a mesma conta no final.

Enfim pra quem quiser, segue a documentação original:


string
title: Chave DICT do recebedor
maxLength: 77

Formato do campo chave

O campo chave, obrigatório, determina a chave Pix registrada no DICT que será utilizada para a cobrança. Essa chave será lida pelo aplicativo do PSP do pagador para consulta ao DICT, que retornará a informação que identificará o recebedor da cobrança.

Os tipos de chave podem ser: telefone, e-mail, cpf/cnpj ou EVP.

O formato das chaves pode ser encontrado na seção "Formatação das chaves do DICT no BR Code" do Manual de Padrões para iniciação do Pix.

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

<@!710205440956563536> a chave será lido pelo PSP do pagador, essa parte de consulta ao DICT vai ser responsabilidade do PSP, você não precisa se preocupar com essa implementação. Pode atentar-se as partes do integrador

Avatar discord do usuario oleoessencial

oleoessencial

@Efí como será lida a chave do PSP do pagador para consulta ao DICT ?