• 0
Sign in to follow this  
Guest - Felipeee -

Como Gerar Codigo Para Boleto Bancario?

Question

Guest - Felipeee -

Amigos,

alguém sabe como gerar aquele codigo do boleto bancario?

00191.23454 60000.502017 01800.016329 1 22550000015000

já li que tem que fazer uma serie de calculos. Mas quais e como fazer estes calculos?

Aguardo.

huh.gif

Felipeee.

Share this post


Link to post
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Eu posso ajudar mas o que você precisa ?

de um script que gere apartir de qualquer numero?

ou você só precisa pra esses numeros que você passou ?

Share this post


Link to post
Share on other sites
  • 0

Eu tenho um script que peguei no site http://www.netdinamica.com.br/boleto

não sei se é isso o que você queria mas senao for pelo menos você aprende a gerar codigos de barras = )

<?

$valor = isset($valor) ? $valor : "34191183400000292011090000107160253500375000"; // Valor Inicial

fbarcode($valor); // Linha de Exemplo

function fbarcode($valor){

$fino = 1 ;

$largo = 3 ;

$altura = 50 ;

$barcodes[0] = "00110" ;

$barcodes[1] = "10001" ;

$barcodes[2] = "01001" ;

$barcodes[3] = "11000" ;

$barcodes[4] = "00101" ;

$barcodes[5] = "10100" ;

$barcodes[6] = "01100" ;

$barcodes[7] = "00011" ;

$barcodes[8] = "10010" ;

$barcodes[9] = "01010" ;

for($f1=9;$f1>=0;$f1--){

for($f2=9;$f2>=0;$f2--){

$f = ($f1 * 10) + $f2 ;

$texto = "" ;

for($i=1;$i<6;$i++){

$texto .= substr($barcodes[$f1],($i-1),1) . substr($barcodes[$f2],($i-1),1);

}

$barcodes[$f] = $texto;

}

}

//Desenho da barra

//Guarda inicial

?>

<html>

<head>

<title>NetDinamica.com.br - C&oacute;digo de Barras 2 of 5 em PHP</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF" text="#000000">

<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Script Gera C&oacute;digo

de Barras 2 of 5 - Padr&atilde;o utilizados para boletos bancarios.</b><br>

<br>

Este script foi testado com o leitor de c&oacute;digo de barras e esta OK. <br>

</font><br>

<br>

<img src=p.gif width=<?=$fino?> height=<?=$altura?> border=0><img

src=b.gif width=<?=$fino?> height=<?=$altura?> border=0><img

src=p.gif width=<?=$fino?> height=<?=$altura?> border=0><img

src=b.gif width=<?=$fino?> height=<?=$altura?> border=0><img

<?

$texto = $valor ;

if((strlen($texto) % 2) <> 0){

$texto = "0" . $texto;

}

// Draw dos dados

while (strlen($texto) > 0) {

$i = round(esquerda($texto,2));

$texto = direita($texto,strlen($texto)-2);

$f = $barcodes[$i];

for($i=1;$i<11;$i+=2){

if (substr($f,($i-1),1) == "0") {

$f1 = $fino ;

}else{

$f1 = $largo ;

}

?>

src=p.gif width=<?=$f1?> height=<?=$altura?> border=0><img

<?

if (substr($f,$i,1) == "0") {

$f2 = $fino ;

}else{

$f2 = $largo ;

}

?>

src=b.gif width=<?=$f2?> height=<?=$altura?> border=0><img

<?

}

}

// Draw guarda final

?>

src=p.gif width=<?=$largo?> height=<?=$altura?> border=0><img

src=b.gif width=<?=$fino?> height=<?=$altura?> border=0><img

src=p.gif width=<?=1?> height=<?=$altura?> border=0>

<?

} //Fim da função

function esquerda($entra,$comp){

return substr($entra,0,$comp);

}

function direita($entra,$comp){

return substr($entra,strlen($entra)-$comp,$comp);

}

?>

</p>

<form name="form1" method="post" action="">

<font face="Arial, Helvetica, sans-serif" size="2"><b>Digite o valor do c&oacute;digo

de barras:</b></font><br>

<input type="text" name="valor" maxlength="50" size="50" value="<? echo $valor ?>">

<input type="submit" name="Submit" value="Gerar C&oacute;digo de Barrar">

</form>

<font color="#FF0000">Todos os creditos s&atilde;o da</font> : <font face="Arial, Helvetica, sans-serif" size="2"><a href="mailto:[email protected]%20">[email protected] </a></font> <font face="Arial, Helvetica, sans-serif" size="2">ou visite: <a href="http://www.netdinamica.com.br/boleto" target="_blank">www.netdinamica.com.br/boleto</a></font><br>

</body>

</html>

Share this post


Link to post
Share on other sites
  • 0
Guest - Felipeee -

Amigos,

Minha pergunta é:

"Como gerar o NUMERO" e não "como gerar o codigo de barras".

alguém saber realizar os calculos ou sei la o que para gerar aquela seguencia numerica?

Agradeco e aguardo.

Felipeee smile.gif

Share this post


Link to post
Share on other sites
  • 0

A sequência numérica é gerada a partir dos dados do seu boleto e tem de ser no padrão do seu banco.

Os números seguem uma cardinalidade, de banco para banco pode variar.

Entre em contato com seu banco para obter mais detalhes.

Algumas informações que vão em quase todos os bancos:

Número do banco,

