$carteira = $dadosboleto["carteira"];
//modalidade da conta
$modalidade = formata_numero($dadosboleto["modalidade_conta"], 2, 0);
// DONE: Bugfix 2007-03-25 Francisco Ernesto Teixeira <*****@*****.**>
// Notice: Undefined variable: modalidade_c1 in funcoes_nossacaixa.php on line 48
$modalidade_c1 = isset($modalidade_c1) ? $modalidade_c1 : 0;
//Converte a modalidade de acordo com a tabela do banco
$modalidade == "01" ? $modalidade_c1 = 1 : $modalidade_c1;
$modalidade == "04" ? $modalidade_c1 = 4 : $modalidade_c1;
$modalidade == "09" ? $modalidade_c1 = 9 : $modalidade_c1;
$modalidade == "13" ? $modalidade_c1 = 3 : $modalidade_c1;
$modalidade == "16" ? $modalidade_c1 = 6 : $modalidade_c1;
$modalidade == "17" ? $modalidade_c1 = 7 : $modalidade_c1;
$modalidade == "18" ? $modalidade_c1 = 8 : $modalidade_c1;
//nosso número (sem dv) é 9 digitos
$nnum = $dadosboleto["inicio_nosso_numero"] . formata_numero($dadosboleto["nosso_numero"], 7, 0);
//Agencia sem o digito + modalidade convertida e conta sem o dígito
$ag_contacedente = $agencia . $modalidade_c1 . $conta_cedente;
//
$carteira == 5 ? $prefixo = "9" : $prefixo;
$carteira == 1 ? $prefixo = "0" : $prefixo;
//Calcula o digito verificador do nosso número
$dv_nosso_numero = digitoVerificador_nossonumero($nnum, $conta_cedente, $conta_cedente_dv, $agencia, $modalidade);
$nossonumero_dv = "{$nnum}{$dv_nosso_numero}";
//pega o nosso numero a partir da 2º posição
$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}");
Esempio n. 2
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 = 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);
Esempio n. 3
0
$cvt = "5";
$zero = "00";
//valor tem 10 digitos, sem virgula
$valor = formata_numero($dadosboleto["valor_boleto"], 10, 0, "valor");
$carteira = $dadosboleto["carteira"];
//nosso número (sem dv) são 8 digitos
$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)
Esempio n. 4
0
// | Desenvolvimento Boleto HSBC: Bruno Leonardo M. F. Gonçalves          |
// +----------------------------------------------------------------------+
$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;
Esempio n. 5
0
$valor = formata_numero($dadosboleto["valor_boleto"], 10, 0, "valor");
//agencia é 4 digitos
$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)
Esempio n. 6
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"];
//fillers - zeros Obs: filler1 contera 1 quando houver valor expresso no campo valor
$filler1 = 1;
$filler2 = 0;
// Byte de Identificação do cedente 1 - Cooperativa; 2 a 9 - Cedente
$byteidt = $dadosboleto["byte_idt"];
// Codigo referente ao tipo de cobrança: "3" - SICREDI
$tipo_cobranca = 3;
// Codigo referente ao tipo de carteira: "1" - Carteira Simples
$tipo_carteira = 1;
//nosso número (sem dv) é 8 digitos
$nnum = $dadosboleto["inicio_nosso_numero"] . $byteidt . formata_numero($dadosboleto["nosso_numero"], 5, 0);
//calculo do DV do nosso número
$dv_nosso_numero = digitoVerificador_nossonumero("{$agencia}{$posto}{$conta}{$nnum}");
$nossonumero_dv = "{$nnum}{$dv_nosso_numero}";
//formação do campo livre
$campolivre = "{$tipo_cobranca}{$tipo_carteira}{$nossonumero_dv}{$agencia}{$posto}{$conta}{$filler1}{$filler2}";
$campolivre_dv = $campolivre . digitoVerificador_campolivre($campolivre);
// 43 numeros para o calculo do digito verificador do codigo de barras
$dv = digitoVerificador_barra("{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}{$campolivre_dv}", 9, 0);
// Numero para o codigo de barras com 44 digitos
$linha = "{$codigobanco}{$nummoeda}{$dv}{$fator_vencimento}{$valor}{$campolivre_dv}";
// Formata strings para impressao no boleto
$nossonumero = substr($nossonumero_dv, 0, 2) . '/' . substr($nossonumero_dv, 2, 6) . '-' . substr($nossonumero_dv, 8, 1);
$agencia_codigo = $agencia . "." . $posto . "." . $conta;
$dadosboleto["codigo_barras"] = $linha;
$dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha);
// | Ajuste de algumas rotinas: Anderson Nuernberg                        |
// +----------------------------------------------------------------------+
$codigobanco = "756";
$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");
//agencia é sempre 4 digitos
$agencia = formata_numero($dadosboleto["agencia"], 4, 0);
//conta é sempre 8 digitos
$conta = formata_numero($dadosboleto["conta"], 8, 0);
//Zeros: usado quando convenio de 7 digitos
$livre_zeros = '000000';
$carteira = preg_replace("/[^0-9]/", "", $dadosboleto["carteira"]);
$modalidadecobranca = formata_numero(substr($carteira, -2, 2), 2, 0);
$carteira = substr($carteira, -3, 1);
$numeroparcela = formata_numdoc($dadosboleto["numero_parcela"], 3);
$convenio = formata_numdoc($dadosboleto["convenio"], 7);
//agencia e conta
$agencia_codigo = $agencia . " / " . $convenio;
//é utilizado apenas os últimos 7 dígitos do id do pedido pois 7 digitos é o padrão do sicoob
$nosso_numero = formata_numdoc(substr($dadosboleto["nosso_numero"], -7), 7);
//Lógica para nosso número
$coop = formata_numdoc($dadosboleto["agencia"], 4);
$conveniovalidacao = formata_numdoc($dadosboleto["convenio"], 10);
$numero_validacao = "{$coop}{$conveniovalidacao}{$nosso_numero}";
$cont = 0;
$calculoDv = '';
for ($num = 0; $num <= strlen($numero_validacao); $num++) {
    $cont++;
$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
//correcao da formatação do erro no boleto enviado por Thiago <*****@*****.**>
//$nnum = formata_numero($dadosboleto["nosso_numero"],8,0);
//agora fica assim: Nosso_numero no maximo 8 digitos / Testado utilizando a carteira 176
$nnum = formata_numero($dadosboleto["nosso_numero"] - 90000000, 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
//agencia é 4 digitos
$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) com 11 digitos   (Operacao de 3 digitos + Cedente de 8 digitos)
$conta_cedente = formata_numero($dadosboleto["conta_cedente_caixa"], 11, 0);
//dv da conta cedente
$conta_cedente_dv = formata_numero($dadosboleto["conta_cedente_dv_caixa"], 1, 0);
//nosso número (sem dv) é 10 digitos
//nosso_numero no maximo 8 digitos
$numeromagento = substr($dadosboleto["nosso_numero"], -8);
$nnum = $dadosboleto["inicio_nosso_numero"] . formata_numero($numeromagento, 8, 0);
//nosso número completo (com dv) com 11 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}{$nnum}{$agencia}{$conta_cedente}", 9, 0);
// Numero para o codigo de barras com 44 digitos
$linha = "{$codigobanco}{$nummoeda}{$dv}{$fator_vencimento}{$valor}{$nnum}{$agencia}{$conta_cedente}";
$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);
Esempio n. 10
0
// | Acesse o site do Projeto BoletoPhp: www.boletophp.com.br             |
// +----------------------------------------------------------------------+
// +----------------------------------------------------------------------+
// | Equipe Coordenação Projeto BoletoPhp: <*****@*****.**>   |
// | 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)
Esempio n. 11
0
//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
$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)
{
 $bb->conta = tamanho_string(str_replace('-', '', $bb->conta), '0', 'e', '9');
 #escreve o header do arquivo de remessa
 $nomeArquivo = "CB" . $diames . $bb->remessa_ . ".REM";
 $arquivoDiretorio = "../boletos/remessabancodobrasil/" . date('Y') . '/' . $nomeArquivo;
 $file_path = "../boletos/remessabancodobrasil/" . date("Y") . "/";
 $arquivoConteudo = "01REMESSA01COBRANCA       " . $bb->agencia . $bb->conta . "000000" . $bb->favorecido . "001BANCO DO BRASIL" . $data . $bb->versao . "                      " . $bb->codigo . "                                                                                                                                                                                                                                                                  " . "000001\r\n";
 #variavel do numero de linhas
 $linha = 2;
 $i = 0;
 #captura as informa��es do ultimo envio
 $brasil = $contaDAO->selectBoletosBrasil($controle_id_empresa, $id_conta);
 $cont = 0;
 foreach ($brasil as $b) {
     $cont++;
     //nosso n�mero (sem dv) � 11 digitos
     $nossonumero = formata_numero($b->id_conta_fatura, 10, 0);
     //dv do nosso n�mero
     //$dv_nosso_numero = digitoVerificador_nossonumero($nnum);
     $nossonumero = $bb->codigo . $nossonumero;
     $b->juros_mora = number_format((double) $b->valor / 100 * (double) $b->juros_mora / 30, 2, ".", "");
     #nosso numero
     //$b->nossonumero = tamanho_string($b->id_conta_fatura,'0','e','11').$dv_nosso_numero;
     $b->nossonumero = $nossonumero;
     #numero do documento
     $b->controle_empresa = tamanho_string($controle_id_empresa . '-' . $b->id_conta_fatura, ' ', 'd', '25');
     #valor de desconto por dia (opcional)
     $b->valor_desc_dia = tamanho_string(str_replace('.', '', $b->valor_desc_dia), '0', 'e', '10');
     #valor cobrado
     $b->valor = tamanho_string(str_replace('.', '', $b->valor), '0', 'e', '11');
     #valor de mora por dia (opcional)
     $b->juros_mora = tamanho_string(str_replace('.', '', $b->juros_mora), '0', 'e', '11');
Esempio n. 13
0
 $cont++;
 if ($b->ocorrencia == 31) {
     $b->valor = $b->valor_o;
     $b->juros_mora = $b->juros_mora_o;
     $b->instrucao1 = $b->instrucao1_o;
     $b->instrucao2 = $b->instrucao2_o;
     $b->cpf = $b->cpf_o;
     $b->sacado = $b->sacado_o;
     $b->endereco = $b->endereco_o;
     $b->mensagem1 = $b->mensagem1_o;
     $b->cep = $b->cep_o;
     $b->mensagem2 = $b->mensagem2_o;
     $b->tipo = $b->tipo_o;
 }
 //nosso número (sem dv) é 11 digitos
 $nnum = formata_numero($bradesco->carteira, 2, 0) . formata_numero($b->id_conta_fatura, 11, 0);
 //dv do nosso número
 $dv_nosso_numero = digitoVerificador_nossonumero($nnum);
 #nosso numero
 $b->nossonumero = tamanho_string($b->id_conta_fatura, '0', 'e', '11') . $dv_nosso_numero;
 #numero do documento
 $b->controle_empresa = tamanho_string($controle_id_empresa . '-' . $b->id_conta_fatura, ' ', 'd', '25');
 #valor de desconto por dia (opcional)
 $b->valor_desc_dia = tamanho_string(str_replace('.', '', $b->valor_desc_dia), '0', 'e', '10');
 #valor cobrado
 $b->valor = tamanho_string(str_replace('.', '', $b->valor), '0', 'e', '13');
 #valor de mora por dia (opcional)
 $b->juros_mora = tamanho_string(str_replace('.', '', $b->juros_mora), '0', 'e', '13');
 #valor de desconto até a data (opcional)
 $b->valor_desc = tamanho_string(str_replace('.', '', $b->valor_desc), '0', 'e', '13');
 #valor de abatimento concedido ou cancelado
Esempio n. 14
0
$codigo_banco_com_dv = geraCodigoBanco($codigobanco);
$nummoeda = "9";
$fixo = "9";
// Numero fixo para a posição 05-05
$ios = "0";
// IOS - somente para Seguradoras (Se 7% informar 7, limitado 9%)
// 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;
	
	if ($dadosboleto["formatacao_nosso_numero"] == "1") {
		
		// Nosso número de até 5 dígitos
		$nossonumero = formata_numero($dadosboleto["nosso_numero"],5,0);
		$dv = modulo_11("$codigobanco$nummoeda$fator_vencimento$valor$convenio$nossonumero$agencia$conta$carteira");
		$linha = "$codigobanco$nummoeda$dv$fator_vencimento$valor$convenio$nossonumero$agencia$conta$carteira";
		//montando o nosso numero que aparecerá no boleto
		$nossonumero = $convenio . $nossonumero ."-". modulo_11($convenio.$nossonumero);
	}
	
	if ($dadosboleto["formatacao_nosso_numero"] == "2") {
		
		// Nosso número de até 17 dígitos
		$nservico = "21";
		$nossonumero = formata_numero($dadosboleto["nosso_numero"],17,0);
		$dv = modulo_11("$codigobanco$nummoeda$fator_vencimento$valor$convenio$nossonumero$nservico");
		$linha = "$codigobanco$nummoeda$dv$fator_vencimento$valor$convenio$nossonumero$nservico";
	}
}

$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
$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"];
//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);
Esempio n. 17
0
$codigobanco = "341";
$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");
//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
$numeromagento = substr($dadosboleto["nosso_numero"], -8);
$nnum = formata_numero($numeromagento, 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