Ir para conteúdo
Fórum Script Brasil
  • 0

Como Gerar Codigo Para Boleto Bancario?


Guest - Felipeee -

Pergunta

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.

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 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:boleto@netdinamica.com.br%20">boleto@netdinamica.com.br </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>

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros 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.

Link para o comentário
Compartilhar em outros 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!!!

Link para o comentário
Compartilhar em outros 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.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...