Cobrar JUROS de 1% ao mês e MULTA de 10%
Pagável em qualquer agência bancária até o vencimento; "; // FIM DA ÁREA DE CONFIGURAÇÃO $resultad="$nossonumero$agencia$conta"; //########################################################################################################## //########################################################################################################## function CALCULADIGITO($linhadigitavel,$repeticao,$indice1,$indice2) { //linhadigitavel - é a string do calculo //$repetição - n de vezes para repeticao em FOR //$indice1 e $indice2= fator para multiplicação ex: 2,1,2,1.. for($i=0;$i<$repeticao;$i++) { $t=$i%2; if($t==0)//indica que é par e faz 1 situacao... para achar digitão... precisa multiplicar por 2,1,2,1.... { $res1[$i]=$linhadigitavel[$i]*$indice1;//sequência de multiplicação if($res1[$i]>=10)//se o digito for maior que 10 terá que separar e somar: 12 = 1+2=3 { $t=0; //maximo a ser calculado é 9*2=18 por isso irei subtrair 10 para dividir os digitos e somar $t=$res1[$i]; //1º digito $y=substr($t,0,1); //2º digito $h=substr($t,1,2); $t=$y+$h; $linhadigitavel[$i]=$t; } else { $linhadigitavel[$i]=$res1[$i]; } } else//faz 2 situacao { $res1[$i]=$linhadigitavel[$i]*$indice2;//sequência de multiplicação $linhadigitavel[$i]=$res1[$i]; } } for($i=0;$i<$repeticao;$i++) { $som+=$linhadigitavel[$i]; } $soma=$som/10; $restodivisao=explode(".",$soma); //finalizando $codigo=10 - $restodivisao[1]; if($codigo==10) { $codigo=0; } return $codigo; } //########################################################################################################## //########################################################################################################## //calculando o digitão da cobrança function digitaocobranca($resultado) { for($i=0;$i<24;$i++) { $t=$i%2; if($t==0)//indica que é par e faz 1 situacao... para achar digitão... precisa multiplicar por 1,2,1,2,1.... { $res1=$resultado[$i]*1;//sequência de multiplicação $subtotal[$i]=$res1; } else//faz 2 situacao { $res1=$resultado[$i]*2;//sequência de multiplicação $subtotal[$i]=$res1; } } $soma=0; for($i=0;$i<24;$i++) { if($subtotal[$i]>=10)//se o digito for maior que 10 terá que separar e somar: 12 = 1+2=3 { $t=0; //maximo a ser calculado é 9*2=18 por isso irei subtrair 10 para dividir os digitos e somar $t=$subtotal[$i]; //1º digito $y=substr($t,0,1); //2º digito $h=substr($t,1,2); $t=$y+$h; $subtotal[$i]=$t; } $resultante+="$subtotal[$i]"; } //1º digito //$y=substr($resultante,0,1); //2º digito //$h=substr($resultante,1,2); $soma=$resultante/10; $restodivisao=explode(".",$soma); //finalizando $codigo=10 - $restodivisao[1]; if($codigo==10) { $codigo=0; } return $codigo; } //########################################################################################################## //########################################################################################################## $digitao=digitaocobranca($resultad); //FAZENDO MODULO LINHA DIGITÁVEL //1ºmodulo $linhadigitavel=$codigobanco; $linhadigitavel.=9; $linhadigitavel.=substr($agencia,0,1); $linhadigitavel.='.'; $linhadigitavel.=substr($agencia,1,3); $linhadigitavel.=substr($conta,0,1); //tiro o ponto por um instante $varsemuso=explode(".",$linhadigitavel); $varsemuso2="$varsemuso[0]$varsemuso[1]"; //calcula o digito $digito1=CALCULADIGITO($varsemuso2,9,2,1); //calculando o digitão do primeiro bloco //***************************************** //BLOCO 1 $linhadigitavel.=$digito1; //***************************************** //########################################################################################################## //########################################################################################################## //FAZENDO MODULO LINHA DIGITÁVEL //2ºmodulo $linhadigitavel2=substr($conta,1,5); $linhadigitavel2.='.'; $linhadigitavel2.=substr($conta,6,7); $linhadigitavel2.=$digitao; $linhadigitavel2.=substr($nossonumero,1,3); //tiro o ponto por um instante $varsemuso=explode(".",$linhadigitavel2); $varsemuso2="$varsemuso[0]$varsemuso[1]"; //calcula o digito $linhadigitavel2.=CALCULADIGITO($varsemuso2,10,1,2); //########################################################################################################## //########################################################################################################## //FAZENDO MODULO LINHA DIGITÁVEL //3ºmodulo //$nossonumero = '0000000003025'; //TENTEI EXEMPLIFICAR O QUE O SUBSTR FAZ $linhadigitavel3="$nossonumero[3]$nossonumero[4]$nossonumero[5]$nossonumero[6]$nossonumero[7]"; $linhadigitavel3.='.'; $linhadigitavel3.="$nossonumero[8]$nossonumero[9]$nossonumero[10]$nossonumero[11]$nossonumero[12]"; //tiro o ponto por um instante $varsemuso=explode(".",$linhadigitavel3); $varsemuso2="$varsemuso[0]$varsemuso[1]"; //calcula o digito $linhadigitavel3.=CALCULADIGITO($varsemuso2,10,1,2); //########################################################################################################## //########################################################################################################## //FAZENDO MODULO LINHA DIGITÁVEL //4ºmodulo function calculaValor ($valor) { $valor = str_replace('.','',$valor); return str_repeat('0',(10-strlen($valor))).$valor; } function calculaFatorVencimento ($dia,$mes,$ano) { $vencimento = mktime(0,0,0,$mes,$dia,$ano)-mktime(0,0,0,7,3,2000); return ceil(($vencimento/86400)+1000); } //recebe calculo de fator mil datada vencimento $linhadigitavel4=calculaFatorVencimento(substr($vencimento,0,2),substr($vencimento,3,2),substr($vencimento,6,4)).calculaValor($valor); //########################################################################################################## //########################################################################################################## //FAZENDO MODULO LINHA DIGITÁVEL //FAZENDO O CALCULO DO DIGITÃO DO CÓDIGO DE BARRAS $tudo=$codigobanco.$moeda.$linhadigitavel4.$agencia.$conta.$digitao.$nossonumero; function digitaocodigobarras($valor) { $multiplicador = '4329876543298765432987654329876543298765432'; for ($i = 0; $i<=42; $i++ ) { $parcial = $valor[$i] * $multiplicador[$i]; $total += $parcial; } $resultado = 11-($total%11); if (($resultado >= 10)||($resultado == 0)) { $resultado = 1; } return $resultado; } $digitaocodbarras=digitaocodigobarras($tudo); //########################################################################################################## //########################################################################################################## //fatorvencimentosemvalor //$linhadigitavel4 - é o fator vencimento + valor $CODIGOBARRAS=$codigobanco.$moeda.$digitaocodbarras.$linhadigitavel4.$agencia.$conta.$digitao.$nossonumero; //########################################################################################################## //echo("

