Code Monkey home page Code Monkey logo

boletonetcore's Introduction

Build status Issues open Nuget count Join the chat at https://gitter.im/BoletoNet MyGet Ultimo PR

Alt

Boleto.Net é um componente desenvolvido em C# e ASP.Net e contempla as seguintes funcionalidades:

  • Emissão e Impressão de Boletos Bancários
  • Geração de Arquivo de Remessa dos layouts
    • CNAB 240
    • CNAB 400
  • Leitura do Arquivo de Retorno dos layouts
    • CNAB240
    • CNAB400
    • CBR643

*** ATENÇÃO *** Para adequação de nova funcionalidade de emissão de boletos pelo banco na CEF, a propriedade ApenasRegistrar foi alterada para TipoEmissao do tipo Enum, com as opções válidas 0 - Emissão pelo Cedente (Default) e 1 - Emissão pelo Banco.

Atualmente estamos implementando mais alguns bancos e toda colaboração será importante. Nosso objetivo é implementar todos os bancos brasileiros.

Para instalar o BoletoNet, utilize o Nuget:

Install-Package Boleto.Net

Se você é novo por aqui, dê uma olhada nos projetos de testes, que contem exemplos de utilização: https://github.com/BoletoNet/boletonet/tree/master/src/Boleto.Net.Testes

Para build mais atualizados, acesse o MyGet (boletonetBuild)

Para informações sobre o projeto e bancos implementados, consulte o nosso Wiki.

boletonetcore's People

Contributors

alexandrevmsnew avatar ander89br avatar andre-zanelato avatar brunogoulart28 avatar carloscds avatar claudineibr avatar danilobreda avatar evertonbatini avatar fernandoareias avatar hardshopsuporte5 avatar igorocampos avatar ipojuca avatar jonatanfelipesiqueira avatar lucasmoraes804 avatar marcelo-unimake avatar marcianobandeira avatar marcosgerene avatar mateoapollonia avatar michael-nel avatar odair-pedro-hbs avatar olavorn avatar paulogama95 avatar rodrigo-navas avatar snyk-bot avatar thiagobotelhonet avatar thiagomoreiraboby avatar tonborges avatar victorcogu avatar vmrsilva avatar wsskakoal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

boletonetcore's Issues

Problemas com Trailer E estrutura do Arquivo

Olá estou implementando em meu sistema a emissão de boleto, porêm estou recebendo erro na remessa no banco do brasil (17-027) e no Sicoob(001), me retorna problemas com a estrutura do arquivo pelo BB e no sicoob problema com Trailer do lote e gerando a remessa pelo projeto de teste e passando pelo validador me retorna os mesmos erros

Para gerar a remessa eu utilizo o metodo GerarArquivoRemessa() passando os Boletos, pois pelo que vi no projeto de teste ele ja me gera Trailer
image

Estou fazendo algo errado que não esta gerando Trailer do lote correamente?

Segue em anexo remessas e erros do banco

Banco do brasil

REMBBHOMOLOGACAO.txt
Relatorio.11-11-2020 19_17_45.pdf

Sicoob

RemSicoobHOMOLOGACAO.txt

Sem título

Campo Codigo do (antigo) Cedente

Fala pessoal, estou em um projeto migrando um código do BoletoNet para o BoletoNetCore, percebi que ele é um "port" do Boleto2.Net e no geral estou conseguindo entender as mudanças com base nos readme e o de migração, porém me surgiu uma dúvida: A remoção do campo Codigo da classe Beneficiario foi proposital?

Vi que no Boleto2.Net na classe Cedente ainda existe o campo, mas no Beneficiario não achei um equivalente e fiquei com dúvida sobre quem seria o equivalente nele.

Obrigado!

Arquivo de remessa Rejeitado Totamente

@carloscds Bom dia, estou gerando o arquivo de remessa para o banco sicoob, mas não consigo ser aceita sempre da arquivo totalmente rejeitado.
image
Arquivo remessa Rejeitado (EMITO POR BOLETO.NETCORE)
image
Arquivo remessa ACEITO (EMITIDO POR OUTRO SISTEMA)
image

