OpenBoleto - Geração de boletos bancários em PHP

1,509 views
Skip to first unread message

Daniel G. Pereira

unread,
Jan 21, 2013, 1:04:18 PM1/21/13
to php-br...@yahoogroups.com, list...@googlegroups.com
Fala pessoal, tudo bem?

Recentemente precisei gerar boletos bancários em PHP e nunca tinha feito isso antes. Sabia da existência da biblioteca Boleto PHP, e baixei, porém percebi que a mesma sequer utiliza orientação a objetos, além de ser bastante complicada para se trabalhar e implementar outros bancos. Resolvi estudar mais a fundo sobre geração de boletos, e criei uma biblioteca para tal.

Atualmente só adaptei para utilização com Bradesco e BRB, entretanto o processo para adaptação para novos bancos é simples. Ainda preciso documentar tudo e fazer testes, mas para quem estiver interessado em contribuir, segue o link:

 
Exemplo de uso de código:

<?php 
 
use OpenBoleto\Banco\Bradesco;
use OpenBoleto\Agente;

$sacado = new Agente('Fernando Maia', '023.434.234-34', 'ABC 302 Bloco N', '72000-000', 'Brasília', 'DF');
$cedente = new Agente('Empresa de cosméticos LTDA', '02.123.123/0001-11', 'CLS 403 Lj 23', '71000-000', 'Brasília', 'DF');

$boleto = new Bradesco(array(
    // Parâmetros obrigatórios
    'dataVencimento' => new DateTime('2013-01-24'),
    'valor' => 23.00,
    'nossoNumero' => '75896452',
    'sacado' => $sacado,
    'cedente' => $cedente,
    'agencia' => '1172',
    'carteira' => 6,
    'conta' => '0403005',

    // Parâmetros recomendáveis
    'logoPath' => 'http://empresa.com.br/logo.jpg', // Logo da sua empresa
    'viewPath' => '../resources/views',
    'imagePath' => '../resources/images',
    'contaDv' => '2',
    'agenciaDv' => '1',
    'descricaoDemonstrativo' => array( // Até 5
        'Compra de materiais cosméticos',
        'Compra de alicate',
    ),
    'instrucoes' => array( // Até 8
        'Após o dia 30/11 cobrar 2% de mora e 1% de juros ao dia.',
        'Não receber após o vencimento.',
    ),
));

echo $boleto->getOutput();

Valeu pela atenção!

Luciano Marinho

unread,
Jan 22, 2013, 4:47:06 AM1/22/13
to list...@googlegroups.com
Cara, é super importante essa sua contribuição.
A BoletoPHP é ótima mas é como você disse.
Esta muito desatualizada, porém serve para os bancos que foram feitos.
Eu uso pra gerar bradesco e itau, mas precisei mudar umas coisas pra atender o que eu queria e foi um sufoco tbm.
Depois vou tentar usar a sua e adaptar pro meu uso.
Valeu mesmo.
Parabéns pela contribuição.


2013/1/21 Daniel G. Pereira <zdani...@gmail.com>
--
============================================================
JQUERY MAGAZINE > http://www.jquerymagazine.com.br
--
PHP MAGAZINE > http://www.phpmagazine.com.br
--
LISTA NODE.JS > https://groups.google.com/group/lista-nodejs?hl=pt-br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================



--

 

 

 


 


Analista Programador PHP
,
Administrador Linux


www.racaboxer.com.br
  

Certificate for 433536
Não imprima esse email

 


Facebook LinkedIn Twitter
Google Talk luciano...@gmail.com Google Talk nickm...@gmail.com Skype nickmarinho MSN nickm...@hotmail.com

Ivan Boldt

unread,
Jan 22, 2013, 5:02:26 AM1/22/13
to list...@googlegroups.com

Pessoal, bom dia,

 

Tenha uma tabela onde são cadastradas as vendas feitas pelo usuário.

Nesta tabela existem várias colunas, dependendo do produto estas colunas são diferentes. Exemplo:

 

Produto1 = coluna quantidade e valor;

Produto 2 =  coluna valor, tx, prazo. A taxa e prazo já não se aplica as primeiro produto.

Na tabela o valor dos campos que não pertencem ao produto ficam  zeradas.

 

No relatório pensei em separar por produto, mas como faço pra identificar as colunas que referem-se a cada produto? Ou seja, qual é a melhor forma de fazer isso?

Evaldo Junior

unread,
Jan 22, 2013, 6:10:40 AM1/22/13
to listaphp, php-br...@yahoogroups.com
A ideia é muito boa Daniel!

Já estou seguindo lá no GitHub e, tendo oportunidade, vou usar e contribuir =)

InFog

--

Inline image 3

 Evaldo Junior
 CaSoft Web
 Tecnologia e Desenvolvimento
 Tel: +55 13 2138-9525
 http://casoftweb.com.br




2013/1/21 Daniel G. Pereira <zdani...@gmail.com>
Fala pessoal, tudo bem?
--
assinatura.png

Márcio Fornari

unread,
Jan 22, 2013, 5:20:37 AM1/22/13
to list...@googlegroups.com
Garanto que vai ajudar a muitos, parabéns!


--
============================================================
JQUERY MAGAZINE > http://www.jquerymagazine.com.br
--
PHP MAGAZINE > http://www.phpmagazine.com.br
--
LISTA NODE.JS > https://groups.google.com/group/lista-nodejs?hl=pt-br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================



--
............
.Márcio Fornari 
.Bacharel em  Sistemas de Informação
.Contatos pelo Telefone: (49)8814 - 3378
.ou pelo e-mail: marcio...@gmail.com
.Msn: marci...@hotmail.com
..........................................................................

Cassiano Ricardo Mourão

unread,
Jan 22, 2013, 7:53:42 AM1/22/13
to list...@googlegroups.com
Em um ÚNICO relatório você quer mais de um tipo de produto?
 
Vai ter que reaproveitar o nome das colunas e usar CASE/IF no select pra manipular os dados (formatar, concatenar strings, etc).
 
Agora, se é um tipo de produto apenas num relatório e um mesmo "gerador de relatório" pra os produtos que você tem, não tem problema nenhum. Qual exatamente sua dúvida?

--
Reply all
Reply to author
Forward
0 new messages