// Demais clientes usar 0 (zero) $fator_vencimento = fator_vencimento($dadosboleto["data_vencimento"]); //valor tem 10 digitos, sem virgula $valor = formata_numero($dadosboleto["valor_boleto"], 10, 0, "valor"); //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);
// | Desenvolvimento Boleto Banespa : Fabio Gabbay | // +----------------------------------------------------------------------+ $codigobanco = "033"; $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"); //Modalidade Carteira $carteira = $dadosboleto["carteira"]; //codigocedente deve possuir 11 caracteres $codigocliente = formata_numero($dadosboleto["codigo_cedente"], 11, 0, "valor"); // Formata no pedido para colocar zero à esquerda $nossonumero = substr("0000000", strlen($dadosboleto['nosso_numero'])) . $dadosboleto['nosso_numero']; // Calcula vencimento juliano $vencjuliano = dataJuliano($data_venc); // Calcula Campo Livre $campoLivre = calculaCampoLivre($codigocliente . $nossonumero . "00" . $codigobanco); // 43 números para o cálculo do dígito verificador do código de barras // retorna 44 números que são 43 + 1 dígito verificador formando 44 posições $linha = monta_codigo_de_barras($codigobanco . $nummoeda . $fator_vencimento . $valor . $codigocliente . $nossonumero . "00" . $codigobanco . substr($campoLivre, strlen($campoLivre) - 2)); $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); $dadosboleto["nosso_numero"] = calcula_verificador_nosso_numero($dadosboleto["ponto_venda"], $nossonumero); $dadosboleto["agencia_conta"] = substr($dadosboleto["codigo_cedente"], 0, 3) . " " . substr($dadosboleto["codigo_cedente"], 3, 2) . " " . substr($dadosboleto["codigo_cedente"], 5, 5) . " " . substr($dadosboleto["codigo_cedente"], 10); $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; function geraNossoNumero($no_pedido, $dig_inicial) { $ndoc = $dig_inicial . $no_pedido; return $ndoc . modulo_11($ndoc, 9, 0); }