Gostaria de saber se tem algo faltando, que eu possa corrigir, desde já obrigada.

Nuget e Wiki

@carloscds
No nuget as classes Cedente e Sacado ainda existem ao invés de beneficiário e pagador, ao contrário do que está na Wiki.

Outra coisa, não existe CodMovimentoRetorno e nem CodOcorrencia, mas sim CodigoOcorrencia no boleto, assim como no boleto2Net.

Para ser sincero, não mudei uma linha do boleto2net para o boletonetcore para compilar (ainda não consegui testar).

Seria possível atualizar o nuget, por favor?

Outra coisa, este projeto está funcional? alguem usa em produção?

Exemplo de uso

Alguem tem algum exemplo de uso da biblioteca ? eu vi que tem os tests ali , mas nao consegui fazer executar, tentei colcoar break point pra ir vendo a execucao mas n foi .

outra pergunta é, eu vi que tem como gerar uma dll da biblioteca , como q eu faço isso e coloco no meu projeto , pois a que esta no nuget nao possui o sicred, é melhor gerar a biblioteca ou pegar os arquivos e jogar pra dentro do projeto ?

Cnab400 Bradesco

Fiz uns testes na geracao do arquivo CNAB400 Bradesco e pelo oque vi não foi implementado o cancelamento. Correto?

Classe "BancoFebraban" ?

Para reunir um pouco do código repetido em várias das classes Banco, senti falta de uma classe ancestral das classes BancoBradesco, BancoBrasil etc..

Ia propor uma classe abstrata BancoFebraban que não necessariamente implementasse IBanco, mas que contivesse um punhado de implementações que fossem comuns a todos. O que vcs acham?

Suporte a net40

@carloscds Acho que essa versão já dá suporte a v40 (exceto pdf). Poderiamos atualizar a documentação acerca disso.

Boleto Santander - Fluxo

Boa noite.

Estou um pouco confusa sobre como funciona esse fluxo de boletos e confirmação de pagamento, alguém consegue me esclarecer?
O correto seria:
1- Gerar boleto
2- Gerar arquivo de remessa (com todos os boletos gerados)
3- Importar arquivo de retorno do banco (com os boletos pagos)

É isso? Como eu gero o número de documento? Quais informações do boleto são automaticamente geradas? Tem exemplos de como implementar os itens?

Erro ao executar em ambiente linux

Internal Server Error
System.ComponentModel.Win32Exception (13): Permission denied
at Wkhtmltopdf.NetCore.WkhtmlDriver.Convert(String wkhtmlPath, String switches, String html)
at Wkhtmltopdf.NetCore.GeneratePdf.GetPDF(String html)

Inclusão dos Motivos e Ocorrências do CNAB240

Pessoal, já iniciando um processo mais imersivo de revisão do nosso projeto, verifiquei uma coisa em função do Uso:

O que a gente denomina como Ocorrência na verdade aponta para C044 (Código de Movimento Retorno), de fato não está correspondente ao que o manual do CNAB aponta em sua versão mais atual.

Para não exigir breaking changes no futuro mais traumáticos, como o próprio @rafd75 posicionou algumas vezes, eu sugiro que a gente implemente um mutirão de verificação do correto mapeamento dos campos da classe Boleto em relação ao CNAB240.

Também acho que seria uma boa incluirmos em cada campo a referência da descrição do manual. Ex. C044.

O que vcs acham? Posso iniciar um PR com este fim e se for o caso, ajustar os testes que eventualmente estiverem incorretos (embora acredite que só passe de refactoring mesmo)

Metadados para Auxiliar no preenchimento dos boletos nos padrões

Os validadores para cada carteira e para cada banco estão escritos de forma declarativa no código. Isso dificulta a possibilidade de montar/limitar o nosso número que variam de banco pra banco, pois o arranjo delas muda, e no final só conseguimos validar pelo método ValidaBoleto.

