GithubHelp home page GithubHelp logo

eduardokum / laravel-boleto Goto Github PK

View Code? Open in Web Editor NEW
584.0 61.0 378.0 80.42 MB

Pacote para gerar boletos e remessas

License: MIT License

PHP 98.02% Dockerfile 0.03% Blade 1.95%
boleto remessa laravel retorno cnab banco bradesco itau cef santander

laravel-boleto's People

Contributors

afonsocarlos avatar alef-carvalho avatar brnpimentel avatar devguar avatar diorgesl avatar edgardmessias avatar edigomes avatar eduardokum avatar elisiara avatar emtudo avatar enricodvn avatar f3lpz avatar fabritha avatar guicouto avatar jeidison avatar jhemarcos avatar karlasantos avatar leonardopinho avatar luizguilhermefr avatar marcelonoguti avatar matheusmartinsdev avatar mprandot avatar nobios avatar rafwell avatar rainzart avatar raphaelcarreiro avatar silasrm avatar thmrdev avatar vagnerfpaes avatar xfreitas 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  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

laravel-boleto's Issues

$pagador = new \Eduardokum\LaravelBoleto\Pessoa

$pagador = new \Eduardokum\LaravelBoleto\Pessoa([
'nome' => 'Cliente',
'endereco' => 'Rua um, 123',
'bairro' => 'Bairro',
'cep' => '99999-999',
'uf' => 'UF',
'cidade' => 'CIDADE',
'documento' => '999.999.999-99',
]);

Quando chamamos a class Pessoa da erro Not Found.
Não deveria ter que registrar o provider?

Remessa Bradesco

Em contato com o banco, foi verificado que o campo de remessa (posição 22 a 24) precisa ter os 3 dígitos preenchidos. Por padrão, informei no código o parâmetro 'carteira' => '09' e na remessa apareceu 090 ao invés de 009. Poderia verificar e realizar uma correção?
De qualquer forma, coloquei 009 em meu código.
Obrigado!

Homologação Banco Sicredi

Olá Eduardo,

Antes de tudo gostaria de agradecer, seu repositorio me ajudou muito, tanto na compreensão do processo quanto na implementaçao em sí.

Minha dúvida: Qual o estado atual do processo de homologação com o banco Sicredi?

Estou fazendo uma implementaçao para emitir esses boletos e utilizei do seu repositório. Até agora a unica modificação que o banco me pediu foi o DV do prefixo do boleto (que identifica a moeda) Ex: 748-"DV". Segue imagem:

boleto-sicredi-homologacao

Implementei o método getCodigoBancoComDv() na classe Sicredi, para emitir esse 'X' e por enquanto estou esperando o retorno do banco. Se quiser posso fazer um pull request.

Obrigado

Erro na validação pelo Itaú

Estou recebendo o seguinte erro na validação do Itaú:
image

Manual:
Pag 21:
image
Pag 8:
image

Segundo o manual está tudo ok!!!
Mas fica rejeitando a remessa!!!

Segue remessa gerada:
http://pastebin.com/V0fE8sjG

Conferi todo o código e o arquivo da remessa, aparentemente está OK, usei diasProtesto na geração, vi que foi adicionado diasBaixaAutomatica não sei se teve a ver.

Alguém teve esse erro?

Att.

Automatizar registros

Olá Eduardo, Primeiro parabéns pelo projeto, fantástico.
Estou terminando de implementar e até agora tudo correu bem.

Apenas uma dúvida.
Sabe como este processo de envio de remessa para registro (Bradesco - carteira - 09) pode ser otimizado? No meu caso gero muitos boletos tipo 20 por hora. Desta forma teria que ficar fazendo vários registros por dia.

O objetivo é que o cliente compre no meu site gera o boleto e paga na mesma hora.
O site do registro.br usa assim. Estou tentando entender este processo para implementar.

Como tem que registrar primeiro e somente depois liberar para impressão tornando inviável para sites de ecommerce, já fez algo parecido?

Valeu.

Erro processar retorno BB

Olá, boa tarde.

estou tentando executar o exemplo do processamento do retorno, mas tem retornado esse erro:

Fatal error: Call to undefined function Eduardokum\LaravelBoleto\Cnab\Retorno\Cnab400\Banco\array_get() in C:\xampp\htdocs\vendor\eduardokum\laravel-boleto\src\Cnab\Retorno\Cnab400\Banco\Bb.php on line 222

