Esta é uma versão baseado no Boleto2Net, mas para funcionar com .NET Core
Foi criado um novo projeto para não quebrar a compatibilidade com aplicações que usam .NET inferior ao 4.6.1
- Banrisul (041) - Carteira 1
- Bradesco (237) - Carteira 09
- Brasil (001) - Carteira 17 (Variações 019 027 035)
- Caixa Econômica Federal (104) - Carteira SIG14
- Cecred/Ailos (085) - Carteira 1
- Itau (341) - Carteira 109, 112
- Safra (422) - Carteira 1
- Santander (033) - Carteira 101
- Sicoob (756) - Carteira 1-01
- Sicredi (748) - Carteira 1-A
- Banco do Brasil (001) - Carteira 11 (Variação 019)
- Banco CrediSIS (097) - Carteira 18
Atenção: Para manter a ordem do projeto, qualquer solicitação de Pull Request de um novo banco ou carteira implementada, deverá seguir o formato dos bancos/carteiras já implementados e vir acompanhado de teste unitário da geração do boleto (PDF), arquivo remessa e geração de 9 boletos, com dígitos da linha digitável variando de 1 a 9, checando além do próprio dígito verificador, o cálculo do nosso número, linha digitável e código de barras.
- Visual Studio 2017 ou superior
- .NET Framework 4.6.1 ou superior
Leia o arquivo contributing.md
Este projeto está dividido em 3 partes:
Responsável por guardar toda a lógica de leitura de remessa e retorno de arquivos e regras e impressão do boleto em hipertexto. Por ser um projeto multitarget, todo o código será avaliado se puder rodar corretamente tanto em netstandard2 quanto em net40.
Responsável pelos serviços de impessão em PDF.
Obs.: Para geração de PDF em linux (ambientes baseados em Debian), é necessário a instalação das seguintes dependências:
apt-get install -y libfontconfig1 libxrender1 libxext6
Também é necessário garantir a permissão de execução para o binário responsável por gerar o PDF:
chmod +x "<Caminho do projeto>/BoletoNetCore.Testes/bin/Debug/net7.0/Rotativa/Linux/wkhtmltopdf"
Validação e testes de toda a lógica dos boletos.
- Em linhas gerais, novas carteiras deverão passar por validações e apresentar comprovação de passe nos testes propostos, contendo validações conforme proposto acima.
- Procure comentar todo o código para facilitar o entendimento e motivação para outros colegas. Embora o código original não seja muito comentado, não é motivo para que se crie o hábito.
- Se houver a necessidade de incluir novas imagens ou recursos para impressão, abra uma issue primeiro, ou apenas use as pastas convencionadas no projeto para receber esses tipos de arquivo. /Images e /BoletoBancario
- Nomenclaturas e termos devem estar alinhados aos padrões definidos no CNAB: https://cmsportal.febraban.org.br/Arquivos/documentos/PDF/Layout%20padrao%20CNAB240%20%20V%2010%2005%20-%2005_11_18.pdf
- A Estrutura das classes dos Banco estão distribuídas em arquivos que representam partial classes
- Cada uma das partial classes implementa uma interface diferente que representa um formato, existem 3 formatos implementados: CNAB400, CNAB240 e OnlineRest (Procuramos Implementadores)
Este projeto possui algumas diferenças relevantes em relação ao Boleto2Net que podem quebrar o seu código:
- Retorno de Arquivos CNAB geram CodMovimentoRetorno no Lugar de CodOcorrencia.
- Se você quer usar a impressão em PDF, use o BoletoNetCorePdfProxy e não BoletoNetCoreProxy.
- Para a impressão em PDF, também é necessário a instalação do pacote BoletoNetCore.Pdf.
- Este projeto não usa System.Web então, não existem componentes manipuláveis para WebForms para o Editor do VS.
- Cedente e Sacado foram substituidos em todo o projeto pelos termos atuais Beneficiario e Pagador