Publicidade   
 você está aqui: phpbrasil.com    artigos    artigo  
 
:: novos artigos ::

:: recomendado ::

MYSQL & MSQL

Compre esse livro no Submarino.com.br

:: publicidade ::


:: novos scripts ::

:: elenco phpbrasil ::

fccd
Pontos: 10353

Visite a página de perfil de MayksonBoleto bancário ( Fácil e Simples ) - Parte 3
por Maykson
Lista de Categorias  |  Contribua um Novo Artigo  |  Entre em Contato Conosco

Com este tutorial você vai criar um boleto bancário do Banco do Brasil.
E terá facilidades em adaptar para o seu banco uma vez que o principio básico é regulamentado pela Febraban, bastará você ler a documentação do seu banco.
Vote aqui!
Média de Votos Atual: 7.47
Total de Votos: 58
Nota:   

Bom, iniciamos a ultima parte do nosso tutorial revendo o que temos até aqui.

1ª Descobrimos como é composto a Linha Digitável
2ª Achamos o Dígito Verificador dos Campos
3ª Encontramos o Fator de Vencimento
4ª Geramos o Número do Código de Barras e seu Dígito Controlador

E o que temos é:

Número do Código de Barras:
00191280200000053268888882222266660007777718

Linha Digitável:
00198.88882 82222.266668 00077.777183 1 28020000005326

Todas as informações contidas nas variáveis que usamos e que serão necessárias para gerar o Código de Barras descritas abaixo.

$CodBarras = $CodBanco.$CodMoeda.$DC.$FatorVenc.$ValorDoc.$NossoNum.$Agencia.$NumConta.$Carteira;

Ou

$CodBarras = 00191280200000053268888882222266660007777718


Como de costume, devemos saber algumas coisinhas para continuar.

Antes tenha certeza que na funçao Soma11, que criamos na Parte 2 o array $Mod11 tenha 43 digitos e seja igual a este:

$Mod11 = '4329876543298765432987654329876543298765432';

O Padrão de Código de Barras utilizado pelos Bancos Brasileiros é o I25 ( Intercalado 2 de 5 ) e deve ter um comprimento de 103 mm e altura de 13 mm, além de só permitir números. A explicação do I25, acho um pouco confusão e mas, veja: “Note que o termo "2 of 5" vem do fato de que em cada padrão, duas das barras são largas e, em uma única unidade I25, existem cinco barras escuras, assim como cinco barras claras (ou espaços). Ou seja: duas barras largas de um total de cinco barras por cada padrão.”

Eu no meu modo simplório de viver e entender, prefiro ter uma visão diferente do esquema deste código, mas a função aqui é explicar, então eu mostro o oficial e ensino meu pessoal. Você escolhe qual prefere.

Vamos descobrir o que significa o 5 do Padrão I25.

Cada número de 0 a 9 tem um valor binário de ‘5’ dígitos correspondente e são eles:

0 = 00110
1 = 10001
2 = 01001
3 = 11000
4 = 00101
5 = 10100
6 = 01100
7 = 00011
8 = 10010
9 = 01010

Muito bom né? Pois então devemos saber também que o 0 (Zero) significa fino e 1 (Um) significa largo.



<< Anterior 1 2 3 Próxima >>

 
Imprimir  |  Enviar para um Amigo


Comentários de Usuários

Sistema de Confirmação de Pagamento do Boleto
publicado por le-lopes - 2005-03-28 08:36:54

Parabéns amigo, muito bom tutorial. Agora, não rolaria um tutorial para um sistema de confirmação de pagamento do boleto bancario??

tera a 4 parte
publicado por julio cesar ferreira - 2005-03-28 14:42:50

Olha meus parabens novamente, foi de muita utilidade este arqigo, pois alem de podermos corrigir prossiveis erros que acontece com o phpboleto poderemos criar nossas proprias funcoes e gerar sem a utilizacao dessas classes disponiveis ..
Agora aquela quarta parte que vc viria a falar do layout vc irá colocar ?
Abracos

Modulo 11
publicado por vtpaes - 2005-03-30 19:51:06

Olá... eu estive olhando na documentaçào de alguns bancos como unibanco e boston, e nesses bancos no módulo 11. o valor da soma tem que ser multiplicado por dez e nao por 11 como você colocou na parte um e depois dividido por 11.
no entando se eu alterar o script para multiplicar por dez ele tras dois digitos no DV . Voce nao sabe se tem algum funcao no php pra calcular o resto da divisao?
Valeu Vandré