o arquivo é: exemplos/bb_retorno.php

Desde ja agradeço a atenção, obrigado.

Campos requeridos pelo banco, aparentam estar ausentes

Os campos agencia e conta não estão vazios mas o erro continua. Forcei a criação do arquivo alterando a função isValid() e o arquivo realmente não captura essas informações, porém quando dou dd() na função $remessa->addBoleto() ele exibe essas informações normais.

Geração de boletos registrados / não registrados

Olá, gostaria de começar elogiando o trabalho realizado.

Estou precisando integrar uma loja online com gerações de boletos pelo Itaú.
O meu cliente recebeu do Itaú um manual no qual consta o número de carteira de cobrança 176.

Vi na internet que as empresas agora não conseguem mais gerar boletos sem registro mas vi também que até conseguiria mas precisava ser pago no pago emissor. Estou confuso em qual método utilizar.

O boleto sem registro consegui gerar facilmente, só não sei se ainda está sendo aceito nos bancos.
O com registro o funcionamento é este abaixo?

... monta a variável $beneficiario
... monta a variável $pagador 
... monta a variável $boleto
... monta a variável $remessaArray
$remessa = new \Eduardokum\LaravelBoleto\Cnab\Remessa\Banco\Itau($remessaArray);
$remessa->addBoleto($boleto); // Objeto de boleto gerado, BoletoContract
$remessa->addBoletos($boletos);
return $remessa->gerar();

Este código acima retorna esse resultado:

01REMESSA01COBRANCA 999900999999 ACME 341BANCO ITAU SA 241116 000001 10299999999999999999900999999 0000 000000010000000000000175 I011 24111600000000100003410000001S241116005700000000000000000000000000000000000000000000000000000000000100099999999999CLIENTE RUA UM, 123 BAIRRO 99999999CIDADE UF 24111600 000002 9 000003

Como depois consigo exibir o boleto com registro?
Cheguei a ler que o boleto com registro demora para ser emitido e o banco que precisa enviar.

Obrigado desde já por qualquer ajuda.

Problema ao instalar o pacote

Bom dia,

Estou com problemas com a minha aplicação já é o segundo pacote que eu instalo. Após a instalação a aplicação começa a gerar o seguinte erro "Call to undefined method Illuminate\Database\Query\Builder" como se tive-se dando conflito com uma das minhas classes...Gostaria de saber se alguém tem alguma sugestão do que possa ser....segue o erro completo

BadMethodCallException in Builder.php line 2161: Call to undefined method Illuminate\Database\Query\Builder::buscarPrecoProduto()

lembrando que este erro não acontece antes da instalação do pacote....

Remessa retorna Fatal Error quando o dígito verificador da conta é 0

Minha conta possui um dígito verificador 0 e na hora de gerar a remessa está me retornando o seguinte erro:

Fatal error: Uncaught exception 'Exception' with message 'Campos requeridos pelo banco, aparentam estar ausentes' in /home/storage/b/f6/fe/camelao1/public_html/sistema/vendor/eduardokum/laravel-boleto/src/Cnab/Remessa/AbstractRemessa.php:425

Verifiquei no arquivo Bradesco.php e o mesmo possui a função:

public function isValid()
{
     if(empty($this->getCodigoCliente()) || empty($this->getContaDv()) || !parent::isValid())
     {
         return false;
     }
     return true;
}

Como o número é 0 o empty retorna true, o que acaba gerando este erro. Fiz a seguinte alteração:

public function isValid()
{
     if(empty($this->getCodigoCliente()) || (empty($this->getContaDv()) && !is_numeric($this->getContaDv()))|| !parent::isValid())
     {
         return false;
     }
     return true;
}

Boleto com desconto

Olá como faço pra inserir desconto nos boletos?

Nos boletos registrados, o valor do desconto é gerado no arquivo de remessa?

alterarBoleto() / baixarBoleto()

Call to undefined method Eduardokum\LaravelBoleto\Cnab\Remessa\Banco\Bradesco::alterarBoleto()

Como deve ser usada a função para alteração e baixa de boleto?

Para adicionar um boleto, uso:
$remessa->addBoleto($boleto);

Não seria o mesmo para alterar e baixar?
$remessa->alterarBoleto($boleto);
$remessa->baixarBoleto($boleto);

Nova tag!