$CODIGOBARRAS

"); //PARTE ALUSIVA AO NUMERO DIGITÁVEL $esp=" "; $numero_boleto=$linhadigitavel; $numero_boleto.=$esp.$esp; $numero_boleto.=$linhadigitavel2; $numero_boleto.=$esp.$esp; $numero_boleto.=$linhadigitavel3; $numero_boleto.=$esp.$esp.$esp; $numero_boleto.=$digitaocodbarras; $numero_boleto.=$esp.$esp.$esp; $numero_boleto.=$linhadigitavel4; // IMPRESSÃO DOS RESULTADOS OBTIDOS echo("
Instruções de Impressão
Imprimir em impressora jato de tinta (ink jet) ou laser em qualidade normal. (Não use modo econômico).
Utilize folha A4 (210 x 297 mm) ou Carta (216 x 279 mm) - Corte na linha indicada
 

356-5

 RECIBO DO SACADO

Cedente
 $cedente
Agência / Código Cedente
 $agencia / $conta / $digitao
Nosso Número
  $nossonumero
Vencimento
$vencimento
Sacado
 $sacado
Data Processamento
 $dataprocessamento
Número Documento
  $numerodocumento
Valor do Documento
$valor
CPF / CNPJ
 $cpf
(-) Desconto / Abatimento

(-) Outras Deduções

(+) Mora / Multa

(=) Valor Cobrado

Observações:
$dr
$linha1
$linha2
$linha3
$linha4
$linha5
$linha6
Autenticação Mecânica




356-5
$numero_boleto
Local de Pagamento
 ATÉ O VENCIMENTO PAGÁVEL EM QUALQUER BANCO
Vencimento
$vencimento
Cedente
 $cedente
Agência / Código Cedente
$agencia / $conta / $digitao
Data Documento
 $dataprocessamento
Número Documento
  $numerodocumento
Tipo Docu.
 DM
Aceite
 N
Data Processamento
 $dataprocessamento
Nosso Número
$nossonumero
Uso Banco
 
Carteira
 $carteira
Espécie
 R$
Quantidade
 
Valor
 
Valor do Documento
$valor
Instruções
$instrucao
(-) Desconto / Abatimento
 
(-) Outras Deduções
 
(+) Mora / Multa
 
(=) Valor Cobrado
 
Sacado
$sacado - $cpf
$endereco
$bairro
$cep - $cidade - $estado
Autenticação Mecânica - Ficha de Compensação
 


"); ?>