Integração MySQL
publicado por gmendonca - 2005-04-01 22:44:51

Amigos,

Tenho um fluxo de pedidos elaborados em minha página, no final, disponibilizo um link para impressão de boleto, preciso de alguém para implementar o arquivo do boleto com as variáveis para que ele busque as infomações do BD e imprima em tela para o cliente o boleto pronto para pagamento.

Alguém se habilita? estou disposto a remunerar ou efetuar doações par aos projetos.

Ps. o negócio não é grande, portanto naõ venha querer muita coisa pois sou pessoa física e não disponho dee uma fortuna! :P

Grato,

?¿
publicado por norman - 2005-04-02 00:49:15

powW.. mayk to loco pra faze um site de compra e tals cara.. mas meu quero saber se preciso ter algum convenio com o banco pra usa um sistema de boleto saka.. ;/ , tipo alguma coisa q envie os dados do boleto pro banco na hora da compra.. isso acontecE? ou nao.? só tendo info da agencia e conta corrente ja da pra gerar o boleto.. plis quebra essa ae manim .. falow =*

Pessoa Física
publicado por FireBall - 2005-04-02 11:12:03

É possível gerar boletos para Pessoa Física? É obrigatório ter um CNPJ para a geração de boleto?

Re: ?¿
publicado por gilberto p soares - 2005-04-08 22:41:22

Velhote seguinte!

Você precisa ter um convenio com um banco sim, pq eles tem q adaptar a sua conta para receber boletos e geralmente disponibilizam um software para vc estar fazendo esse acompanhamento.

Você tem q passar informacos pro banco sobre titulos registrados, nao registrados

Melhor coisa é falar com o gerente, mas em todo o caso você precisa da autorizacao do seu banco

Vlw

Re: Pessoa Física
publicado por gilberto p soares - 2005-04-08 22:42:47

E aew Fireball

Cara pode sim emitir boleto como pessoa fisica eu mesmo usei um bom tempo antes de ter regularizada a empresa.

Mas tem q ver se o seu banco aceita isso, é cada burocracia

Re: Modulo 11
publicado por Wender Fernandes - 2005-04-13 12:17:28

Não se se vai te ajudar nesse caso, mas para calcular o resto de uma divisão é assim:

$resto = 11%2;

nesse caso $resto vai ser igual a 1

Manuais dos bancos
publicado por mdantas - 2005-04-18 15:40:07

Ótimo artigo! Parabéns!

Pessoal neste link do grupo de boleto-livre do yahooGrupos tem os manuais com padreos de todos os bancos a fim de se montar boletos. Confiram:
http://br.groups.yahoo.com/group/boletolivre/

Boleto BB Caixa Econômica (DICAS E DÚVIDAS)
publicado por jvmoura - 2005-05-01 08:41:03

Pessoal é o seguinte, utilizei este "manual" como fonte de pesquisa já que estou desenvolvendo um sistema para emissão de boleto, na verdade estamos trocando um sistema feito 100% em VB pelo nosso que funciona totalmente via WEB(Intranet), o meu principal problema foi a paginação ja que na maioria das vezes são gerados todos de uma vez, resolvi o problema com PHD gerando os arquivos em PDF.

QUERIA FAZER ALGUMAS RESALVAS, O MÓDULO 11 NO caso da caixa econômica, possuem duas formas que dependem do campo a ser tratado, no caso do NOSSONÚMERO, o módulo 11 pode ter DV = 0, já no CAMPODIGITÁVEL não pode!

NO CÓDIGO DE BARRA gerei a partir do número uma imagem PNG e importa para meu documento PDF.

CASO ALGUÉM também gere BOLETO em PDF, tenha algumas dicas, ficarei grato!

HSBC
publicado por jesmarcelo - 2005-05-04 22:25:28

Alguém sabe onde consigo um script que gere boletos do HSBC?

nao ta dando certo
publicado por Rodrigo Kouti - 2005-05-05 10:27:24

tentei mas nw consegui ... hehe alguem ajuda?

Nosso Numero - Unibanco
publicado por raquelborto - 2005-05-05 14:48:40

Olá Pessoal