Estou abrindo esta issue no sentido de discutirmos como melhorar essa abordagem pra possibilitar que tenhamos um conjunto de metadados, com máscaras e opções disponíveis para cada carteira de modo a facilitar a construção de uma interface de entrada de boleto em conformidade com a carteira selecionada.

Digito verificador inválido no header do arquivo de remessa Sicoob

Olá, boa tarde.

Essa semana observei uma situação com arquivo de remessa do banco Sicoob.
Ao validar os arquivos no banco recebi o retorno de que o digito verificador da conta estava sendo preenchido com char space ao invés de zero, que é o recomendado pelo Sicoob.

Observem o output do validador Sicoob:
image

Obs. Somente layout CNAB 240

O mesmo ocorre no projeto boleto2net

Error ao chamar a função GetResourceHypertext()

System.ArgumentNullException
HResult=0x80004003
Message=Value cannot be null.
Source=System.Private.CoreLib
StackTrace:
at System.IO.StreamReader..ctor(Stream stream, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize, Boolean leaveOpen)
at System.IO.StreamReader..ctor(Stream stream)
at BoletoNetCore.BoletoBancario.GetResourceHypertext(String resourcePath)
at BoletoNetCore.BoletoBancario.GeraHtmlCarne(String telefone, String htmlBoleto)
at BoletoNetCore.BoletoBancario.MontaHtml(String urlImagemLogo, String urlImagemBarra, String imagemCodigoBarras)
at BoletoNetCore.BoletoBancario.HtmlOffLine(String textoNoComecoDoEmail, String srcLogo, String srcBarra, String srcCodigoBarra, Boolean usaCsspdf)
at BoletoNetCore.BoletoBancario.MontaHtmlEmbedded(Boolean convertLinhaDigitavelToImage, Boolean usaCsspdf, String urlImagemLogoBeneficiario)
at BankSlip.Api.Models.Services.BankSlipService.GeneratePdf(IEnumerable`1 bankSlipsModels, Boolean paymentBooklet) in C:\Users\junior\Documents\PagCerto\BankSlip\src\BankSlip.Api\Models\Services\BankSlipService.cs:line 26
at BankSlip.Api.Controllers.PrintController.GeneratePdf(BankSlipPdfModel model) in C:\Users\junior\Documents\PagCerto\BankSlip\src\BankSlip.Api\Controllers\PrintController.cs:line 18
at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()

Como solucionar a ausência do .html na string "BoletoNetCore.BoletoImpressao.Parts.Carne"

Criar nuget para BoletoNetCore.Pdf

Atualmente não existe um nuget para fazer o upload do pacote gerado pelo projeto BoletoNetCore.Pdf

Após criar o nuget é necessário atualizar o link no README.md

for more, see #32

Inclusão da Carteira 18/019 BB

Em função de demandas de clientes, tenho necessidade de implementar esta carteira do BB. Se alguem tiver alguma documentação a respeito, ajudaria publicar aqui e discutir a implementação.

Validação do banco Caixa

Boa tarde!

Encontrei um bug enquanto validava minha implementação:

Classe: BancoCaixa
Método: FormataCedente
Linha 34: Cedente.Codigo = codigoCedente.Length <= 6 ? codigoCedente.PadLeft(6, '0') : throw BoletoNetCoreException.CodigoCedenteInvalido(codigoCedente, 9);

Na verdade a mensagem de validação acusa a necessidade de 9 dígitos sendo que, na verdade, são obrigatórios apenas 6.

Abraços.

Erro validação caixa

Leitura arquivo retorno Itau

Caros,

Estou tentando ler o arquivo de retorno do itau, porém recebo o seguinte erro:

Message = "Unable to cast object of type 'BoletoNetCore.BancoItau' to type 'BoletoNetCore.IBancoCNAB240'."

Estou usando o metodo abaixo para testar:

using (var fileStream = new FileStream(@"C:\Users\andre\Desktop\BoletoNetCore-master\MUP.Teste.Retorno\cnab_teste.txt", FileMode.Open))
            {
                var arquivoRetorno = new ArquivoRetorno(fileStream);
                var teste = arquivoRetorno.LerArquivoRetorno(fileStream);
            }

Estou fazendo algo errado ou é um bug?

Falha ao GeraHtmlDeVariosBoletosParaEmail

Ao tentar gerar o html para envio por e-mail estou tendo a exception abaixo, estou usando a versão 1.0.0-beta7;
Unable to cast object of type 'System.String' to type 'System.Drawing.Bitmap'.

at BoletoNetCore.Html.get_barra()
at BoletoNetCore.BoletoBancario.GeraGraficosParaEmailOffLine(LinkedResource& lrImagemLogo, LinkedResource& lrImagemBarra, LinkedResource& lrImagemCodigoBarra)
at BoletoNetCore.BoletoBancario.GeraHtmlDeVariosBoletosParaEmail(String textoNoComecoDoEmail, BoletoBancario[] arrayDeBoletos)
at BoletoNetCore.BoletoBancario.GeraHtmlDeVariosBoletosParaEmail(BoletoBancario[] arrayDeBoletos)xt()

Alguém poderia me ajudar?

Integração com o banco

Olá, a biblioteca gera o boleto e já envia os dados para os bancos conforme regras da FEBRABAN?

Obrigado.

Dúvida nosso número

O nosso número ele deve ser único por carteira, ou a numeração dele é independente da carteira?
Exemplo:

Bradesco, Carteira 09, nosso numero 1
Bradesco, Carteira 09, nosso numero 2

Bradesco, Carteira 04, nosso numero 1
Bradesco, Carteira 04, nosso numero 2

OU

Bradesco, Carteira 09, nosso numero 1
Bradesco, Carteira 09, nosso numero 2

Bradesco, Carteira 04, nosso numero 3
Bradesco, Carteira 04, nosso numero 4

Qual númeração aplicar?

Utilização somente do BoletoNetCore.PDF

Pessoal, tudo bem?

Existe um meio de utilizar somente a emissão do PDF sem necessariamente preencher e validar todos os dados como se eu fosse gerar um arquivo de remessa?

Meu cenário é o seguinte: Eu tenho boletos já registrados no banco em carteiras/variações ainda não homologadas aqui no projeto. Tenho todos os dados já oficiais do boleto pelo banco, como código de barra e linha digitável.
Gostaria somente de gerar um PDF desse boleto.

Temos essa possibilidade utilizando somente o BoletoNetCore.PDF?

Registro de Boleto Online

Tenho visto algumas iniciativas isoladas de implementação de registro de boleto online através de WebServices pouco divulgados para as principais plataformas de bancos hoje.

Vocês tem acompanhado algo a respeito? Seria interessante incluir no BoletoNet junto com outros canais? Acho que isso seria uma boa oportunidade para pensar uma estrutura que possibilite organizar os canais de comunicação: CNAB400, CNAB240 etc.

Validação de banco e carteira homologado

Prezados, existe algum método para validar se a carteira ou o banco estão homologados? Ou algum método que traga uma lista com os bancos/carteira homologados?

Digo isso, pois em meu sistema quero exibir apenas os bancos/carteiras homologados e precisava desse método para carregar, é possível?

Gerar Carnê

Estou tentando gerar o carnê mas está dando esse erro, quando ele tenta pegar a stream BoletoNetCore.BoletoImpressao.Parts.Carne
ERROR: {"Value cannot be null. (Parameter 'stream')"}
Como corrigir alguma luz ?

image
image
image

Tempo de Retorno e processamento Online

Senhores, quanto tempo em média leva para processamento do retorno do arquivo CNAB240?

Me lembro que na CEF demorava de 15 min a 2h, mas recentemente vi um caso no BB que leva um dia para processar o retorno.

Afinal, como operacionalizar uma cobrança online com esse tempo tão longo? Vocês conhecem/trabalham com Web Services para processamento online?

Release

Olá gostaria de saber quanto em quanto tempo é gerado uma nova release. Acabei de subir uma implementação que preciso dela.

Imprimir instruções

Ja tentei de varias formas imprimir as instruções no boleto.
Alguém tem algum norte pra me ajudar?
error

Como iniciar o projeto?

Estou iniciando em .NET e queria entender como poderia fazer o build deste projeto, to indo atrás aqui do appveyor que vi que ele executa este comando no powershell mas não entendi se eu buildo primeiro o build.ps1 ou se faço build do projeto. Só encontro como utilizar o nugget mas não como buildar e iniciar o projeto.

Se alguém puder me dar um norte eu agradeço!

Resources não suportados em .Net Core ao ser gerado através de nuget.

#26 Relacionada.

Atenção: O Problema acontece apenas utilizando o Nuget.

Foi verificado que através da issue Microsoft/msbuild/2221, a mesma que tive problemas na migração do projeto Zeus para .net core... Os resources de tipo diferente de string como arquivos, não são suportados em .net core!. Apenas no .net core 3.0 preview 8 +.

Build(and dotnet cli) does not support currently support non-string resources on .NET Core. However, it is not checking the resx data's type attribute, but instead blindly using the value as a string

A saída que utilizei foi utilizar pastas que são geradas em build. (Acredito que do tipo conteúdo), e utilizar File.Open em todos esses arquivos.

Segue exemplo:
var diretorioImagens = Path.Combine(Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory), "Imagens");

Resources não encontrado nos Nugets

Os Nugets gerados não contem arquivos de imagens, html e css para geração de boletos.
Isso causa erro da stream dos .GetResourceStream ser nula.

Arquivo Retorno

Bom dia. Não consegui achar um exemplo para ler o arquivo de retorno. Estou tentando ler um do Bradesco mas não estou conseguindo, Mas pode ser um exemplo de outro banco também.

Desde já agradeço.

Testes no AppVeyour

@carloscds , Não seria o caso de descomentar a linha no arquivo ./build.ps1

<#dotnet test $solutionTest#> 

para possibilitar a contabilização dos testes?

Notifiação do Banco SAFRA

Chegou no nosso contato uma notificação do Banco SAFRA:

Prezado Responsável,

A AXUR representa o Banco Safra em questões envolvendo violação de propriedade intelectual e fraudes na Internet.

O Banco Safra é detentor dos direitos do uso da marca e nome comercial e Banco Safra, inscrita > no Instituto Nacional da Propriedade Industrial - INPI (www.inpi.gov.br) sob os números > > > > > 823231798, 816062129. Você deve estar ciente que Banco Safra é uma marca registrada para > > > identificar produtos, serviços, atividades e eventos relacionados ao Banco Safra.

Constatamos que você hospedou conteúdo sensível relacionado ao Banco Safra no Git Hub sem ter obtido autorização. Ao utilizar a marca Banco Safra sem autorização, você está fazendo mal-uso da mesma, criando um risco de confusão entre usuários que buscam conteúdos provenientes do Banco Safra.

Conteúdo infrator: cc9ed47

Com base nas violações dos direitos do Banco Safra, de acordo com a Lei Federal Brasileira Nº 9.279, que trata dos direitos e obrigações referentes à propriedade industrial, solicitamos que você remova todo e qualquer conteúdo relacionado ao Banco Safra na URL acima.

Em caso de recusa, silêncio ou não atendimento da solicitação acima anotada, serão adotadas as medidas administrativas e judiciais necessárias à proteção do direito violado.

Sob pena de perjúrio, afirmamos que a AXUR está autorizada a agir em nome do Banco Safra neste caso, e essa notificação está de acordo com a Lei Federal Brasileira n° 9.279/96 e com os órgãos internacionais que regulam os Direitos de Propriedade Intelectual.

Caso você necessite informações adicionais ou prefira discutir esse assunto, por favor, não hesite em fazer contato através do endereço que consta na assinatura desta mensagem.

Atenciosamente,

AXUR Brand Abuse
[email protected]
Para mais informações acesse www.axur.com.

É mole?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.