Comments (11)
@stupied4ever Ideal você dar uma olhada no manual da cobranca do banco, o convênio é usado na linha digitavel do boleto, em alguns bancos.
from boletonet.
Acho que encontrei.
No meu caso o problema era a agencia do cedente sendo enviada sem zeros a esquerda.
A mudança abaixo resolveu meu problema:
# Antes
var cedente = new Cedente(
cnpj,
{razaoSocial} CNPJ - {cnpj.FormataCnpj()}",
agencia.ToString(),
conta.PadLeft(5, '0')
);
# Depois
var cedente = new Cedente(
cnpj,
{razaoSocial} CNPJ - {cnpj.FormataCnpj()}",
agencia.ToString().PadLeft(4, '0'),
conta.PadLeft(5, '0')
);
from boletonet.
Somente para complementar: o meu problema era a chamada da função Valida duas vezes e faltava validar as linhas digitáveis, acabei criando uma função para fazer isso.
Em resumo, meu código ficou basicamente assim:
BoletoBancario boletoBancario = new BoletoBancario();
boletoBancario.CodigoBanco = codigoBanco;
boletoBancario.Boleto = boletoNet;
boletoBancario.Boleto.Valida();
boletoBancario.Boleto.CodigoBarra.Codigo = codigoBarras;
string linhaDigitavelFormatada = ConverterLinhaDigitavel(codigoBanco, linhaDigitavel (campo de retorno do banco);
boletoBancario.Boleto.CodigoBarra.LinhaDigitavel = linhaDigitavelFormatada;
boletoBancario.MontaHtmlEmbedded();
byte[] pdfBytes = boletoBancario.MontaBytesPDF();
string base64String = Convert.ToBase64String(pdfBytes);
public static string ConverterLinhaDigitavel(int bankNumber, string input)
{
string firstPart;
string secondPart;
string thirdPart;
string fourthPart;
string fifthPart;
switch (bankNumber)
{
case 1:
firstPart = input.Substring(0, 5) + "." + input.Substring(5, 5);
secondPart = input.Substring(10, 5) + "." + input.Substring(15, 6);
thirdPart = input.Substring(21, 5) + "." + input.Substring(26, 9);
fourthPart = input.Substring(35, 1);
fifthPart = input.Substring(36);
break;
default:
firstPart = input.Substring(0, 5) + "." + input.Substring(5, 5);
secondPart = input.Substring(10, 5) + "." + input.Substring(15, 6);
thirdPart = input.Substring(21, 5) + "." + input.Substring(26, 9);
fourthPart = input.Substring(35, 1);
fifthPart = input.Substring(36);
break;
}
return $"{firstPart} {secondPart} {thirdPart} {fourthPart} {fifthPart}";
}
#endregion
}
from boletonet.
@natancd Isto normalmente é erro no codigo do convênio, confirme com o banco.
from boletonet.
confirmei com o cliente e o boleto de fato foi gerado corretamente, tanto é que ele conseguiu pegar o PDF direto pelo site do BB
from boletonet.
@natancd O boleto foi gerado pelo BoletoNet ? Comop fez o registro ?
from boletonet.
Na verdade o boleto foi gerado via RestSharp, utilizando os dados que o BB disponibiliza na API deles. Porém, não entendo até o momento o motivo deles não gerarem o boleto em PDF. Nas pequisas de como gerar PDF de boletos, achei o BoletoNet.
Com o retorno positivo da API do BB (ou seja, o boleto foi de fato gerado), eu tenho uma função que irá gerar o PDF desses dados utilizando BoletoNet.
Este é o único trecho do código onde utilizo esta biblioteca:
Os dados estão hardcoded/com variáveis alteradas (pois é parte de um código de uma empresa), mas eles vem de variáveis utilizadas tanto para enviar à API do BB como alguns de retorno da API, como por exemplo o "Seu Número" e o "Nosso Número".
Tenho, ainda, acesso a esses dados, também salvo em banco de dados local (dados fictícios, retorno da API de homologação do BB):
from boletonet.
@natancd Se você passar os mesmos dados, ele gera a mesma linha, aqui na empresa tambem usamos o BB e imprimimos pelo BoletoNet.
from boletonet.
Estou tendo "o mesmo problema", mas com o banco Itaú.
Gerando o boleto com o boleto.net, recebo o digito verificador 6 (e não é reconhecido como um boleto válido), porem, quando gerado pelo Itaú o digito é 3 (e é reconhecido como válido nos aplicativos de banco).
@carloscds Fiquei na duvida o que seria o
codigo do convênio,
@natancd vc conseguiu identificar qual era o problema?
from boletonet.
Estou tendo "o mesmo problema", mas com o banco Itaú. Gerando o boleto com o boleto.net, recebo o digito verificador 6 (e não é reconhecido como um boleto válido), porem, quando gerado pelo Itaú o digito é 3 (e é reconhecido como válido nos aplicativos de banco).
@carloscds Fiquei na duvida o que seria o
codigo do convênio,
@natancd vc conseguiu identificar qual era o problema?
O convenio é tipo um cadastro da empresa no banco, ideal é verificar com o gerente da conta no banco.
from boletonet.
O convenio é tipo um cadastro da empresa no banco, ideal é verificar com o gerente da conta no banco.
Entendi, mas ainda não entendi como ele interfere na geração do boleto, qual parâmetro do Boleto.Net representa o convênio (se é que existe um)?
from boletonet.
Related Issues (20)
- Remover Unibanco HOT 6
- Dados do Beneficiário final
- Nosso número HOT 1
- VFP9
- Remessa CNAB 240 Sicred (748) HOT 1
- Erro ao Gerar HTML .net6 executando aplicação via docker HOT 7
- Configuração de boleto compartilhada HOT 1
- Boleto
- Dúvida HOT 1
- Implementação Web Api HOT 1
- Erro durante a geração do registro HEADER do arquivo de REMESSA. Santander. HOT 7
- Ler remessa? HOT 3
- Data de Juros no Banco do Brasil HOT 5
- Gerar pdf com arquivo cnab240 HOT 3
- Implementação de um novo banco 530 B.UNI HOT 1
- Erro remessa Sicred HOT 1
- Impressão de QR Code / Pix HOT 7
- Como trocar a Variação da Carteira do arquivo EDI do BB? HOT 1
- É mais atual do que a Boleto2Net? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from boletonet.