Skip to main content

Emita boletos bancários utilizando a API do Banco Inter PJ.

Project description

Banco Inter Python

Este projeto consome a API do Banco Inter PJ de boletos registrados. Para acesso a documentação precisa estar logado no internet banking do Banco Inter. Para criar seu aplicativo, siga estas etapas simples:

  • Faça login no Internet Banking (Banco Inter).
  • Navegue até a seção APIs:
  • Conta Digital > Aplicações > Nova Aplicação

Atualizado para a API versão 3

  • Crie um arquivo .env com os seguitntes atributos na aplicação que irá usar este projeto.
    # Application Environment - SANDBOX or PRODUCTION
    APP_ENV=SANDBOX
    CPFCNPJ_BENEF='Número CPF OU CNPJ da conta no banco inter'
    X_INTER_CONTA_CORRENTE='Numero da conta corrente'
    # SANDBOX
    API_SBX_TOKEN_V2=https://cdpj-sandbox.partners.uatinter.co/oauth/v2/token
    API_SBX_COBRA_V3=https://cdpj-sandbox.partners.uatinter.co/cobranca/v3/
    # PRODUCTION
    API_URL_TOKEN_V2=https://cdpj.partners.bancointer.com.br/oauth/v2/token
    API_URL_COBRA_V3=https://cdpj.partners.bancointer.com.br/cobranca/v3/
    API_URL_COBRA_V2=https://cdpj.partners.bancointer.com.br/cobranca/v2/
    API_URL_COBRA_V1=https://apis.bancointer.com.br/openbanking/v1/certificado/
    SSL_DIR_BASE='Diretorio base dos arquivos SSL'
    PUBLIC_KEY_V1='Path do arquivo public key da versão 1'
    PRIVATE_KEY_V1='Path do Arquivo private key da versão 1'
    PUBLIC_KEY_V2='Path do arquivo public key da versão 2'
    PRIVATE_KEY_V2='Path do Arquivo private key da versão 2'
    DOWNLOAD_PATH='Path do diretorio que os arquivos PDF de download serão salvos'
    CLIENT_ID='Chave client id da sua app no banco inter'
    CLIENT_SECRET='Chave client secret da sua app no banco inter'

Referências:

Funcionalidades disponíveis

* API Cobrança (Boleto com Pix)
    - Emissão de boletos
    - Download de boletos
    - Baixa de boletos
    - Consulta detalhada de boletos

* API Banking
    * Saldo
        - Consultar saldo
    * Extrato
        - Consultar extrato
        - Recuperar extrato em PDF
    * Pagamento
        - Incluir pagamento com código de barras
        - Incluir pagamento DARF
        - Cancelar agendamento do pagamento
        - Buscar pagamentos
        - Buscar pagamentos de DARF
    * Pix pagamento
        - Incluir Pagamento Pix

Novas funcionalidades a serem implementadas

* Recursos da Api Banking
    * Extrato
        - Consultar extrato enriquecido
* Recursos da Api Pix
    * Cobrança imediata
        - Criar cobrança imediata
        - Consultar cobrança imediata
    * Cobrança com vencimento
        - Criar cobrança com vencimento
        - Consultar cobrança com vencimento

Instalação para utilização

pip install bancointer-python

ou

pip install .

Exemplos de Uso

Exemplos de utilização da API do Banco Inter (SANDBOX) para emissão, download e baixa de títulos bancários. Veja a pasta examples/.

  • Importe as dependências necessárias:
from decouple import config
from bancointer.utils.environment import Environment

# Configurações Banco Inter para operações na API (.env)
dir_base_ssl = config("SSL_DIR_BASE")
cert = (dir_base_ssl + config("PUBLIC_KEY_V2"), dir_base_ssl + config("PRIVATE_KEY_V2"))
client_id = config("CLIENT_ID")
client_secret = config("CLIENT_SECRET")
conta_corrente = config("X_INTER_CONTA_CORRENTE")

