Marinho 0 Denunciar post Postado Abril 30, 2013 Olá galera estou precisando de uma força de vocês.Preciso calcular juros sobre juros no modulo cielo, percebi que o modulo atual não esta fazendo isso corretamente.Quero assim fazer assim:Ex:Produto = 85.001ª parcela 85.00 (a vista)2ª parcela 85.00 + 3,98% = 88,38 a cada parcela a apartir da segunda aumentar 1.99 de juros (juros sobre juros).No modulo a função calcular esta assim:public function parcelar($valorTotal, $taxa, $nParcelas){ $taxa = $taxa/100; $cadaParcela = ($valorTotal*$taxa)/(1-(1/pow(1+$taxa, $nParcelas))); return round($cadaParcela, 2); }Aqui chama a classe parcelar para fazer os calculos$parcelas = $this->parcelar($valor, $juros, $j);$parcelas = number_format($parcelas, 2, '.', '');Nota: Notei que este pow é nativo para se calcular potência (que é multiplicar um número por ele mesmo tantas vezes for o número indicado na potência).mais quero somar juros sobre juros até 12 parcelasObrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Abril 30, 2013 Ué, se você já tem a fórmula, qual a dificuldade? Compartilhar este post Link para o post Compartilhar em outros sites
Marinho 0 Denunciar post Postado Abril 30, 2013 é que esta formula não esta dando o retorno correto. Esta me retornando assim: 1x de R$ 102,05 a vista no mastercard.2x de R$ 52,55 com juros* no mastercard (R$ R$ 105,10).3x de R$ 35,38 com juros* no mastercard (R$ R$ 106,14).4x de R$ 26,79 com juros* no mastercard (R$ R$ 107,16).5x de R$ 21,64 com juros* no mastercard (R$ R$ 108,20).6x de R$ 18,21 com juros* no mastercard (R$ R$ 109,26). *com juros de 1.99 ao mês e parcela minima de R$ 15.00 A segunda parcela o juros deveria ser de 3,98% a terceira de 3,98%+1,99... assim por diante. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Abril 30, 2013 O teu cálculo está errado... em juros compostos os mesmos não se somam, eles viram uma potencia, a fórmula é: M = C(1+j)t M = montante C = Capital j = juros t = tempo (potência) Então no seu caso (2 meses): M = 102.05(1+0.019)2 M = 105.96 => 2x de 52.98 Basta alterar o "2" ali da potência pelo número de meses e no final dividiro pelo mesmo valor para saber o total de cada parcela. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Abril 30, 2013 Terceira parcela é diferente de três parcelas. Exceto quando informado o contrário, o parcelamento em cartão de crédito é sempre um valor fixo em todas as parcelas. Logo, a terceira parcela não vai ser mais cara que a segunda, que não vai ser mais cara que a primeira. Se tem alguma coisa errada aí é o cálculo da taxa de parcelamento. Nunca que 102,05 + 3.98% vai dar 105,10. Compartilhar este post Link para o post Compartilhar em outros sites
Marinho 0 Denunciar post Postado Abril 30, 2013 Isto que estou tentando resolver e não acho o problema. Vou postar o código inteiro para ver ser achamos o problema: <?phpclass CHECKOUT_CIELO extends ISC_CHECKOUT_PROVIDER{ var $_requiresSSL = false; public function __construct() { parent::__construct(); $this->_name = "Cielo 3.5"; $this->_image = "cielo.gif"; $this->_description = "Modulo Cielo 3.5 - Visa - Electron - Mastercard - Elo - Diners - Discover - Amex."; $this->_help = "Modulo Pagamento Cielo 3.5 - Visa - Electron - Mastercard - Elo - Diners - Discover. <a href='Criar Lojas Virtuais' target='_blank'>www.midivision.com.br</a>."; $this->_enabled = $this->CheckEnabled(); $this->_height = 0; $this->_paymenttype = PAYMENT_PROVIDER_OFFLINE; @$GLOBALS['ISC_CLASS_DB']->Query("CREATE TABLE IF NOT EXISTS `cielo` ( `id` int(11) NOT NULL auto_increment, `pedido` int(11) NOT NULL, `valor` int(20) NOT NULL, `tid` varchar(30) NOT NULL, `auth` varchar(20) NOT NULL, `data` varchar(20) NOT NULL, `cc` varchar(20) NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;"); } public function SetCustomVars() { $this->_variables['serial'] = array("name" => 'Serial do Modulo', "type" => "textbox", "help" => 'Chave de Registro do Modulo', "default" => "ILIMITADO", "required" => true ); $this->_variables['displayname'] = array("name" => "Nome do Modulo", "type" => "textbox", "help" => 'Nome do Modulo', "default" => "Modulo Cielo 3.5 - Visa - Electron - Mastercard - Elo - Diners - Discover", "required" => true ); $this->_variables['availablecountries'] = array("name" => "Paises", "type" => "dropdown", "help" => GetLang('PagContinente'), "default" => "all", "required" => true, "options" => GetCountryListAsNameValuePairs(), "multiselect" => true ); $this->_variables['modo'] = array("name" => "Modo", "type" => "dropdown", "help" => 'Selecione o Modo do Operacao e veja nos itens abaixo os helps.', "default" => 'T', "options" => array("TESTE"=>"T","PRODUCAO"=>"P"), "required" => true, "multiselect" => false ); $this->_variables['afiliacao'] = array("name" => 'Afiliacao Cielo', "type" => "textbox", "help" => 'Ponha sua Afiliacao Cielo se for teste use 1001734898', "default" => "", "required" => true ); $this->_variables['chave'] = array("name" => 'Chave Cielo', "type" => "textbox", "help" => 'Chave da afiliacao junto a Cielo se for teste use e84827130b9837473681c2787007da5914d6359947015a5cdb2b8843db0fa832.', "default" => "", "required" => true ); $this->_variables['loja'] = array("name" => 'Nome da Loja', "type" => "textbox", "help" => 'Nome da sua loja a ser mostrado.', "default" => "", "required" => true ); $this->_variables['meios'] = array("name" => "Bandeiras Aceitas", "type" => "dropdown", "help" => 'Selecione os meios que ira aceitar na loja.', "default" => '', "options" => array("VISA"=>"V","MASTER"=>"M","VISA ELECTRON"=>"E","ELO"=>"EL","DINERS"=>"DIN","DISCOVER"=>"DIS","AMEX"=>"AM"), "required" => true, "multiselect" => true ); $this->_variables['parcelamin'] = array("name" => 'Parcela Minima', "type" => "textbox", "help" => 'Ponha o Valor Minimo de Uma Parcela No Parcelamento de Pedidos', "default" => "15.00", "required" => true ); $this->_variables['juros'] = array("name" => 'Juros Credito', "type" => "textbox", "help" => 'Se parcelar sem juros, especificar a taxa de juros.', "default" => "1.99", "required" => true ); $this->_variables['desconto'] = array("name" => 'Desconto Debito', "type" => "textbox", "help" => 'Desconto em % para pagamento por debito.', "default" => "0.00", "required" => true ); $this->_variables['div'] = array("name" => "Dividir em ate:", "type" => "dropdown", "help" => 'Sera cobrado juros a partir da parcela.', "default" => '12', "options" => array("1x"=>"1","2x"=>"2","3x"=>"3","4x"=>"4","5x"=>"5","6x"=>"6","7x"=>"7","8x"=>"8","9x"=>"9","10x"=>"10","11x"=>"11","12x"=>"12"), "required" => true ); $this->_variables['jurosde'] = array("name" => "Sem Juros ate:", "type" => "dropdown", "help" => 'Sera cobrado juros a partir da parcela.', "default" => '1', "options" => array("Nenhuma"=>"99","1x"=>"1","2x"=>"2","3x"=>"3","4x"=>"4","5x"=>"5","6x"=>"6","7x"=>"7","8x"=>"8","9x"=>"9","10x"=>"10","11x"=>"11","12x"=>"12"), "required" => true ); $this->_variables['tipojuros'] = array("name" => "Tipo Parcelamento", "type" => "dropdown", "help" => '', "default" => '2', "options" => array("Parcelado Loja"=>"2","Parcelado Operadora"=>"3"), "required" => true ); } public function parcelar($valorTotal, $taxa, $nParcelas){ $taxa = $taxa/100; $cadaParcela = ($valorTotal*$taxa)/(1-(1/pow(1+$taxa, $nParcelas))); return round($cadaParcela, 2); }public function getofflinepaymentmessage(){$order = LoadPendingOrderByToken($_COOKIE['SHOP_ORDER_TOKEN']);//exite;if(isset($_COOKIE['SHOP_ORDER_TOKEN'])){//variaveis$meios = $this->GetValue("meios");$minima = $this->GetValue("parcelamin");$dividirem = $this->GetValue("div");$semjuros = $this->GetValue("jurosde");$valor = $order['ordtotalamount'];$pedido = $order['orderid'];$juros = $this->GetValue("juros");$desconto = $this->GetValue("desconto");$tipojuros = $this->GetValue("tipojuros");if($valor>$minima) {$splitss = (int) ($valor/$minima);if($splitss<=$dividirem){$div = $splitss;}else{$div = $dividirem;}}else{$div = 1;}$help = "<script type='text/javascript'>function getCheckedValue(radioObj) {var objRadio = document.getElementsByName(radioObj).length;for(i=0; i < objRadio; i++ ) {if (document.getElementsByName(radioObj).checked) {return document.getElementsByName(radioObj).value;}}}function credito() {document.getElementById('credito').style.display = '';document.getElementById('debito').style.display = 'none';document.getElementById('master').style.display = 'none';document.getElementById('elo').style.display = 'none';document.getElementById('din').style.display = 'none';document.getElementById('dis').style.display = 'none';document.getElementById('ame').style.display = 'none';return true;}function debito() {document.getElementById('credito').style.display = 'none';document.getElementById('debito').style.display = '';document.getElementById('master').style.display = 'none';document.getElementById('elo').style.display = 'none';document.getElementById('din').style.display = 'none';document.getElementById('dis').style.display = 'none';document.getElementById('ame').style.display = 'none';return true;}function master() {document.getElementById('credito').style.display = 'none';document.getElementById('debito').style.display = 'none';document.getElementById('master').style.display = '';document.getElementById('elo').style.display = 'none';document.getElementById('din').style.display = 'none';document.getElementById('dis').style.display = 'none';document.getElementById('ame').style.display = 'none';return true;}function elo() {document.getElementById('credito').style.display = 'none';document.getElementById('debito').style.display = 'none';document.getElementById('master').style.display = 'none';document.getElementById('elo').style.display = '';document.getElementById('din').style.display = 'none';document.getElementById('dis').style.display = 'none';document.getElementById('ame').style.display = 'none';return true;}function din() {document.getElementById('credito').style.display = 'none';document.getElementById('debito').style.display = 'none';document.getElementById('master').style.display = 'none';document.getElementById('elo').style.display = 'none';document.getElementById('din').style.display = '';document.getElementById('dis').style.display = 'none';document.getElementById('ame').style.display = 'none';return true;}function dis() {document.getElementById('credito').style.display = 'none';document.getElementById('debito').style.display = 'none';document.getElementById('master').style.display = 'none';document.getElementById('elo').style.display = 'none';document.getElementById('din').style.display = 'none';document.getElementById('dis').style.display = '';document.getElementById('ame').style.display = 'none';return true;}function ame() {document.getElementById('credito').style.display = 'none';document.getElementById('debito').style.display = 'none';document.getElementById('master').style.display = 'none';document.getElementById('elo').style.display = 'none';document.getElementById('din').style.display = 'none';document.getElementById('dis').style.display = 'nome';document.getElementById('ame').style.display = '';return true;}var retorno;var valor;var mpg_popup;window.name='retorno';function fabrewin(valor){mpg_popup = window.open('".$GLOBALS['ShopPath']."/modules/checkout/cielo/pagar.php?token='+valor,'mpg_popup','toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=0,screenX=0,screenY=0,left=150,top=150,width=968,height=660');return true;}function pegavalor() {var valor = getCheckedValue('forma');if(valor) {fabrewin(valor);return true;}else{alert('".GetLang('SelecioneCielo')."');}}</script>"; $help .= " <h3>".GetLang('SelCC')."</h3><br>";if(is_array($meios)){if(in_array('V', $meios)){$help .= "<a onclick=\"javascript:credito();\" style=\"cursor:pointer\"><img src='".$GLOBALS['ShopPath']."/modules/checkout/cielo/images/credito.gif'></a>";}if(in_array('E', $meios)){$help .= "<a onclick=\"javascript:debito();\" style=\"cursor:pointer\"><img src='".$GLOBALS['ShopPath']."/modules/checkout/cielo/images/debito.gif'></a>";}if(in_array('M', $meios)){$help .= "<a onclick=\"javascript:master();\" style=\"cursor:pointer\"><img src='".$GLOBALS['ShopPath']."/modules/checkout/cielo/images/master.gif'></a>";}if(in_array('EL', $meios)){$help .= "<a onclick=\"javascript:elo();\" style=\"cursor:pointer\"><img src='".$GLOBALS['ShopPath']."/modules/checkout/cielo/images/elo.gif'></a>";}if(in_array('DIN', $meios)){$help .= "<a onclick=\"javascript:din();\" style=\"cursor:pointer\"><img src='".$GLOBALS['ShopPath']."/modules/checkout/cielo/images/dinners.gif'></a>";}if(in_array('DIS', $meios)){$help .= "<a onclick=\"javascript:dis();\" style=\"cursor:pointer\"><img src='".$GLOBALS['ShopPath']."/modules/checkout/cielo/images/discover.gif'></a>";}if(in_array('AM', $meios)){$help .= "<a onclick=\"javascript:ame();\" style=\"cursor:pointer\"><img src='".$GLOBALS['ShopPath']."/modules/checkout/cielo/images/amex.gif'></a>";}//inicio do visa$par1 = "visa#".$pedido."#1#1#".md5($valor);$help .= "<div id='credito' style='display:none;'><br> <h3>".GetLang('VisaCielo')."</h3> <input type='radio' id='forma' name='forma' value='".base64_encode($par1)."'>".sprintf(GetLang('ParVisa1xCielo'),CurrencyConvertFormatPrice($valor,1,0))."<br>";for($j=2; $j<=$div;$j++) {if($semjuros>=$j) {$parcelas = $valor/$j;$parcelas = number_format($parcelas, 2, '.', '');$sem = "visa#".$pedido."#2#".$j."#".md5($valor);$help .= " <input type='radio' id='forma' name='forma' value='".base64_encode($sem)."'>".sprintf(GetLang('ParVisaSemCielo'),$j,CurrencyConvertFormatPrice($parcelas,1,0))."<br>";}else{$parcelas = $this->parcelar($valor, $juros, $j);$parcelas = number_format($parcelas, 2, '.', '');$com = "visa#".$pedido."#".$tipojuros."#".$j."#".md5($valor);$help .= " <input type='radio' id='forma' name='forma' value='".base64_encode($com)."'>".sprintf(GetLang('ParVisaComCielo'),$j,CurrencyConvertFormatPrice($parcelas,1,0),CurrencyConvertFormatPrice($parcelas*$j,1,0))."<br>";}}$help .= "<br><a onclick=\"javascript:pegavalor();\" style=\"cursor:pointer\"><img src='".$GLOBALS['ShopPath']."/modules/checkout/cielo/images/pagar.gif'></a></div>";//fim do visa//inicio do debito$par1 = "electron#".$pedido."#A#1#".md5($valor);if($desconto>0){$desc = ($valor/100)*$desconto;$desconto = number_format($desconto, 0, '.', '')."%";$help .= "<div id='debito' style='display:none;'><br> <h3>".GetLang('EleCielo')."</h3> <input type='radio' id='forma' name='forma' value='".base64_encode($par1)."'>".sprintf(GetLang('ParEleCieloDesc'),CurrencyConvertFormatPrice($valor-$desc,1,0),$desconto)."<br>";}else{$help .= "<div id='debito' style='display:none;'><br> <h3>".GetLang('EleCielo')."</h3> <input type='radio' id='forma' name='forma' value='".base64_encode($par1)."'>".sprintf(GetLang('ParEleCielo'),CurrencyConvertFormatPrice($valor,1,0))."<br>";}$help .= "<br><a onclick=\"javascript:pegavalor();\" style=\"cursor:pointer\"><img src='".$GLOBALS['ShopPath']."/modules/checkout/cielo/images/pagar.gif'></a></div>";//fim do debito//inicio do master$par1 = "mastercard#".$pedido."#1#1#".md5($valor);$help .= "<div id='master' style='display:none;'><br> <h3>".GetLang('MasterCielo')."</h3> <input type='radio' id='forma' name='forma' value='".base64_encode($par1)."'>".sprintf(GetLang('ParMaster1xCielo'),CurrencyConvertFormatPrice($valor,1,0))."<br>";for($j=2; $j<=$div;$j++) {if($semjuros>=$j) {$parcelas = $valor/$j;$parcelas = number_format($parcelas, 2, '.', '');$sem = "mastercard#".$pedido."#2#".$j."#".md5($valor);$help .= " <input type='radio' id='forma' name='forma' value='".base64_encode($sem)."'>".sprintf(GetLang('ParMasterSemCielo'),$j,CurrencyConvertFormatPrice($parcelas,1,0))."<br>";}else{$parcelas = $this->parcelar($valor, $juros, $j);$parcelas = number_format($parcelas, 2, '.', '');$com = "mastercard#".$pedido."#".$tipojuros."#".$j."#".md5($valor);$help .= " <input type='radio' id='forma' name='forma' value='".base64_encode($com)."'>".sprintf(GetLang('ParMasterComCielo'),$j,CurrencyConvertFormatPrice($parcelas,1,0),CurrencyConvertFormatPrice($parcelas*$j,1,0))."<br>";}}$help .= "<br><a onclick=\"javascript:pegavalor();\" style=\"cursor:pointer\"><img src='".$GLOBALS['ShopPath']."/modules/checkout/cielo/images/pagar.gif'></a></div>";//fim do mastercard//inicio do elo$par1 = "elo#".$pedido."#1#1#".md5($valor);$help .= "<div id='elo' style='display:none;'><br> <h3>".GetLang('Elo')."</h3> <input type='radio' id='forma' name='forma' value='".base64_encode($par1)."'>".sprintf(GetLang('ParElo1x'),CurrencyConvertFormatPrice($valor,1,0))."<br>";for($j=2; $j<=$div;$j++) {if($semjuros>=$j) {$parcelas = $valor/$j;$parcelas = number_format($parcelas, 2, '.', '');$sem = "elo#".$pedido."#2#".$j."#".md5($valor);$help .= " <input type='radio' id='forma' name='forma' value='".base64_encode($sem)."'>".sprintf(GetLang('ParEloSem'),$j,CurrencyConvertFormatPrice($parcelas,1,0))."<br>";}else{$parcelas = $this->parcelar($valor, $juros, $j);$parcelas = number_format($parcelas, 2, '.', '');$com = "elo#".$pedido."#".$tipojuros."#".$j."#".md5($valor);$help .= " <input type='radio' id='forma' name='forma' value='".base64_encode($com)."'>".sprintf(GetLang('ParEloCom'),$j,CurrencyConvertFormatPrice($parcelas,1,0),CurrencyConvertFormatPrice($parcelas*$j,1,0))."<br>";}}$help .= "<br><a onclick=\"javascript:pegavalor();\" style=\"cursor:pointer\"><img src='".$GLOBALS['ShopPath']."/modules/checkout/cielo/images/pagar.gif'></a></div>";//fim do elo//inicio do diners$par1 = "diners#".$pedido."#1#1#".md5($valor);$help .= "<div id='din' style='display:none;'><br> <h3>".GetLang('Din')."</h3> <input type='radio' id='forma' name='forma' value='".base64_encode($par1)."'>".sprintf(GetLang('ParDin1x'),CurrencyConvertFormatPrice($valor,1,0))."<br>";for($j=2; $j<=$div;$j++) {if($semjuros>=$j) {$parcelas = $valor/$j;$parcelas = number_format($parcelas, 2, '.', '');$sem = "diners#".$pedido."#2#".$j."#".md5($valor);$help .= " <input type='radio' id='forma' name='forma' value='".base64_encode($sem)."'>".sprintf(GetLang('ParDinSem'),$j,CurrencyConvertFormatPrice($parcelas,1,0))."<br>";}else{$parcelas = $this->parcelar($valor, $juros, $j);$parcelas = number_format($parcelas, 2, '.', '');$com = "diners#".$pedido."#".$tipojuros."#".$j."#".md5($valor);$help .= " <input type='radio' id='forma' name='forma' value='".base64_encode($com)."'>".sprintf(GetLang('ParDinCom'),$j,CurrencyConvertFormatPrice($parcelas,1,0),CurrencyConvertFormatPrice($parcelas*$j,1,0))."<br>";}}$help .= "<br><a onclick=\"javascript:pegavalor();\" style=\"cursor:pointer\"><img src='".$GLOBALS['ShopPath']."/modules/checkout/cielo/images/pagar.gif'></a></div>";//fim do diners//inicio do discover$par1 = "discover#".$pedido."#1#1#".md5($valor);$help .= "<div id='dis' style='display:none;'><br> <h3>".GetLang('Dis')."</h3> <input type='radio' id='forma' name='forma' value='".base64_encode($par1)."'>".sprintf(GetLang('ParDis1x'),CurrencyConvertFormatPrice($valor,1,0))."<br>";for($j=2; $j<=$div;$j++) {if($semjuros>=$j) {$parcelas = $valor/$j;$parcelas = number_format($parcelas, 2, '.', '');$sem = "discover#".$pedido."#2#".$j."#".md5($valor);$help .= " <input type='radio' id='forma' name='forma' value='".base64_encode($sem)."'>".sprintf(GetLang('ParDisSem'),$j,CurrencyConvertFormatPrice($parcelas,1,0))."<br>";}else{$parcelas = $this->parcelar($valor, $juros, $j);$parcelas = number_format($parcelas, 2, '.', '');$com = "discover#".$pedido."#".$tipojuros."#".$j."#".md5($valor);$help .= " <input type='radio' id='forma' name='forma' value='".base64_encode($com)."'>".sprintf(GetLang('ParDisCom'),$j,CurrencyConvertFormatPrice($parcelas,1,0),CurrencyConvertFormatPrice($parcelas*$j,1,0))."<br>";}}$help .= "<br><a onclick=\"javascript:pegavalor();\" style=\"cursor:pointer\"><img src='".$GLOBALS['ShopPath']."/modules/checkout/cielo/images/pagar.gif'></a></div>";//fim do discover//começo amex$par1 = "amex#".$pedido."#1#1#".md5($valor);$help .= "<div id='ame' style='display:none;'><br> <h3>".GetLang('Amex')."</h3> <input type='radio' id='forma' name='forma' value='".base64_encode($par1)."'>".sprintf(GetLang('ParAmex1x'),CurrencyConvertFormatPrice($valor,1,0))."<br>";for($j=2; $j<=$div;$j++) {if($semjuros>=$j) {$parcelas = $valor/$j;$parcelas = number_format($parcelas, 2, '.', '');$sem = "amex#".$pedido."#2#".$j."#".md5($valor);$help .= " <input type='radio' id='forma' name='forma' value='".base64_encode($sem)."'>".sprintf(GetLang('ParAmexSemCielo'),$j,CurrencyConvertFormatPrice($parcelas,1,0))."<br>";}else{$parcelas = $this->parcelar($valor, $juros, $j);$parcelas = number_format($parcelas, 2, '.', '');$com = "amex#".$pedido."#".$tipojuros."#".$j."#".md5($valor);$help .= " <input type='radio' id='forma' name='forma' value='".base64_encode($com)."'>".sprintf(GetLang('ParAmexComCielo'),$j,CurrencyConvertFormatPrice($parcelas,1,0),CurrencyConvertFormatPrice($parcelas*$j,1,0))."<br>";}}$help .= "<br><a onclick=\"javascript:pegavalor();\" style=\"cursor:pointer\"><img src='".$GLOBALS['ShopPath']."/modules/checkout/cielo/images/pagar.gif'></a></div>";//fim amexif($juros>0){$jurosmsg= sprintf(GetLang('Juros'),$juros);}else{$jurosmsg= "";}//mostra as formas de pagamento e a frase de valor minimoreturn $help."<br>".$jurosmsg."".sprintf(GetLang('MinCielo'),$minima);}else{return "<br>Nenhum meio de pagamento ativo para este modulo!";}}else{return "";}}//fim da funcao//fim da classe}?> Valeu! ESerra; Este de onde você tirou este valor "0.019" ? Ele vai variar de parcela em parcela ou será fixo independente da parcela? M = 102.05(1+0.019)2 M = 105.96 => 2x de 52.98 A taxa de 1.99% virou 0.019? Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Abril 30, 2013 Errei, na realidade o correto seria 0.0199 Você pega a taxa e divide por 100 Compartilhar este post Link para o post Compartilhar em outros sites
Marinho 0 Denunciar post Postado Abril 30, 2013 Este abaixo esta correto? $ValorTotal = 85.00; $taxa = 199 // (juros) $nParcelas = 6; public function parcelar($valorTotal, $taxa, $nParcelas){ $taxa = $taxa/100; $cadaParcela = ($valorTotal*$taxa)/(1-(1/pow(1+$taxa, $nParcelas))); return round($cadaParcela, 2); } $parcelas = $this->parcelar($valor, $juros, $j);$parcelas = number_format($parcelas, 2, '.', ''); Saída: 1x de R$ 102,05 a vista no mastercard.2x de R$ 52,55 com juros* no mastercard (R$ R$ 105,10).3x de R$ 35,38 com juros* no mastercard (R$ R$ 106,14).4x de R$ 26,79 com juros* no mastercard (R$ R$ 107,16).5x de R$ 21,64 com juros* no mastercard (R$ R$ 108,20).6x de R$ 18,21 com juros* no mastercard (R$ R$ 109,26). Meu cliente esta alegando que a 10ª parcela deve ser R$ 102,05 + 19,90% que o valor final será: R$ 122,35 Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Abril 30, 2013 Ai nós temos duas questões: 1 - O que é certo. 2 - O que o burro do seu cliente quer. Cabe a você explicar para ele que juros compostos não são do jeito que ele pensa ou simplesmente implementar essa somatória dele e boa, só que isso não vai fechar com a própria operadora do cartão e se ele for cobrar os juros do cliente na fatura irão vir valores diferentes. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 30, 2013 Ai nós temos duas questões: 1 - O que é certo. 2 - O que o burro do seu cliente quer. Cabe a você explicar para ele que juros compostos não são do jeito que ele pensa ou simplesmente implementar essa somatória dele e boa, só que isso não vai fechar com a própria operadora do cartão e se ele for cobrar os juros do cliente na fatura irão vir valores diferentes. Ótimo... ta aí uma explicação válida. :joia: + 1 Compartilhar este post Link para o post Compartilhar em outros sites
Marinho 0 Denunciar post Postado Maio 2, 2013 Isto mesmo obrigado! Compartilhar este post Link para o post Compartilhar em outros sites