Estou tentando adaptar este código para o Unibanco, no entanto o Nosso Número de os boletos que peguei para exemplo tem um digito controlador. Ex: NNNNNNNNNNNNNN-D
Alguém sabe como faz para calcular este digito?

Desde já Obrigada

email
publicado por interba - 2005-06-22 08:01:27

nao consigo enviar o boleto para o email, qdo escolho a opção de enviar para o email e clico em "gerar boleto" aparece um erro gigante. O que sera?

Novo Tipo do Banco do Brasil
publicado por Daniel Gianni - 2005-06-22 15:34:27

Para novos contratos o Banco do Brasil mudou o tipo, por exemplo uso o tipo de convênio 4 o que implica no não funcionamento do boleto.

vcto
publicado por interba - 2005-06-22 20:27:50

A data de vencimento tb nao aparece no boleto... Me ajudem por favor!!

:D
publicado por ssteel - 2005-07-14 09:19:13

Parabens kra. ajudou mtas pessoas.
[]'s.
Obs.: transformei isso pra java.

Arquivo de Remesssa
publicado por Tadeu F. Oliveira - 2005-07-18 10:40:02

Quando se gera um boleto vc num tem que enviar um arquivo de remessa para o Banco não?
É que andei lendo e nesse arquivo podemos colocar o numero do titulo na empresa com até 25 dígitos o que diminuiria a limitação de carcteres no nossoNúmero.

Múltiplos Bancos
publicado por fredmestre - 2005-07-22 14:36:50

Como faço se quiser emitir um único boleto para múltiplos bancos.

Modifiquei funcionou
publicado por FABIO JOSE RODRIGUES - 2005-07-22 15:46:25

Ola, meu cb estava dando erro na montagem, erro de imagens, somente as pretas apareciam ficava um cb corrido preto, fiz assim no fonte
$branco=$codbarras[$a];
$codbranco=$bar[$branco];
$a=$a+1;
$preto=$codbarras[$a];
$codpreto=$bar[$preto];
e funcionou.
Isto altera o cb?
Vlw....

Legal
publicado por Fellipe Eduardo Brito - 2005-07-25 09:51:34

Aqui na minha empresa trabalhamos com e-commerce, muito legal seu código vai ser de grand ultilidade pra que eu possa aprender mais sobre essas transações eletronicas

Boletos
publicado por Marcio Coan - 2005-07-26 12:57:27

Fala povo,

então, da minha experiência com boletos tirei o seguinte:

1. Os Manuais dos bancos tem todas as informações de calculos e dimensões que vc precisa. A diferença de um banco para outro é mínima, pois seguem um padrão da febraban.

2. Meus primeiros boletos fiz o código de barras com imagens como o exemplo do nosso colega, porém a solução ideal q encontrei foi criar os boletos em PDF utilizando a Classe fpdf e a fonte da febraban mesmo(Vale a pena o investimento).

Abraço

Arquivo de Remessa
publicado por Tadeu F. Oliveira - 2005-07-27 09:12:12

Quando se gera um boleto vc num tem que enviar um arquivo de remessa para o Banco não?
É que andei lendo e nesse arquivo podemos colocar o numero do titulo na empresa com até 25 dígitos o que diminuiria a limitação de carcteres no nossoNúmero.

Remessa
publicado por Marcio Coan - 2005-07-27 10:31:31

Oi Tadeu,

o arquivo remessa só é utilizado caso o boleto seja impresso pelo banco ou vc tenha uma carteira registrada, caso contrário vc não envia nada ao banco.

O nosso número realmente é bem restrito em alguns bancos no entanto ele pode ser montado como vc quiser, procure montá-lo de maneira q vc possa identificar facilmente ao q o boleto se refere, por exemplo tipo, parcela e matrícula de um aluno.

Abraço

gostei muito desse artigo
publicado por andre penha soares silva - 2005-08-02 14:24:42

kara eu já tinha procurado prá tudo quando é lado um manual prático que ensinasse a gerar boletas.
Pois ao ler esse seu artigo, foi mão-na-roda.

Vlw kara por compartilhar esse conhecimento com a comunidade do phpbrasil.

Ficou loco
publicado por Luciano Paker - 2005-08-04 14:31:08

Você não tem uma versão pra download, passa pra mim..

Obrigado!

Integração do Boleto ao oscommerce
publicado por DragonDF - 2005-11-17 10:26:42