Poderia gerar uma tag para ter a correção feita!

No mais valeu!

Arquivo de retorno UploadedFile

Na aplicação que estou desenvolvendo o usuário pode importar um arquivo de retorno de seu computador (via input type="file").

Quando feito isso, no controller eu recebo o arquivo como UploadedFile. Nesse formato eu não consigo passar para o método make da Factory de retornos.

Existe uma maneira de transformar esse arquivo para o formato esperado? Ou há como implementar algo no package para aceitar os dois tipos?

Procurei bastante mas não estou encontrando...

CNAB240 Arquivo de remessa

Alguém ja usou/testou a geração de arquivo de remessa do Santander com o layout CNAB240?

Aparentemente aqui comigo ele não está gerando os Headers/Trailers de lote. Está gerando somente os Headers/Trailers de arquivo.

Vi que existe as funções de geração das informações do lote, mas em nenhum lugar do código é chamado.

Número de Caracteres

ao escrever a remessa eu contei 400 caracteres na cadeia, mas capturando os personagens já no arquivo eu contei 394 caracteres, o problema está na linha 1, tanto o nome e endereço do pagador, que tem espaços, acho que é o problema

Header Boleto Itau

Nas instruções do boleto do Itau, o valor e número estão trocados na versão de PDF.

Suporte 5.1

Existe a possibilidade de manter o suporte no 5.1?
Estamos finalizando nosso financeiro e a tag illuminate/support": "~5.2.0|~5.3.0 acabou por frear nosso dev =)

Bradesco Retorno

Fatal error: Uncaught Error: Call to undefined function Eduardokum\LaravelBoleto\Cnab\Retorno\Cnab400\Banco\array_get() in C:\xampp2\htdocs\remessaBradesco\vendor\eduardokum\laravel-boleto\src\Cnab\Retorno\Cnab400\Banco\Bradesco.php:120 Stack trace: #0 C:\xampp2\htdocs\remessaBradesco\vendor\eduardokum\laravel-boleto\src\Cnab\Retorno\Cnab400\AbstractRetorno.php(244): Eduardokum\LaravelBoleto\Cnab\Retorno\Cnab400\Banco\Bradesco->processarDetalhe(Array) #1 C:\xampp2\htdocs\remessaBradesco\vendor\eduardokum\laravel-boleto\src\Cnab\Retorno\Factory.php(106): Eduardokum\LaravelBoleto\Cnab\Retorno\Cnab400\AbstractRetorno->processar() #2 C:\xampp2\htdocs\remessaBradesco\vendor\eduardokum\laravel-boleto\exemplos\bradesco_retorno.php(3): Eduardokum\LaravelBoleto\Cnab\Retorno\Factory::make('C:\xampp2\htdoc...') #3 {main} thrown in C:\xampp2\htdocs\remessaBradesco\vendor\eduardokum\laravel-boleto\src\Cnab\Retorno\Cnab400\Banco\Bradesco.php on line 120

Layout Caixa

Olá, gostaria de saber qual é o padrão de Layout que está sendo usado para o padrão Caixa?
Remessa está como 240?
E o Retorno 240 ou 400?
Tive alguns problemas ao ler o retorno e enviar a remessa no sistema da caixa.

Renderiza a view em branco

Fiz a configuração com a passagem de dados via post de uma view, só que ele gera uma pagina em branco nem da erro nenhum. há alguma configuração mais especifica alem da que consta na documentação para gerar boleto para banco do brasil?

Erro ao gerar exemplo

Olá!

Estou com um problema para gerar um boleto de exemplo...
Estou pegando o exemplo do README, mas a tela fica branca e não aparece nada (usando renderHTML ou renderPDF), pode verificar por favor?

Não apresenta erro na tela, no console e no laravel.log.

DV Nosso Numero

Olá,

Estou trabalhando com boleto do Itau, carteira 112 e tipo "Cobrança Escritural", onde o Nosso Número e o DAC Nosso Número são fornecidos pelo banco no arquivo de retorno.

O DAC do Nosso Número do boleto gerado não bate com o DAC Nosso Número retornado pelo banco, há alguma forma de passar o DAC do Nosso Número fornecido pelo banco, sem que ele seja calculado?

Obrigado!

Mauricio

[Dúvida] Dados boleto

Olá,

primeiramente gostaria de agradecer e parabenizar ao Eduardo e demais contribuintes que estão ativos nesse projeto.

