示例#1
0
//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;
示例#4
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);
示例#6
0
$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);
}
示例#7
0
$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);
示例#8
0
$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);
示例#9
0
$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);