//Modalidade Carteira $carteira = $dadosboleto["carteira"]; //codigocedente deve possuir 7 caracteres $codigocliente = formata_numero($dadosboleto["codigo_cliente"], 7, 0); //nosso número (sem dv) é 11 digitos $nnum = formata_numero($dadosboleto["nosso_numero"], 7, 0); //dv do nosso número $dv_nosso_numero = modulo_11($nnum, 9, 0); // nosso número (com dvs) são 13 digitos $nossonumero = "00000" . $nnum . $dv_nosso_numero; $vencimento = $dadosboleto["data_vencimento"]; $vencjuliano = dataJuliano($vencimento); // 43 numeros para o calculo do digito verificador do codigo de barras $barra = "{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}{$fixo}{$codigocliente}{$nossonumero}{$ios}{$carteira}"; //$barra = "$codigobanco$nummoeda$fixo$codigocliente$nossonumero$ios$carteira"; $dv = digitoVerificador_barra($barra); // Numero para o codigo de barras com 44 digitos $linha = substr($barra, 0, 4) . $dv . substr($barra, 4); $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; function dataJuliano($data) { $dia = (int) substr($data, 1, 2); $mes = (int) substr($data, 3, 2); $ano = (int) substr($data, 6, 4); $dataf = strtotime("{$ano}/{$mes}/{$dia}"); $datai = strtotime($ano - 1 . '/12/31'); $dias = (int) (($dataf - $datai) / (60 * 60 * 24)); return str_pad($dias, 3, '0', STR_PAD_LEFT) . substr($data, 9, 4);
//dv da conta $conta_dv = formata_numero($dadosboleto["conta_dv"], 1, 0); //carteira é 2 caracteres $carteira = $dadosboleto["carteira"]; //nosso número (sem dv) é 10 digitos $nnum = $dadosboleto["inicio_nosso_numero"] . formata_numero($dadosboleto["nosso_numero"], 8, 0); //dv do nosso número $dv_nosso_numero = digitoVerificador_nossonumero($nnum); $nossonumero_dv = "{$nnum}{$dv_nosso_numero}"; //conta cedente (sem dv) é 11 digitos $conta_cedente = formata_numero($dadosboleto["conta_cedente"], 11, 0); //dv da conta cedente $conta_cedente_dv = formata_numero($dadosboleto["conta_cedente_dv"], 1, 0); $ag_contacedente = $agencia . $conta_cedente; // 43 numeros para o calculo do digito verificador do codigo de barras $dv = digitoVerificador_barra("{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}{$nnum}{$ag_contacedente}", 9, 0); // Numero para o codigo de barras com 44 digitos $linha = "{$codigobanco}{$nummoeda}{$dv}{$fator_vencimento}{$valor}{$nnum}{$ag_contacedente}"; $nossonumero = substr($nossonumero_dv, 0, 10) . '-' . substr($nossonumero_dv, 10, 1); $agencia_codigo = $agencia . " / " . $conta_cedente . "-" . $conta_cedente_dv; $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; function digitoVerificador_nossonumero($numero) { $resto2 = modulo_11($numero, 9, 1); $digito = 11 - $resto2; if ($digito == 10 || $digito == 11) { $dv = 0;
$nnum = substr($nnum, 1); //numero para o calculo dos dígitos verificadores da posição 43 e 44 $calcdv1 = $prefixo . $nnum . $ag_contacedente . $codigobanco; //Gera os dígitos verificadores da posição 43 e 44 $dv1 = geraDv43($calcdv1); $dv2 = geraDv44("{$calcdv1}{$dv1}"); //Se vier 2 caracteres significa que o dv2 deu 1 então o dv1 e o dv2 foi recalculado e retornado nesta string(Coisa do manual do banco =D !) if (strlen($dv2) == 2) { $dv1 = substr($dv2, 0, 1); $dv2 = substr($dv2, 1, 1); } // DONE: Bugfix 2007-03-25 Francisco Ernesto Teixeira <*****@*****.**> // Notice: Undefined variable: dv in funcoes_nossacaixa.php on line 93 $dv = isset($dv) ? $dv : 0; // 43 numeros para o calculo do digito verificador do codigo de barras $dv = digitoVerificador_barra("{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}{$prefixo}{$nnum}{$ag_contacedente}{$codigobanco}{$dv1}{$dv2}"); // Numero para o codigo de barras com 44 digitos $linha = "{$codigobanco}{$nummoeda}{$dv}{$fator_vencimento}{$valor}{$prefixo}{$nnum}{$ag_contacedente}{$codigobanco}{$dv1}{$dv2}"; $nossonumero = substr($nossonumero_dv, 0, 9) . '-' . substr($nossonumero_dv, 9, 1); $agencia_codigo = $agencia . " / " . $modalidade . " " . $conta_cedente . " " . $conta_cedente_dv; $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; function digitoVerificador_nossonumero($numero, $conta, $dv, $agencia, $modalidade) { $numext = $agencia . $modalidade . "0" . $conta . $dv . $numero; // DONE: Bugfix 2007-03-25 Francisco Ernesto Teixeira <*****@*****.**> // Notice: Undefined variable: resul in funcoes_nossacaixa.php on line 127 $resul = 0;
$carteira = $dadosboleto["carteira"]; //conta cedente (sem dv) com 6 digitos $conta_cedente = formata_numero($dadosboleto["conta_cedente"], 6, 0); //dv da conta cedente $conta_cedente_dv = digitoVerificador_cedente($conta_cedente); //campo livre (sem dv) é 24 digitos $campo_livre = $conta_cedente . $conta_cedente_dv . formata_numero($dadosboleto["nosso_numero1"], 3, 0) . formata_numero($dadosboleto["nosso_numero_const1"], 1, 0) . formata_numero($dadosboleto["nosso_numero2"], 3, 0) . formata_numero($dadosboleto["nosso_numero_const2"], 1, 0) . formata_numero($dadosboleto["nosso_numero3"], 9, 0); //dv do campo livre $dv_campo_livre = digitoVerificador_nossonumero($campo_livre); $campo_livre_com_dv = "{$campo_livre}{$dv_campo_livre}"; //nosso número (sem dv) é 17 digitos $nnum = formata_numero($dadosboleto["nosso_numero_const1"], 1, 0) . formata_numero($dadosboleto["nosso_numero_const2"], 1, 0) . formata_numero($dadosboleto["nosso_numero1"], 3, 0) . formata_numero($dadosboleto["nosso_numero2"], 3, 0) . formata_numero($dadosboleto["nosso_numero3"], 9, 0); //nosso número completo (com dv) com 18 digitos $nossonumero = $nnum . digitoVerificador_nossonumero($nnum); // 43 numeros para o calculo do digito verificador do codigo de barras $dv = digitoVerificador_barra("{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}{$campo_livre_com_dv}", 9, 0); // Numero para o codigo de barras com 44 digitos $linha = "{$codigobanco}{$nummoeda}{$dv}{$fator_vencimento}{$valor}{$campo_livre_com_dv}"; $agencia_codigo = $agencia . " / " . $conta_cedente . "-" . $conta_cedente_dv; $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; function digitoVerificador_nossonumero($numero) { $resto2 = modulo_11($numero, 9, 1); $digito = 11 - $resto2; if ($digito == 10 || $digito == 11) { $dv = 0; } else {
$nnum = $dadosboleto["inicio_nosso_numero"] . formata_numero($dadosboleto["nosso_numero"],17,0); //dv do nosso número $dv_nosso_numero = digitoVerificador_nossonumero($nnum); $nossonumero_dv ="$nnum$dv_nosso_numero"; //conta cedente (sem dv) é 6 digitos $conta_cedente = formata_numero($dadosboleto["conta_cedente"],6,0); //dv da conta cedente $conta_cedente_dv = formata_numero($dadosboleto["conta_cedente_dv"],1,0); $ag_contacedente = $agencia . $conta_cedente; $fixo = $dadosboleto["campo_fixo_obrigatorio"]; $campo_livre = "$fixo$conta_cedente$nnum"; // 43 numeros para o calculo do digito verificador do codigo de barras $dv = digitoVerificador_barra("$codigobanco$nummoeda$fator_vencimento$valor$campo_livre", 9, 0); // Numero para o codigo de barras com 44 digitos $linha = "$codigobanco$nummoeda$dv$fator_vencimento$valor$campo_livre"; $nossonumero = substr($nossonumero_dv,0,18).'-'.substr($nossonumero_dv,18,1); $agencia_codigo = $agencia." / ". $conta_cedente ."-". $conta_cedente_dv; $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; function digitoVerificador_nossonumero($numero) { $resto2 = modulo_11($numero, 9, 1);
$valor = formata_numero($dadosboleto["valor_boleto"], 10, 0, "valor"); //carteira é CNR $carteira = $dadosboleto["carteira"]; //codigocedente deve possuir 7 caracteres $codigocedente = formata_numero($dadosboleto["codigo_cedente"], 7, 0); $ndoc = $dadosboleto["numero_documento"]; $vencimento = $dadosboleto["data_vencimento"]; // número do documento (sem dvs) é 13 digitos $nnum = formata_numero($dadosboleto["numero_documento"], 13, 0); // nosso número (com dvs) é 16 digitos $nossonumero = geraNossoNumero($nnum, $codigocedente, $vencimento, '4'); $vencjuliano = dataJuliano($vencimento); $app = "2"; // 43 numeros para o calculo do digito verificador do codigo de barras $barra = "{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}{$codigocedente}{$nnum}{$vencjuliano}{$app}"; $dv = digitoVerificador_barra($barra, 9, 0); // Numero para o codigo de barras com 44 digitos $linha = substr($barra, 0, 4) . $dv . substr($barra, 4); $agencia_codigo = $codigocedente; $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; function geraNossoNumero($ndoc, $cedente, $venc, $tipoid) { $ndoc = $ndoc . modulo_11_invertido($ndoc) . $tipoid; $venc = substr($venc, 0, 2) . substr($venc, 3, 2) . substr($venc, 8, 2); $res = $ndoc + $cedente + $venc; return $ndoc . modulo_11_invertido($res); }
$conta = formata_numero($dadosboleto["conta"], 5, 0); //dv da conta $conta_dv = formata_numero($dadosboleto["conta_dv"], 1, 0); //carteira é 2 caracteres $carteira = $dadosboleto["carteira"]; //conta cedente (sem dv) com 6 digitos $conta_cedente = formata_numero($dadosboleto["conta_cedente"], 6, 0); //dv da conta cedente $conta_cedente_dv = modulo_10($conta_cedente); //nosso número (sem dv) é 17 digitos $nossonumero = $dadosboleto["inicio_nosso_numero"] . formata_numero($dadosboleto["nosso_numero"], 15, 0); $sequenciaNossoNumero = sequenciaNossoNumero($nossonumero); // Campo livre $livre = rand(1, 9); // 44 numeros para o calculo do digito verificador do codigo de barras $dv = digitoVerificador_barra("{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}{$conta_cedente}{$conta_cedente_dv}{$sequenciaNossoNumero}{$livre}", 9, 0); // Numero para o codigo de barras com 44 digitos $linha = "{$codigobanco}{$nummoeda}{$dv}{$fator_vencimento}{$valor}{$conta_cedente}{$conta_cedente_dv}{$sequenciaNossoNumero}{$livre}"; $agencia_codigo = $agencia . " / " . $conta_cedente . "-" . $conta_cedente_dv; $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; function sequenciaNossoNumero($nossoNumero) { $constante1 = substr($nossoNumero, 0, 1); $constante2 = substr($nossoNumero, 1, 1); $sequencia1 = substr($nossoNumero, 2, 3); $sequencia2 = substr($nossoNumero, 5, 3); $sequencia3 = substr($nossoNumero, 8, 9);
$nummoeda = "9"; $fator_vencimento = fator_vencimento($dadosboleto["data_vencimento"]); //valor tem 10 digitos, sem virgula $valor = formata_numero($dadosboleto["valor_boleto"], 10, 0, "valor"); //agencia é 4 digitos $agencia = formata_numero($dadosboleto["agencia"], 4, 0); //conta é 5 digitos + 1 do dv $conta = formata_numero($dadosboleto["conta"], 5, 0); $conta_dv = formata_numero($dadosboleto["conta_dv"], 1, 0); //carteira 175 $carteira = $dadosboleto["carteira"]; //nosso_numero no maximo 8 digitos $nnum = formata_numero($dadosboleto["nosso_numero"], 8, 0); $codigo_barras = $codigobanco . $nummoeda . $fator_vencimento . $valor . $carteira . $nnum . modulo_10($agencia . $conta . $carteira . $nnum) . $agencia . $conta . modulo_10($agencia . $conta) . '000'; // 43 numeros para o calculo do digito verificador $dv = digitoVerificador_barra($codigo_barras); // Numero para o codigo de barras com 44 digitos $linha = substr($codigo_barras, 0, 4) . $dv . substr($codigo_barras, 4, 43); $nossonumero = $carteira . '/' . $nnum . '-' . modulo_10($agencia . $conta . $carteira . $nnum); $agencia_codigo = $agencia . " / " . $conta . "-" . modulo_10($agencia . $conta); $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); // verificar $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; // FUNÇÕES // Algumas foram retiradas do Projeto PhpBoleto e modificadas para atender as particularidades de cada banco function digitoVerificador_barra($numero) { $resto2 = modulo_11($numero, 9, 1);
$conta_dv = formata_numero($dadosboleto["conta_dv"], 1, 0); //carteira é 3 caracteres $carteira = formata_numero($dadosboleto["carteira"], 3, 0); //nosso numero é 10 caracteres $nosso_numero = formata_numero($dadosboleto["nosso_numero"], 10, 0); //nosso número (sem dv) é 10 digitos $nnum = $agencia . $agencia_dv . $carteira . $nosso_numero; //dv do nosso número $dv_nosso_numero = digitoVerificador_nossonumero($nnum); //conta cedente (sem dv) é 6 digitos $conta_cedente = formata_numero($dadosboleto["conta_cedente"], 6, 0); //dv da conta cedente $conta_cedente_dv = formata_numero($dadosboleto["conta_cedente_dv"], 1, 0); // Numero para o codigo de barras com 44 digitos $linha = "{$codigobanco}{$nummoeda}" . "0" . "{$fator_vencimento}{$valor}{$agencia}{$carteira}{$conta_cedente}{$conta_cedente_dv}{$nosso_numero}{$dv_nosso_numero}"; $dv = digitoVerificador_barra($linha); // Alterando a posição 4(digito '0') para o $dv $linha[4] = $dv; $nossonumero = $carteira . "/" . $nosso_numero; $agencia_codigo = $agencia . "-" . $dadosboleto["agencia_dv"] . " / " . $conta_cedente . "-" . $conta_cedente_dv; $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); #$dadosboleto["linha_digitavel"] = monta_linha_digitavel($codigobanco ,$nummoeda ,$dv ,$fator_vencimento ,$valor ,$agencia ,$carteira ,$conta_cedente, $conta_cedente_dv ,$nosso_numero ,$dv_nosso_numero); $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; function digitoVerificador_nossonumero($numero) { $fator = 2; $soma = 0; for ($i = 0; $i < strlen($numero); $i++) {
$carteira = $dadosboleto["carteira"]; //nosso número (sem dv) é 11 digitos $nnum = formata_numero($dadosboleto["carteira"],2,0).formata_numero($dadosboleto["nosso_numero"],11,0); //dv do nosso número $dv_nosso_numero = digitoVerificador_nossonumero($nnum); //conta cedente (sem dv) é 7 digitos $conta_cedente = formata_numero($dadosboleto["conta_cedente"],7,0); //dv da conta cedente $conta_cedente_dv = formata_numero($dadosboleto["conta_cedente_dv"],1,0); //$ag_contacedente = $agencia . $conta_cedente; // 43 numeros para o calculo do digito verificador do codigo de barras $dv = digitoVerificador_barra("$codigobanco$nummoeda$fator_vencimento$valor$agencia$nnum$conta_cedente".'0', 9, 0); // Numero para o codigo de barras com 44 digitos $linha = "$codigobanco$nummoeda$dv$fator_vencimento$valor$agencia$nnum$conta_cedente"."0"; $nossonumero = substr($nnum,0,2).'/'.substr($nnum,2).'-'.$dv_nosso_numero; $agencia_codigo = $agencia."-".$dadosboleto["agencia_dv"]." / ". $conta_cedente ."-". $conta_cedente_dv; $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; function digitoVerificador_nossonumero($numero) { $resto2 = modulo_11($numero, 7, 1);
//dv da conta $conta_dv = formata_numero($dadosboleto["conta_dv"],1,0); //carteira é 2 caracteres $carteira = $dadosboleto["carteira"]; //conta cedente (sem dv) $conta_cedente = formata_numero($dadosboleto["conta_cedente"],6,0); //dv da conta cedente $conta_cedente_dv = digitoVerificador_cedente($conta_cedente); $nnum = $conta_cedente . $conta_cedente_dv . formata_numero($dadosboleto["nosso_numero1"],3,0) . formata_numero($dadosboleto["nosso_numero_const1"],1,0) . formata_numero($dadosboleto["nosso_numero2"],3,0) . formata_numero($dadosboleto["nosso_numero_const2"],1,0) . formata_numero($dadosboleto["nosso_numero3"],9,0); $dv_nosso_numero = digitoVerificador_nossonumero($nnum); $nossonumero_dv ="$nnum$dv_nosso_numero"; // 43 numeros para o calculo do digito verificador do codigo de barras $dv = digitoVerificador_barra("$codigobanco$nummoeda$fator_vencimento$valor$nossonumero_dv", 9, 0); // Numero para o codigo de barras com 44 digitos $linha = "$codigobanco$nummoeda$dv$fator_vencimento$valor$nossonumero_dv"; $nnum2 = formata_numero($dadosboleto["nosso_numero_const1"],1,0).formata_numero($dadosboleto["nosso_numero_const2"],1,0).formata_numero($dadosboleto["nosso_numero1"],3,0).formata_numero($dadosboleto["nosso_numero2"],3,0).formata_numero($dadosboleto["nosso_numero3"],9,0); $nossonumero = $nnum2 . digitoVerificador_nossonumero($nnum2); $agencia_codigo = $agencia." / ". $conta_cedente ."-". $conta_cedente_dv; $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv;
$agencia = formata_numero($dadosboleto["agencia"], 4, 0); //conta é 5 digitos $conta = formata_numero($dadosboleto["conta"], 5, 0); //dv da conta $conta_dv = formata_numero($dadosboleto["conta_dv"], 1, 0); //carteira é 2 caracteres $carteira = $dadosboleto["carteira"]; //conta cedente (sem dv) $conta_cedente = formata_numero($dadosboleto["conta_cedente"], 6, 0); //dv da conta cedente $conta_cedente_dv = digitoVerificador_cedente($conta_cedente); $nnum = $conta_cedente . $conta_cedente_dv . formata_numero($dadosboleto["nosso_numero1"], 3, 0) . formata_numero($dadosboleto["nosso_numero_const1"], 1, 0) . formata_numero($dadosboleto["nosso_numero2"], 3, 0) . formata_numero($dadosboleto["nosso_numero_const2"], 1, 0) . formata_numero($dadosboleto["nosso_numero3"], 9, 0); $dv_nosso_numero = digitoVerificador_nossonumero($nnum); $nossonumero_dv = "{$nnum}{$dv_nosso_numero}"; // 43 numeros para o calculo do digito verificador do codigo de barras $dv = digitoVerificador_barra("{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}{$nossonumero_dv}", 9, 0); // Numero para o codigo de barras com 44 digitos $linha = "{$codigobanco}{$nummoeda}{$dv}{$fator_vencimento}{$valor}{$nossonumero_dv}"; $nnum2 = formata_numero($dadosboleto["nosso_numero_const1"], 1, 0) . formata_numero($dadosboleto["nosso_numero_const2"], 1, 0) . formata_numero($dadosboleto["nosso_numero1"], 3, 0) . formata_numero($dadosboleto["nosso_numero2"], 3, 0) . formata_numero($dadosboleto["nosso_numero3"], 9, 0); $nossonumero = $nnum2 . digitoVerificador_nossonumero($nnum2); $agencia_codigo = $agencia . " / " . $conta_cedente . "-" . $conta_cedente_dv; $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; function digitoVerificador_nossonumero($numero) { $resto2 = modulo_11($numero, 9, 1); $digito = 11 - $resto2; if ($digito == 10 || $digito == 11) {
//nosso número (sem dv) é 10 digitos $nnum = $dadosboleto["inicio_nosso_numero"] . formata_numero($dadosboleto["nosso_numero"],8,0); //dv do nosso número $dv_nosso_numero = digitoVerificador_nossonumero($nnum); $nossonumero_dv ="$nnum$dv_nosso_numero"; //conta cedente (sem dv) é 11 digitos $conta_cedente = formata_numero($dadosboleto["conta_cedente"],11,0); //dv da conta cedente $conta_cedente_dv = formata_numero($dadosboleto["conta_cedente_dv"],1,0); $ag_contacedente = $agencia . $conta_cedente; // 43 numeros para o calculo do digito verificador do codigo de barras $dv = digitoVerificador_barra("$codigobanco$nummoeda$fator_vencimento$valor$nnum$ag_contacedente", 9, 0); // Numero para o codigo de barras com 44 digitos $linha = "$codigobanco$nummoeda$dv$fator_vencimento$valor$nnum$ag_contacedente"; $nossonumero = substr($nossonumero_dv,0,10).'-'.substr($nossonumero_dv,10,1); $agencia_codigo = $agencia." / ". $conta_cedente ."-". $conta_cedente_dv; $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; function digitoVerificador_nossonumero($numero) { $resto2 = modulo_11($numero, 9, 1);