Minha dúvida é referente a composição de informações dos dados do cedente no boleto.

BANCO: CEF

conta : Qual informação deve ser preenchida aqui ? Numero da conta bancaria ou código do cedente.
codigoCliente: o que seria ? é o código do cedente?

OBS: Quando preencho o campo conta: com numero da conta bancaria , na impressão do boleto mostra agencia/Código beneficiário exemplo: 1131/1234 (1234=conta bancaria) e não o codigoCliente que seria o código do cedente.

Estou nessa dúvida, se alguém puder esclarecer agradecia.

Prazo para baixa/devolução

Parabéns pelo projeto.

Existe alguma opção para informar o prazo (em dias) para baixa/devolução do boleto ?

Atributo Nosso Numero

Como fica a configuração no caso do banco (Itaú) só fornecer o Nosso Número?

Carteira no boleto ITAU

Olá, o campo carteira no boleto Itaú não esta sendo exibido no boleto individual usando renderHTML().

Parabéns pelo laravel-boleto

Extensão ext-intl

Eduardo,

Estou tentando instalar sua biblioteca mas ela pede essa extensão "ext-intl".

Tem horas que estou tentando instalar mas não consigo.

Pra que você usa essa extensão? Ela é realmente necessária?

Não consigo instalar no MAC OS.

Boleto Sicredi

Alguma chance de existir a inclusão? Ou alguma idéia de como poderia implementá-lo usando seu sistema?

Erro ao gerar Boleto em HTML

Quando tento gerar um boleto em HTML utilizando $boleto->renderHTML(), me retorna:

Fatal error: Call to undefined function Eduardokum\LaravelBoleto\Boleto\Render\view() in /home/storage/b/f6/fe/camelao1/public_html/sistema/vendor/eduardokum/laravel-boleto/src/Boleto/Render/Html.php on line 120

Remessa Caixa: Protesto/Devolução

Olá, acredito que seja uma dúvida simples de se responder.

quando setamos diasBaixaAutomatica para geração da remessa, refere-se aos dias de protesto/devolução ?

Mas como o banco saberá se é pra protestar ou devolver -baixar o titulo ?

Obrigado

Erro ao gerar Remessa Bradesco

Eduardo,

Antes de mais nada, parabéns pelo seu trabalho.

Verifiquei que, ao gerar a remessa para Bradesco, há uma verificação se o dv da conta está preenchido.

Cnab/Remessa/Banco/Bradesco.php

if(empty($this->getCodigoCliente()) || empty($this->getContaDv()) || !parent::isValid()) { return false; }

Porém, quando o digito da conta é '0', o $this->getContaDv() está retornando true, gerando assim um erro indevido.

Além disso, as carteiras chumbadas no arquivo do Bradesco estão como 21 e 22. Sendo que a carteira que estou usando para o Bradesco é 09. Houve alguma mudança na numeração dessas carteiras?

Agradeço pela atenção e mais uma vez parabéns.

Sacador/Avalista

Não consigo definir o sacador/avalista no Boleto. Gerou o boleto em PDF mas não apareceu as informações do sacador/avalista. Tentei assim:

$sacadorAvalista = new \Eduardokum\LaravelBoleto\Boleto\Pessoa([
'nome' => 'Cliente Sacador',
'endereco' => 'Rua um, 123',
'bairro' => 'Bairro',
'cep' => '99999-999',
'uf' => 'UF',
'cidade' => 'CIDADE',
'documento' => '999.999.999-99',
]);

$boleto = new Eduardokum\LaravelBoleto\Boleto\Banco\Bradesco([
'logo' => realpath(DIR . '/images/') . DIRECTORY_SEPARATOR . '237.png',
'dataVencimento' => new \Carbon\Carbon(),
'valor' => 100,
'multa' => false,
'juros' => false,
'numero' => 1,
'numeroDocumento' => 1,
'pagador' => $pagador,
'beneficiario' => $beneficiario,
'sacadorAvalista' => $sacadorAvalista,
'carteira' => '09',
'agencia' => 1111,
'conta' => 9999999,
'descricaoDemonstrativo' => ['demonstrativo 1', 'demonstrativo 2', 'demonstrativo 3'],
'instrucoes' => ['instrucao 1', 'instrucao 2', 'instrucao 3'],
'aceite' => 'S',
'especieDoc' => 'DM',
]);