Número da Carteira,

Data de vencimento,

Número da Agencia,

Número da Conta,

Número do boleto (Nosso número),

Valor do boleto.

Estas informações são as mais utilizadas, agora a ordem e até mesmo as informações piodem mudar de acordo com seu banco.

Abs

Share this post


Link to post
Share on other sites
  • 0
Guest - Felipeee -

Bicho,

Cada banco tem um numero, o cliente seu numero, carteira contratada, disso tudo eu sei. O que quero saber é como gerar a sequencia numerica.

O banco não passa estas informacoes.

Share this post


Link to post
Share on other sites
  • 0

function MontaLinha ($num) {

global $str;

/*

Posição  Conteúdo
1 a 3  	Número do banco
4  	Código da Moeda - 9 para Real
5  	Digito verificador do Código de Barras
6  a 19  Valor (12 inteeeiros e 2 decimais)
20 a 44  Campo Livre definido por cada banco

*/

# 1. Campo - composto pelo código do banco, código da moéda, as cinco primeiras posições
# do campo livre e DV (modulo10) deste campo

$p1 = substr($str,0,4);
$p2 = substr($str,19,5);
$p3 = Modulo10("$p1$p2");
$p4 = "$p1$p2$p3"; 
$p5 = substr($p4,0,5);
$p6 = substr($p4,5);
$campo1 = "$p5.$p6";


# 2. Campo - composto pelas posiçoes 6 a 15 do campo livre 
# e livre e DV (modulo10) deste campo 

$p1 = substr($str,24,10);
$p2 = Modulo10($p1);  
$p3 = "$p1$p2";
$p4 = substr($p3,0,5);
$p5 = substr($p3,5);   
$campo2 = "$p4.$p5";

# 3. Campo composto pelas posicoes 16 a 25 do campo livre
# e livre e DV (modulo10) deste campo

$p1 = substr($str,34,10);
$p2 = Modulo10($p1);  
$p3 = "$p1$p2";
$p4 = substr($p3,0,5);
$p5 = substr($p3,5);   
$campo3 = "$p4.$p5";

# 4. Campo - digito verificador do codigo de barras

$p1 = substr($str,0,4);
$p2 = substr($str,5);
$p3 = "$p1$p2";
$campo4 = Modulo10($p3);


# 5. Campo composto pelo valor nominal pelo valor nominal do documento, sem
# indicacao de zeros a esquerda e sem edicao (sem ponto e virgula). Quando se
# tratar de valor zerado, a representacao deve ser 000 (tres zeros).

$p1 = substr($str,5,14);
$campo5 = sprintf("%d",$p1);


$linha_digitavel = "$campo1 $campo2 $campo3 $campo4 $campo5"; 

return $linha_digitavel;

}
/* 

A febraban definiu a seguinte formatacao para o codigo de barras:

Posição         Conteúdo
1 a 3           Número do banco
4               Código da Moeda - 9 para Real
5               Digito verificador do Código de Barras
6  a 19         Valor (12 inteeeiros e 2 decimais)
20 a 44         Campo Livre definido por cada banco           

Layout para o bankboston composto por 6 campos: 

 1  | 2 | 3  |   4   |   5      |      6       | 7

479 | 9 | dv | valor | convenio | nosso_numero | 9

1 = codigo do banco
2 = Moeda sempre 9
3 = 3 digito verificador geral
4 = valor com 14 digitos (colocar zeros a esquerda)
5 = convenio com o banco com 9 digitos  
6 = Numero do pedido 15 caracteres com zeros a esquerda 
7 = Numero 9 fixo


Ps: ate o campo 4 a regra é a mesma para todos os bancos, 
so mudando o codigo do banco.

*/


/* formatacao do numero para o codigo de barras  */

$v = ereg_replace("R\\$","",$vcobr); 
$vcobr= $v;
$v = ereg_replace(chr(44),"",$v);
$valor = sprintf("%014d",$v);

$nnum = intval($nnum);
$nn = sprintf("%015d",$nnum);	// formata o valor para ter 14 campos com zeros a esquerda
$moeda = "9";
$codbank = 479;      
$dvcampo = "$codbank$moeda$valor$agcod$nn$moeda"; // 43 numeros para o calculo do digito verificador
$dv =  Modulo11($dvcampo);

$num = "$codbank$moeda$dv$valor$agcod$nn$moeda"; // Numero para o codigo de barras com 44 digitos


/* Deveolve a linha digitavel */

$str = $num;
$linha =  MontaLinha ($str);

Espero que te ajude!!!

Share this post


Link to post
Share on other sites
  • 0
Guest - Felipeee -

Kara,

Vou falar sobre os artigos não avaliei seu script:

"

Olha, todo esse script diz, diz e não diz nada.

Gerar o codigo de barras é a coisa mais facil, facilima!

Agora, como gerar o numero impresso no codigo de barras?

No seu site você so entra com este numero pronto e imprime o codigo. Pronto! Seria como digite seu nome e não proxima tela é impresso "olá joao (seu nome)!"

Posta aqui o scrit que gera este numero para bb. insina isto. Ai sim, será um artigo de grade valia e para venda de produtos.

Um forte abraco e tudo bom. Ah! Aguardo o script.

Felipe.

"

Postei isso no site do kara.

Obrigado pela ajuda.

Felipeee.

Vou avaliar seu script. Se ensinar a realizar o calculo você está de parabens e retiro o acima.

abrs.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this