Example #1
0
$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;