Header BB

Gerei a remessa e encaminhei para validação no banco do Brasil e me retornaram o seguinte:

Posições 077 a 094: Preencher com '001BANCODOBRASIL'

Eu vi que na remessa gerada, ficou '00 ', mas os valores estão corretos na função que gera o header:
$this->add(77, 79, $this->getCodigoBanco()); $this->add(79, 94, Util::formatCnab('X', 'BANCODOBRASIL', 15));

Não entendi o pq de ter cortado o 1 do código e não ter ficadoo nome do banco.

Segue em anexo a remessa gerada. 14061601.txt

Protesto de boleto é ativado na Remessa mesmo com diasProtesto no boleto em 0 dias

Ao homologar o boleto com meu banco, fui informado que a remessa apresentava a numeração '06' nos campos 157-158 e nos campos 159-160 o número de dias estava em 0. Como eu não protesto boleto, fui corrigir e vi que no boleto eu já tinha colocado a opção 'diasProtesto' em 0.

Para resumir, a remessa está setando em '06' mesmo colocando diasProtesto no boleto em 0. O certo seria setar os campos 157-158 em '00', pois o número de dias foi setado em 0.

no arquivo Cnab/Remessa/Banco/Bradesco.php verifiquei estas linhas:

$this->add(157, 158, '00');
$this->add(159, 160, '00');

if($boleto->getDiasProtesto() !== false)
{
   $this->add(157, 158, '06');
   $this->add(159, 160, Util::formatCnab('N', $boleto->getDiasProtesto(), 2));
}

Fiz um teste alterando !== false por != false e funcionou. Isto corrigiria o problema?

Problema com DAC "Nosso Número" - Itaú

Estou tendo um problema quanto a homologação do boleto com o banco, a leitura do código de barras não apresentou nenhum problema, porém a composição numérica esta irregular. O que pode ser?

image

Obrigado!

Geração de remessa com vários boletos

Para gerar uma remessa com vários boletos, eu devo colocar o $remessa->addBoleto($boleto) dentro de um foreach ou o $boleto tem que ser um array com todos boletos?

Homologação

Oi Eduardo, está fazendo um bom trabalho aqui!

Poderia falar algo sobre a homologação, já conseguiu passar com este codebase?

Remessas Bradesco

Estou com um problema de "Indícios de Rejeição" nas remessas enviadas para o Bradesco.
Em contato com o suporte, foi informado que as remessas não estão sendo enviadas com o número da carteira. Porém, eu já informei o parâmetro 'carteira' => '09' na array $beneficiario, $remessa e $boleto, mas sem sucesso.

O que devo fazer?

Observações: O número da carteira precisa estar na posição 22-24 do arquivo de remessa.

Retorno Cnab240 Santander não está chegando na função incrementDetalhe

Olá, no Retorno Santander Cnab240, ao invés de identificar T, está vindo A,B ou Z.

Estou passando um arquivo de retorno com vários clientes, que por sua vez deveriam ter seus detalhes atribuídos na collection que está na função incrementDetalhe().

Na classe AbstractRetorno.php
. Função processar
. Linha 270 "$this->getSegmentType($linha) == 'T'"

Estou com um arquivo de retorno fornecido diretamente pelo Santander. Esse Arquivo vem com vários registros. Na função mencionada da linha 270 apenas vem o tipo de segmento ABZABZABZABZABZ (Considerando que cada letra se refere a cada linha de registro do arquivo de retorno).

Sendo assim, a execução nunca chega na função incrementDetalhe().

Valeu!

Homologação

Todos os boletos implementados já passaram por homologação junto aos bancos?

Problema de quebra de página e alinhamento

Bom dia!

Estou com um problema (como diz o título da issue).
As páginas estão quebrando no meio dos boletos e eles não estão 100% alinhados.
Anteriormente foi dito que poderia ser minha máquina, mas testei em outras e está acontecendo a mesma coisa.

A questão do alinhamento eu até consegui arrumar, coloquei gerar o boleto em uma nova página, ai alinhou corretamente, agora a questão de quebra de página, pode ser alguma coisa com o package de impressão?

rbr informatica.pdf

API da caixa

Bom dia!, Gostaria de saber se é possível termos relação direto com a caixa econômica como é feito com o pagseguro, saber quem pagou, que boleto está em aberto... Essas coisas, é possível?

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.