+2

Boleto bancário ( Fácil e Simples ) - Parte 2

criado por Maykson A C Silva em 01/03/2005 10:42am
Bem assim como para o calculo do Modulo10, existe considerações a fazer e isto é condicionado pelo if, onde sempre que $Dv for = 10 ou 1 ou 0 ele deve ter valor 1;
Mais as diferenças não param por ai, lá no Modulo10 usamos o 2 e o 1 para efetuar a multiplicação, aqui usaremos um range de 2 a 9, onde o array terá 43 digitos e inicia do fim para o inicio e pelo número 2.

function Soma11($Partes){
    $Quant = strlen($Partes);
    $Mod11 = '4329876543298765432987654329876543298765432';
    for ($i = $Quant-1; $i >= 0; $i--) {
        $Y = $Partes[$i]*$Mod11[$i];
        $Soma += $Y;
    }
    return $Soma;
}

Diferente do que houve com a outra função Soma, não precisamos de nenhum segredo, a não ser o -1 no $Quant do $i, para ajustar o ponteiro.

Então vamos chamar as funções e descobrir o DV.

$Soma = Soma11($Partes);
$DC = Modulo11($Soma);

Nosso $DC será 1.

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

E o Número do Código de Barras será:

00191280200000053268888882222266660007777718

E a Linha Digitável
00198.88882 82222.266668 00077.777183 1 28020000005326

Bom, assim fechamos mais um parte deste tutorial, na 3º e ultima parte vou mostrar como gerar o Código de Barras.

Comentários:

Mostrando 1 - 10 de 22 comentários
Olá, a senha devera estar e Branco, ou é 654321 ou 123456 pronto,, e veja que o phpboleto funciona muito bem para min, nos sites que utilizo..
23/09/2006 1:20pm (~16 anos atrás)

Gostaria de confirmar a função:
function Modulo11($Soma){
$Resultado = floor($Soma/11);
$Resto = $Soma - ($Resultado * 11);
$Dv = 11-$Resto;
if ($Dv == '10' || $Dv == '1' || $Dv == '0'){
$Dv = '1';
}
return $Dv;
}

pois se $resto for 0, ela retorna 11 com resultado do DV, nao deveria se 1?

Obrigado
27/04/2005 2:50pm (~17 anos atrás)

Patrick silva disse:
como faço para gerar segunda via do boleto bancário, bb.
18/04/2005 6:13pm (~17 anos atrás)

Primeiramente gostaria de dar os parabens pela explicação sussinta de como gerar a linha digitavel e o valor do codigo de barras que são as coisas q geralmente ficam mais obscuras na geração dos boletos.
Agora estou aguardando a 3 parte do arqtigo e gostaria sim que vc colocasse a disposição a 4 parte com o layout ..

Julio Cesar
24/03/2005 8:50am (~17 anos atrás)

darksaj disse:
kd a proxima parte???
e esse PHPBoleto eh zuado... alem d ser cheio d bugs, n consegui fazer ele conectar num banco PostgreSQL
21/03/2005 9:05am (~17 anos atrás)

Para instalar voce podera copiar todo o conteudo e modificar os arquivos de acesso ao BD, ou utilizar o instalador instalacao.html e dai por diante e so ir preenchendo e clicando.. Boa sorte.
16/03/2005 10:24pm (~17 anos atrás)

veja os que ja tenho modificados do phpboleto e faca um teste para ver o funcionamento http://www.viadascompras.com http://www.autoac.com.br http://www.megabolao.com todas versateis, pratica e funcionais,, Como nao consegui efetuar o upload devido ao tamanho disponibilizei para download em http://www.megabolao.com/downloads/phpboleto.zip e http://www.megabolao.com/downloads/phpboleto.exe muito bom e completo.
16/03/2005 10:21pm (~17 anos atrás)

Leandro disse:
Alguém sabe onde posso arrumar um script que faz a confirmação do pagamento do boleto bancario? Pois os bancos emitem um arquivo txt com as informação do boleto pago, tipo pegar quais boletos que já foram pagos complemento do sistema do boleto bancario
15/03/2005 3:58pm (~17 anos atrás)

Evandro Silva disse:
Ja estou aguardando há varios dias pela publicação da terceira parte e até agora nada.

Será que não daria pra você enviar pro meu email? evandro@planetarussas.com.br
15/03/2005 6:14am (~17 anos atrás)

Leonardo disse:
Muito bem explicado. E pensar que eu criava imagens PNG 8 bits do boleto em branco e alterava a formatação e geração dos dados no boleto para cada banco. Muitas dores de cabeça...
14/03/2005 4:30pm (~17 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)