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

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

Uploaded Source

Built Distribution

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.

Supported by

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