# Environment SANDBOX or PRODUCTION
app_env_name = config("APP_ENV")
env = Environment.get_environment_by_value(app_env_name.upper())

Emissão de Boleto

payer = Pessoa(
    "9" * 11,  # valido
    PersonType.FISICA,
    "NOME DO PAGADOR",
    "ENDERECO DO PAGADOR",
    "CIDADE DO PAGADOR",
    "PR",
    "80030000",
)  # OU FISICA
# Pagador

discount = Desconto("PERCENTUALDATAINFORMADA", 0, 1.2, 2)
multa = Multa("VALORFIXO", 0, 100)
mora = Mora("TAXAMENSAL", 0, 4.5)
message = Message("message 1", "message 2", "message 3", "", "message 5")

# Beneficiario final, mesmo que o pagador
beneficiario_final = Pessoa(
    "12345678901",
    PersonType.FISICA,
    "Nome do beneficiário",
    "Avenida Brasil, 1200",
    "Belo Horizonte",
    "MG",
    "30110000",
)

cobranca = Cobranca.criar_sobranca_simples("0001", 2.5, "2024-11-22", payer)
cobranca.multa = multa
cobranca.desconto = discount
cobranca.beneficiarioFinal = beneficiario_final

sol_new_cobranca = SolicitacaoEmitirCobranca(cobranca)

emite_cobranca = EmiteCobranca(env, client_id, client_secret, cert, conta_corrente)
resposta = emite_cobranca.emitir(sol_new_cobranca)

print(resposta)

Consultar dados do Boleto

request_code = "1783d19f-ab81-4a54-92a3-a0064f9b26ee"

recupera_cobranca = RecuperaCobranca(env, client_id, client_secret, cert, conta_corrente)

response = recupera_cobranca.recuperar(request_code)

Download de Boleto

request_code = "1783d19f-ab81-4a54-92a3-a0064f9b26ee"

recupera_cobranca = RecuperaCobrancaPDF(env, client_id, client_secret, cert, conta_corrente)

response = recupera_cobranca.recuperar_pdf(request_code, config("DOWNLOAD_PATH"))

Baixa de Boleto

request_code = "1783d19f-ab81-4a54-92a3-a0064f9b26ee"

cancela_cobranca = CancelaCobranca(env, client_id, client_secret, cert, conta_corrente)

response = cancela_cobranca.cancelar(request_code, Baixa.ACERTOS.value)

Contribua com este projeto

Clone o repositório do projeto

$ git clone https://github.com/renatojdev/bancointer-python.git

Se não tiver o pipenv instalado, para instalar:

$ pip install -U pipenv

Instale as dependências

$ make install

Dependências

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

bancointer_python-0.13.tar.gz (301.6 kB view details)

Uploaded Source

Built Distribution

bancointer_python-0.13-py3-none-any.whl (62.7 kB view details)

Uploaded Python 3

File details

Details for the file bancointer_python-0.13.tar.gz.

File metadata

  • Download URL: bancointer_python-0.13.tar.gz
  • Upload date:
  • Size: 301.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for bancointer_python-0.13.tar.gz
Algorithm Hash digest
SHA256 88954772afedc75ba0e4928af8935b7431c524b52ca9b114e306ce43a7f7234a
MD5 2b53411e5a70917b044fc3089baa6ff4
BLAKE2b-256 b7670defed71179ec2d677fd8d3a8db0e70430e603ed64d236623394a7792d22

See more details on using hashes here.

File details

Details for the file bancointer_python-0.13-py3-none-any.whl.

File metadata

File hashes

Hashes for bancointer_python-0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 7f5724351a4a8bf12392a72828675de431a6a52597dec73a8bd1335a5f6c761d
MD5 b2c5cb6e7fb52c9c223d97126536fe27
BLAKE2b-256 1b01bdaf26525bd2c37315502974ee1a5e6c4f55367e8952454b13397317fada

See more details on using hashes here.

Supported by

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