-
-
Notifications
You must be signed in to change notification settings - Fork 82
Open
Labels
Description
Validar boletos.
Implementação da função is_valid_boleto
:
- Diversidade de formatos: Boletos podem ter diferentes formatos e layouts, dependendo do banco emissor e do sistema utilizado.
- Informações essenciais: A função precisa criar um objeto boleto e validar a linha digitável, para isso serão necessárias informações relevantes como:
- Data do documento
- Data de vencimento
- Data de processamento
- Valor do documento
- Agencia cedente
- Conta cedente
- Convenio
- Nosso número
- Número do documento
A função deve:
- Validar: Verificar se a entrada é um boleto válido, utilizando os dígitos verificadores e a estrutura padrão.
- Considerar:
- Diversidade de formatos: A função deve ser capaz de lidar com diferentes formatos de boletos.
- Validação robusta: A validação deve ser completa e abranger todos os aspectos relevantes.
- Flexibilidade: A função deve ser flexível para atender a diferentes necessidades.
Exemplo de uso:
from brutils.boleto import Boleto, is_valid_boleto
boleto = Boleto(
data_documento = datetime.date(2000, 7, 4)
data_vencimento = datetime.date(2000, 7, 4)
data_processamento = datetime.date(2012, 7, 11)
valor_documento = 550
agencia_cedente = '1102'
conta_cedente = '9000150'
convenio = 7777777
nosso_numero = str(22832563 + i)
numero_documento = str(22832563 + i)
)
resultado = is_valid_boleto(boleto.linha_digitavel)
print(resultado)
# Output:
# True
Considerações adicionais:
- Biblioteca externa: Podemos considerar a utilização de uma biblioteca externa especializada em tratamento de boletos, como a
boleto3
ou apyboleto
. - Documentação: A documentação da função deve ser clara e completa, explicando todos os parâmetros e o formato da saída.
- Testes: É fundamental criar testes unitários abrangentes para garantir a qualidade da implementação.