Skip to content

About

Repositório público e didático: aprenda como o PIX funciona por dentro (DICT, SPI, ISO 20022, BR Code/TLV) com código executável e o blueprint da stack para construir seu próprio sistema de pagamentos instantâneos.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

pix-engenharia-reversa — banner

pix-engenharia-reversa

Laboratório público e auditável para aprender como o PIX funciona por dentro — e como construir um sistema de pagamentos instantâneos inspirado no mesmo modelo.

Este repositório transforma o artigo Engenharia reversa do PIX em código executável: você decodifica um BR Code campo a campo, simula o DICT e o SPI, e ainda encontra o blueprint de uma stack de produção para quem quiser criar o próprio arranjo — ou se integrar ao PIX real do Banco Central.

CI Licenca MIT Python 3.9+ Testes Artigo Educacional


Índice

Por que este repositório existe

O PIX é um dos maiores sistemas de pagamentos instantâneos do mundo — e, ao contrário do que muita gente imagina, o desenho dele é aberto: o Banco Central publica os manuais de padrões, as APIs e o manual de segurança. O que é fechado é a rede (SPI e DICT só aceitam participantes autorizados).

Este projeto usa essa documentação pública para ensinar, de forma didática e auditável:

  1. como o PIX funciona por dentro (DICT, SPI, Conta PI, ISO 20022, BR Code);
  2. como decodificar um pagamento real (TLV + CRC16 em Python puro);
  3. como simular o arranjo em um mini-DICT + mini-SPI;
  4. como construir o próprio sistema instantâneo (stack + infraestrutura no docs/ e em DEPLOY.md);
  5. como se integrar ao PIX real do BCB (rota gateway → participante indireto → participante direto).

Aviso importante: este conteúdo é 100% educacional. Operar arranjo de pagamento sem autorização, forjar confirmações ou usar chaves/contas de terceiros é ilegal no Brasil (Lei nº 12.865/2013 e Regulamento do PIX, Resolução BCB nº 1/2020).

O que você vai aprender

Tema Onde Conceitos
QR PIX / copia e cola lab/brcode TLV (Tag-Length-Value), GUI br.gov.bcb.pix, CRC16-CCITT
O arranjo por dentro lab/minipix DICT (chave → conta), SPI (liquidação), idempotência
Arquitetura de produção docs/blueprint-...md Go, PostgreSQL, Kafka, Redis, EKS, CloudHSM, SLOs
Subir no ar DEPLOY.md dev (docker compose) → homologação → produção AWS

Arquitetura

Arquitetura-alvo da plataforma de pagamentos instantâneos

O blueprint completo (catálogo de serviços, modelo de dados, segurança, infraestrutura, testes e roadmap) está em docs/blueprint-pagamentos-instantaneos-stack.md.

Estrutura do repositório

pix-engenharia-reversa/
├── assets/             # banner e mídia do README
├── lab/                # Laboratório didático — Python puro, testado
│   ├── brcode/             # parser TLV do BR Code + CRC16-CCITT
│   ├── minipix/            # Mini-DICT (chave → conta) + Mini-SPI (liquidação)
│   └── tests/              # 12 testes unitários (stdlib)
├── stack/              # Esqueleto da stack de produção
│   ├── assets/             # diagramas
│   ├── docker-compose.yml  # Postgres + Redis (dev)
│   ├── services.md         # mapa dos serviços e fronteiras de domínio
│   └── README.md           # visão da stack
├── docs/               # blueprint completo da arquitetura
├── .github/workflows/  # CI (testes automáticos)
├── CONTRIBUTING.md     # guia para contribuir
├── SECURITY.md         # como reportar vulnerabilidades
├── DEPLOY.md           # como subir no ar
└── LICENSE             # MIT

Rodar o laboratório

Requisitos: Python 3.9+ (para a API opcional: FastAPI) e Docker (para o ambiente dev da stack).

# 1) testes do laboratório — sem nenhuma dependência
python -m unittest discover -s lab/tests -v

# 2) infra dev da stack (Postgres + Redis)
docker compose -f stack/docker-compose.yml up -d

# 3) API didática (opcional)
pip install -r lab/requirements.txt
uvicorn lab.minipix.api_fastapi:app --reload

Endpoints da API didática:

POST /dict/chaves          cadastra uma chave (tipo, chave → conta)
GET  /dict/chaves/{chave}  consulta a conta dona da chave
POST /spi/pagamentos       liquida um pagamento (idempotente via request_id)

Python x stack real

Parte Papel Produção?
lab/ (Python) Didático — mostra TLV, CRC16, DICT e SPI em poucas linhas exemplo
stack/ + docs/ Arquitetura de produção — Go no núcleo, PostgreSQL, Kafka, Redis, EKS, Terraform, SLOs blueprint (não implementado)
DEPLOY.md Como subir no ar — local, homologação e produção guia

O Python aqui é intencional: é a forma mais curta de ensinar os conceitos. A implementação real dos serviços (ledger, accounts, keys...) está especificada no blueprint — esse é o próximo passo natural deste repositório.

Como contribuir

Este projeto é um bem público. Issues, correções de typos, testes novos e melhorias de documentação são muito bem-vindas — veja o CONTRIBUTING.md.

Segurança

Encontrou uma vulnerabilidade ou algo errado? Não abra uma issue pública: escreva para pedro@pedrodapps.com — detalhes no SECURITY.md.

Sobre o autor

Pedro Magalhães — desenvolvedor e criador do canal Pedro dApps, onde explica IA, blockchain e engenharia de software de forma prática.

Licença

Distribuído sob a licença MIT — use, estude e evolua por sua conta e risco. Veja o arquivo LICENSE.

About

Repositório público e didático: aprenda como o PIX funciona por dentro (DICT, SPI, ISO 20022, BR Code/TLV) com código executável e o blueprint da stack para construir seu próprio sistema de pagamentos instantâneos.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages