Example #1
0
$nossonumero_sem_dv = substr($dadosboleto["nosso_numero"], 0, 8);
//dvs do nosso número
$nossonumero_dv1 = modulo_11($nossonumero_sem_dv);
$nossonumero_dv2 = modulo_11($nossonumero_sem_dv . $nossonumero_dv1, 10);
$nossonumero_com_dv = $nossonumero_sem_dv . "." . $nossonumero_dv1 . $nossonumero_dv2;
unset($nossonumero_dv1, $nossonumero_dv2);
//conta corrente (sem dv) são 11 digitos
$conta = formata_numero($dadosboleto["conta"], 11, 0);
// Chave ASBACE 25 dígitos
$Wtemp = formata_numero($nossonumero_sem_dv, 8, 0) . $conta . $dadosboleto["tipo_cobranca"] . $codigobanco;
$chaveasbace_dv1 = modulo_10($Wtemp);
$chaveasbace_dv2 = modulo_11($Wtemp . $chaveasbace_dv1, 7);
$dadosboleto["chave_asbace"] = $Wtemp . $chaveasbace_dv1 . $chaveasbace_dv2;
unset($chaveasbace_dv1, $chaveasbace_dv2);
// 43 numeros para o calculo do digito verificador
$dv = digitoVerificador("{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}" . $dadosboleto['chave_asbace']);
$linha = "{$codigobanco}{$nummoeda}{$dv}{$fator_vencimento}{$valor}" . $dadosboleto['chave_asbace'];
$dadosboleto["codigo_barras"] = $linha;
$dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha);
$dadosboleto["agencia_codigo"] = $conta;
$dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv;
$dadosboleto["nosso_numero"] = $nossonumero_com_dv;
// FUNÇÕES
// Algumas foram retiradas do Projeto PhpBoleto e modificadas para atender as particularidades de cada banco
function digitoVerificador($numero)
{
    $digito = modulo_11($numero);
    if (in_array((int) $digito, array(0, 1, 10, 11))) {
        $digito = 1;
    }
    return $digito;
Example #2
0
$agencia = formata_numero($dadosboleto["agencia"], 4, 0);
//conta é 6 digitos + 1 do dv
$conta = formata_numero($dadosboleto["conta"], 6, 0);
//dv da conta
$conta_dv = formata_numero($dadosboleto["conta_dv"], 1, 0);
//carteira é 2 digitos
$carteira = $dadosboleto["carteira"];
//nosso número (sem dv) é 14 digitos
$nnum = formata_numero($dadosboleto["nosso_numero"], 14, 0);
//dv do nosso número
$dv_nosso_numero = modulo_11($nnum);
$nossonumero_dv = "{$nnum}{$dv_nosso_numero}";
//codigo_cliente é 6 digitos + 1 do dv
$codigo_cliente = formata_numero($dadosboleto["codigo_cliente"], 7, 0);
// 43 numeros para o calculo do digito verificador
$dv = digitoVerificador("{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}{$cvt}{$codigo_cliente}{$zero}{$nossonumero_dv}");
// Numero para o codigo de barras com 44 digitos
$linha = "{$codigobanco}{$nummoeda}{$dv}{$fator_vencimento}{$valor}{$cvt}{$codigo_cliente}{$zero}{$nossonumero_dv}";
//ok
$nossonumero = substr($nossonumero_dv, 0, 14) . '-' . substr($nossonumero_dv, 14, 1);
$agencia_codigo = $agencia . " / " . $conta . "-" . $conta_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;
// FUNÇÕES
// Algumas foram retiradas do Projeto PhpBoleto e modificadas para atender as particularidades de cada banco
function digitoVerificador($numero)
{
    $digito = modulo_11($numero);