Skip to main content

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)
    * Cobrança
        - 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
        - Consultar Pagamento Pix

* Api Pix
    * Cobrança imediata
        - Criar cobrança imediata com txid
        - Revisar cobrança imediata
        - Criar cobrança imediata
        - Consultar cobrança imediata
        - Pagar Pix de cobrança imediata (Sandbox)
    * Cobrança com vencimento
        - Criar cobrança com vencimento
        - Revisar cobrança com vencimento
        - Consultar cobrança com vencimento
    * Pix
        - Consultar pix
    * Webhook
        - Criar webhook
        - Obter webhook cadastrado
        - Excluir webhook

Novas funcionalidades a serem implementadas

* Recursos da API Cobrança (Boleto com Pix)
    * Webhook
        - Criar ou editar um webhook
        - Obter webhook cadastrado
        - Excluir webhook

* Recursos da Api Banking
    * Extrato
        - Consultar extrato enriquecido

* Recursos da Api Pix
    * Pix
        - Consultar pix recebidos
        - Solicitar devolução
        - Consultar devolução

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

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.16.tar.gz (322.8 kB view details)

Uploaded Source

Built Distribution

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

bancointer_python-0.16-py3-none-any.whl (97.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bancointer_python-0.16.tar.gz
Algorithm Hash digest
SHA256 4fe4c1d25e984f831f5a0f33a33847a49252bd66b6bc13ea404b693d970905db
MD5 51750746166663e66c2b92b59373c3a2
BLAKE2b-256 406cade16bcb764645de718bf4a491f27d2618801e552b62b0d93eb06c1d107b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bancointer_python-0.16-py3-none-any.whl
Algorithm Hash digest
SHA256 6bfc3f7147094bbd931ea51f5f65e36b5a13027f083879e748ba594796877f82
MD5 697b86c7ae417c3bd7e37bf825da8a3d
BLAKE2b-256 94f852f3ff092c368b9403b968b9def8230e080f54714a88251bb769a7126dea

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.16 This release

2 files

0.15

2 files

0.14

2 files

0.13

2 files

0.12

2 files

0.11

2 files

0.10

2 files

0.9

2 files

0.7

2 files

0.6

2 files

0.5

2 files

0.3

3 files

0.2

1 file

0.1

1 file

Supported by

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