- 05 Set 2014, 09:16
#53445
Bom dia, estou com um problema no meu OpenCart. Na página principal do meu site lista o produto com o valor a vista e o valor da última parcela, porém o valor dessa última parcela está com cálculo do juros incorreto.
Exemplo:
Valor do produto a vista: R$ 179,90
Valor correto do parcelamento: 12x de R$ 18,06
Valor dado pelo php: 12x de R$ 21,35
O código que estou utilizando é esse:
Exemplo:
Valor do produto a vista: R$ 179,90
Valor correto do parcelamento: 12x de R$ 18,06
Valor dado pelo php: 12x de R$ 21,35
O código que estou utilizando é esse:
Código: Selecionar todos
Se alguém puder me ajudar, ficarei muito grato!<?php
/*
Configuracoes do sistema de parcelamento
----------------------------------------
$qtd_parcelas = Define a quantidade de parcelas a ser exibida para os produtos
$juros = Taxa de juros mensal (deixe em 0 para parcelamento sem juros)
$moeda_da_loja = Permite especificar a moeda utilizada na loja
$tipo_de_calculo = Permite escolher o tipo de calculo a ser utilizado
0 = Juros simples (Pagamento Digital)
1 = Tabela Price (PagSeguro e outros)
*/
$qtd_parcelas = 12;
$juros = 2.99;
$moeda_da_loja = 'R$ ';
$tipo_de_calculo = 0;
$parcela_minima = 5;
if (!$product['special']) {
$preco_numero = str_replace(',','.',str_replace('.','', str_replace($moeda_da_loja,"",strip_tags($product['price']))));
} else {
$preco_numero = str_replace(',','.',str_replace('.','', str_replace($moeda_da_loja,"",strip_tags($product['special']))));
}
// Calcula o valor da parcela de acordo com o tipo de calculo utilizado
if ($tipo_de_calculo == 0) {
$valor_total = ($preco_numero * pow(1+($juros/100), $qtd_parcelas));
$max_parcelas = intval($valor_total/$parcela_minima);
if ($max_parcelas < $qtd_parcelas) { $qtd_parcelas = $max_parcelas; }
$valor_parcela = $valor_total/$qtd_parcelas;
}
if ($tipo_de_calculo == 1) {
$valor_total = ($preco_numero * ($juros/100));
$max_parcelas = intval($valor_total/$parcela_minima);
if ($max_parcelas < $qtd_parcelas) { $qtd_parcelas = $max_parcelas; }
$valor_parcela = $valor_total/(1-(1/(pow(1+($juros/100), $qtd_parcelas))));
}
// Exibe as frases de parcelamento
echo '<font color="#4d4d4d">ou ' . $qtd_parcelas . 'x de ' . $moeda_da_loja . number_format($valor_parcela, 2, ',', '.') . '</font><br /><br />';
//if ($juros == 0) { echo '<br />sem juros'; } else { echo '<br />com juros de ' . $juros . '% ao mês'; }
?>