Olá Galera,
Alguém poderia dar um help em como adaptar o Boleto em um site de oscommerce?
Como o boleto já é uma das opções, acredito que não deve ter grandes dificuldades.

Valeu!

Algo deve ter mudado no BB
publicado por Lauro_lab - 2006-01-16 19:38:13

Bom pessoal eu acabei de criar uma loja virtual que o cliente fechou convenio com o BB então tive que partir pra briga, nunca tinha feito nada relacionado ao BB, Tenhos sites que usam o boleto itau, bradesco sem qualquer problema.

Seguindo o tutorial do amigo eu percebi várias discordância na linha digitavel:

1) A loja não imprime o boleto mas envia os dados via form para que o BB imprima e portanto estou com um boleto gerado pelo BB e impresso na minha frente.
Bom vamos as comparações:
1) agencia: 3138
2) conta> 11398
3) valor R$ 32,80
4) Num. Docto. IdCobr + nr. pedido (o banco usa 17 digitos então:
Nosso numero: 12291960000000140
que é o mesmo que aparece em Nº do documento.
5) data de vencimento: 19/01/2006
Carteira: 18
Data emissão/processamento: 16/01/2006

Linha digital:
00190.00009 01229 196009 00000.140186 6 30260000003280

Se vcs observarem, na linha digital não aparece o numero da conta nem a agencia.

Isso seria pelo fato do proprio banco ter gerado o boleto.

?????

Correção ********* Boleto
publicado por Maykson - 2006-01-19 02:30:14

No função do Modulo11, onde era:

$Resultado = floor($Soma/11);
$Resto = $Soma - ($Resultado * 11);
$Dv = 11-$Resto;
if($Dv == '10' || $Dv == '1' || $Dv == '0'){
$Dv = '1';}

return $Dv;

O correto é:

$Resultado = floor($Soma/11);
$Resto = $Soma - ($Resultado * 11);

if($Resto == '10' || $Resto == '1' || $Resto == '0'){
$Dv = '1';
}else{
$Dv = 11-$Resto; }

return $Dv;

Assim trocando o if(), corrigimos o problema do dv retornar 11.
Desculpe por não ter percebido antes.

Abraços.
Maykson

Re: Algo deve ter mudado no BB
publicado por Maykson - 2006-01-19 02:50:46

Realmente o BB tem esta opção, eu mesmo usava alguns anos atras.

Mas o intuito deste tutorial não é obrigar ninguem a fazer e sim demostrar a facilidade de se criar algo que deseje e ter o conhecimento sobre aquilo.

Pode funcionar 100% para uns e para outros nem tanto, mas é uma questão de ajuste, de vontade de resolver a teoria está ai, para todo mundo usar e melhorar.

Pode ser adaptada para todos os bancos, pois todos fazem uso do Modulo10 e Modulo11, na maioria das vezes o que muda é a composição da Linha Digital, ex: derepente o valor pode estar no campo 2 ou campo 3. Ou o nosso numero.

Mas que for esperto vai pegar um boleto do banco que deseja usar e usando o tutorial gerar um boleto igual, perfeito e se você tiver a documentação do Banco, mamão com açucar.

Abraços,
Maykson

* Outra coisa, muito raramente eu uso um sistema pronto, devo ter usado 2 vezes na minha vida, eu não uso OsCommerce, ele é ótimo. Mas eu gosto de criar a minha loja virtual, com a cara e a necessidade do cliente e não deixar milhares de opção que ele nem vai saber usar e nem muita gente que usa sabe, muitos fazendo uns remendos feios. Mais cada um na sua, sendo assim não adianta perguntar sobre OsCommerce para mim, se for para trabalho de faculdade principalmente. Tendo ajudar a todos que me procuram, mas nem sempre consigo, mas prometo tentar.

Procura-se programador
publicado por Patty - 2006-02-11 09:31:29

Olá. Somos uma pequena empresa de Webdesign e Hospedagem de sites, e estamos à procura de um programador que consiga adaptar e implementar este script para gerar boleto da Caixa em alguns módulos de nosso site e na loja virtual osCommerce de alguns clientes.

Interessados em desenvolver este e outros projetos para nossa empresa, favor entrar em contato.

Publique os seus Comentários

Nome:
Email:
Título:
Comentário:

NOTA: Cadastre-se no site para poder publicar comentários.

 
webmaster: João Prado Maia   © 2000 - 2005 phpbrasil.com
Gerado em 1.689 segundos