Skip to main content

Biblioteca em Python para comunicação com APIs bancárias focada na integração com o PIX

Project description

pypix-api

Biblioteca em Python para comunicação com APIs bancárias, focada na integração com o PIX.

Sumário

Visão Geral

O pypix-api facilita a integração de sistemas Python com APIs bancárias brasileiras, com ênfase no ecossistema do PIX. A biblioteca abstrai autenticação, comunicação segura (MTLS/OAuth2), e operações comuns de bancos como Banco do Brasil e Sicoob.

Instalação

Recomenda-se o uso de ambiente virtual.

pip install .

Ou, para desenvolvimento:

git clone https://github.com/seu-usuario/pypix-api.git
cd pypix-api
pip install -e .

Exemplo de Uso

from pypix_api.banks.bb import BancoDoBrasil

# Instanciação do banco (OAuth2 é inicializado internamente)
bb = BancoDoBrasil(
    client_id="SEU_CLIENT_ID",
    client_secret="SEU_CLIENT_SECRET",
    cert_path="caminho/do/certificado.pem",
    key_path="caminho/da/chave.key"
)

# Exemplo: Cobrança com Vencimento
payload = {
    "calendario": {
        "dataDeVencimento": "2025-12-31",
        "validadeAposVencimento": 30
    },
    "loc": {
        "id": 789
    },
    "devedor": {
        "logradouro": "Alameda Souza, Numero 80, Bairro Braz",
        "cidade": "Recife",
        "uf": "PE",
        "cep": "70011750",
        "cpf": "12345678909",
        "nome": "Francisco da Silva"
    },
    "valor": {
        "original": "123.45",
        "multa": {
        "modalidade": "2",
        "valorPerc": "15.00"
        },
        "juros": {
        "modalidade": "2",
        "valorPerc": "2.00"
        },
        "desconto": {
        "modalidade": "1",
        "descontoDataFixa": [
            {
            "data": "2025-11-30",
            "valorPerc": "30.00"
            }
        ]
        }
    },
    "chave": "5f84a4c5-c5cb-4599-9f13-7eb4d419dacc",
    "solicitacaoPagador": "Cobrança dos serviços prestados."
    }
cobv = bb.criar_cobv(txid="uuid-unico", body=payload)
print(cobv)

Estrutura do Projeto

pypix_api/
├── auth/           # Autenticação (MTLS, OAuth2)
├── banks/          # Integrações com bancos (BB, Sicoob, métodos PIX)
├── models/         # Modelos de dados do PIX
├── utils/          # Utilitários (HTTP client, helpers)
tests/              # Testes automatizados
openapi.yaml        # Especificação OpenAPI (se aplicável)
pyproject.toml      # Configuração do projeto Python
Makefile            # Comandos úteis para desenvolvimento
.env.exemplo        # Exemplo de variáveis de ambiente

Configuração

Crie um arquivo .env baseado em .env.exemplo com as credenciais e configurações necessárias para autenticação e acesso às APIs bancárias.

Testes

Para rodar os testes automatizados:

make test

ou diretamente com pytest:

pytest

Contribuição

Contribuições são bem-vindas! Siga os passos:

  1. Fork este repositório
  2. Crie uma branch (git checkout -b feature/nova-funcionalidade)
  3. Commit suas alterações (git commit -am 'Adiciona nova funcionalidade')
  4. Push para a branch (git push origin feature/nova-funcionalidade)
  5. Abra um Pull Request

Licença

Este projeto está licenciado sob os termos da licença MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypix_api-0.0.3.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pypix_api-0.0.3-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file pypix_api-0.0.3.tar.gz.

File metadata

  • Download URL: pypix_api-0.0.3.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for pypix_api-0.0.3.tar.gz
Algorithm Hash digest
SHA256 fda1c07124d2270d8b079394788c728667e9d3e19fdb92b12bd7e7f1256e3d3a
MD5 971e960547b0cee6d80fa661fd81c90e
BLAKE2b-256 5a6165354a2e878a934f8495b98c009215ed649f90e11923a13e2f670c6d30d4

See more details on using hashes here.

File details

Details for the file pypix_api-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: pypix_api-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for pypix_api-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2efa395ffd72eace1bc18ce06c3ca1ed5344ca156207ceb72552788ef251fc9e
MD5 06f95404020e6f1554804cb6806b8e27
BLAKE2b-256 b732d690d8c40ff8e3099cef74a6b7f1191e517a9c465c2633a5861a60749114

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page