$codigobanco = "399"; $codigo_banco_com_dv = geraCodigoBanco($codigobanco); $nummoeda = "9"; $fator_vencimento = fator_vencimento($dadosboleto["data_vencimento"]); //valor tem 10 digitos, sem virgula $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) {
$codigobanco = "027"; $codigo_banco_com_dv = geraCodigoBanco($codigobanco); $nummoeda = "9"; $fator_vencimento = fator_vencimento($dadosboleto["data_vencimento"]); //valor tem 10 digitos, sem virgula $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"], 5, 0); $ndoc = $dadosboleto["numero_documento"]; $vencimento = $dadosboleto["data_vencimento"]; // número do documento (sem dvs) é 13 digitos $nnum = formata_numero($dadosboleto["nosso_numero"], 13, 0); // nosso número (com dvs) é 16 digitos $nossonumero = geraNossoNumero($nnum); $chave = substr($codigocedente, 0, 5) . substr($nnum, 0, 3) . $carteira . substr($nnum, 3, 10) . $codigobanco; $barra = "{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}{$chave}"; // Digitos Verificadores da Chave de 25 posições $dv1 = m10dv1($chave); $dv2 = m10dv2($chave . $dv1); $barra = $barra . $dv1 . $dv2; $dv = digitoVerificador_barra($barra); // 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;