- 28 Abr 2015, 09:22
#59066
e quanto ao opencart 2, como fazer o Cálculo de parcelamento direto do pagseguro?
Por um e-commerce livre, confiável e profissional
<?php
$maximo_parcelas = 12;
$parcela_minima = 5;
$parcelas_sem_juros = 1;
// juros total do Bcash: 1.99 (pode variar de acordo com a categoria escolhida com eles)
// juros total do PagSeguro: 1.71
$juros = 1.71;
$moeda_da_loja = 'R$ ';
$tipo_de_calculo = 1;
if (!$special) {
$preco_numero = str_replace(',','.',str_replace('.','', str_replace($moeda_da_loja,"",strip_tags($price))));
} else {
$preco_numero = str_replace(',','.',str_replace('.','', str_replace($moeda_da_loja,"",strip_tags($special))));
}
if ($preco_numero >= $parcela_minima*2) {
// Exibicao das parcelas
for ($p = 1; $p <= $maximo_parcelas; $p++) {
// Se a parcela nao tiver juros
if ($p <= $parcelas_sem_juros) {
$valor_parcela = $preco_numero / $p;
$valor_total = ($preco_numero / $p) * $p;
}
// Se a parcela tiver juros
if ($p > $parcelas_sem_juros) {
if ($tipo_de_calculo == 0) { // Bcash
$valor_parcela = ($preco_numero * pow(1+($juros/100), $p))/$p;
$valor_total = (($preco_numero * pow(1+($juros/100), $p))/$p) * $p;
}
if ($tipo_de_calculo == 1) { // PagSeguro
// parc = resultado de: fator do pagseguro x quantidade de parcelas. Ex: 0,52255 x 2 = 1.0451. Utilizar arredondamento, somente 4 casas após a vírgula!
// fatores atuais (fonte pagseguro):
// 2x = 0,52255
// 3x = 0,35347
// 4x = 0,26898
// 5x = 0,21830
// 6x = 0,18453
// 7x = 0,16044
// 8x = 0,14240
// 9x = 0,12838
// 10x = 0,11717
// 11x = 0,10802
// 12x = 0,10040
$parc[2] = '1.0451';
$parc[3] = '1.0604';
$parc[4] = '1.0759';
$parc[5] = '1.0915';
$parc[6] = '1.1072';
$parc[7] = '1.1231';
$parc[8] = '1.1392';
$parc[9] = '1.1554';
$parc[10] = '1.1717';
$parc[11] = '1.1882';
$parc[12] = '1.2048';
$valor_parcela = ($preco_numero * $parc[$p]) / $p;
$valor_total = $preco_numero * $parc[$p];
}
}
// Escreve a parcela se ela for maior do que a parcela minima
if ($valor_parcela >= $parcela_minima) {
$valor_parcela = number_format($valor_parcela, 2, ',', '.');
$valor_total = number_format($valor_total, 2, ',', '.');
if ($p <= $parcelas_sem_juros) {
echo $p . 'x de <span style="font-size:18px">' . $moeda_da_loja . $valor_parcela . '</span>' . ' sem juros<br />';
} else {
echo $p . 'x de <span style="font-size:18px">' . $moeda_da_loja . $valor_parcela . '</span> com juros - Total <span style="font-size:18px">' . $moeda_da_loja . $valor_total . '</span><br />';
}
}
}
}
// Exibe os juros utilizados e o valor minimo da parcela se esta for maior que zero
if ($parcelas_sem_juros < $maximo_parcelas) {
$juros = number_format($juros, 2, ',', '.');
echo 'Juros de ' . $juros . '% ao mês<br />';
}
if ($parcela_minima > 0) {
$parcela_minima = number_format($parcela_minima, 2, ',', '.');
echo 'Parcela mínima de ' . $moeda_da_loja . $parcela_minima . '<br />';
}
?>
jgs82 escreveu:Boa tarde pessoal,Muito bacana seu site gostei de alguns detalhes poderia me passa como vc colocou aquele preço em um circulo ? obrigado
Obrigado Denis e Rmatheus, coloquei na loja que estou testando e ficou bom.
Podem dar uma confere http://www.hostg.us/oc
Agora vou procurar como colocar na página principal a informação de pagamento em 12 vezes.
Valeu galera, aprendendo muito com vocês.
Abs
rmatheus escreveu:Pessoal, desculpe mas não tinha visto as respostas. Segue o código:
Código: Selecionar todosEu incluí logo antes de:<!-- Exibicao de parcelas --> <?php /* Configuracoes do sistema de parcelamento ---------------------------------------- $maximo_parcelas = Define a quantidade maxima de parcelas aceita pela loja $parcela_minima = Valor minimo da parcela aceito pela loja $parcelas_sem_juros = Define quantas parcelas nao terao juros $juros = Taxa de juros mensal $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) */ $maximo_parcelas = 12; $parcela_minima = 5; $parcelas_sem_juros = 3; $juros = 1.79; $moeda_da_loja = 'R$ '; $tipo_de_calculo = 1; if (!$special) { $preco_numero = str_replace(',','.',str_replace('.','', str_replace($moeda_da_loja,"",strip_tags($price)))); } else { $preco_numero = str_replace(',','.',str_replace('.','', str_replace($moeda_da_loja,"",strip_tags($special)))); } if ($preco_numero >= $parcela_minima*2) { // A vista echo '<b>Deposito Itau ou Pagamento na Entrega</b><br />'; $percentual = 5.0 / 100.0; // 5% $valor_final = $preco_numero - ($percentual * $preco_numero); $valor_final = number_format($valor_final, 2, ',', '.'); echo '<span style="color: darkgreen;">' . "Por " . $moeda_da_loja . $valor_final . " (5% de desconto)" . '</span> <br /> <br />'; // Titulo echo '<b>Cartão de crédito (via PagSeguro)</b><br />'; echo '<table width="100%">'; // Inicia a primeira coluna echo '<div style="width: 50%; float:left;">'; $valor_1x = number_format($preco_numero, 2, ',', '.'); echo '<span style="color: darkgreen;">' . "1x de " . $moeda_da_loja . $valor_1x . "" . '</span><br />'; // Exibicao das parcelas for ($p = 2; $p <= $maximo_parcelas; $p++) { // Se a parcela nao tiver juros if ($p <= $parcelas_sem_juros) { $valor_parcela = $preco_numero / $p; } // Se a parcela tiver juros if ($p > $parcelas_sem_juros) { if ($tipo_de_calculo == 0) { $valor_parcela = ($preco_numero * pow(1+($juros/100), $p))/$p; } if ($tipo_de_calculo == 1) { $valor_parcela = ($preco_numero * ($juros/100))/(1-(1/(pow(1+($juros/100), $p)))); } } // Escreve a parcela se ela for maior do que a parcela minima if ($valor_parcela >= $parcela_minima) { $valor_parcela = number_format($valor_parcela, 2, ',', '.'); if ($p <= $parcelas_sem_juros) { echo '<span style="color: darkgreen;">' . $p . 'x de ' . $moeda_da_loja . $valor_parcela . ' sem juros</span><br />'; } else { echo $p . 'x de ' . $moeda_da_loja . $valor_parcela . ' com juros<br />'; } } // Fecha a primeira coluna e inicia a segunda if ($p == intval($maximo_parcelas/2)) { echo '</div><div style="width: 50%; float:right;">'; } } // Fecha a segunda coluna e finaliza echo '</div>'; echo '</table><br />'; } ?> <!-- Exibicao de parcelas -->
<?php if ($review_status) { ?>O código não está limpinho e comentado como o Dênis havia feito anteriormente pois fiz a alteração apenas para a minha loja que é bem simples e usada mais para divulgar os produtos do que vender por ela propriamente dito.
<?php if ($tax) { ?>
<?php
$maximo_parcelas = 12;
$parcela_minima = 5;
$parcelas_sem_juros = 1;
// juros total do Bcash: 1.99 (pode variar de acordo com a categoria escolhida com eles)
// juros total do PagSeguro: 1.71
$juros = 1.71;
$moeda_da_loja = 'R$ ';
$tipo_de_calculo = 1;
if (!$special) {
$preco_numero = str_replace(',','.',str_replace('.','', str_replace($moeda_da_loja,"",strip_tags($price))));
} else {
$preco_numero = str_replace(',','.',str_replace('.','', str_replace($moeda_da_loja,"",strip_tags($special))));
}
if ($preco_numero >= $parcela_minima*2) {
// Exibicao das parcelas
for ($p = 1; $p <= $maximo_parcelas; $p++) {
// Se a parcela nao tiver juros
if ($p <= $parcelas_sem_juros) {
$valor_parcela = $preco_numero / $p;
$valor_total = ($preco_numero / $p) * $p;
}
// Se a parcela tiver juros
if ($p > $parcelas_sem_juros) {
if ($tipo_de_calculo == 0) { // Bcash
$valor_parcela = ($preco_numero * pow(1+($juros/100), $p))/$p;
$valor_total = (($preco_numero * pow(1+($juros/100), $p))/$p) * $p;
}
if ($tipo_de_calculo == 1) { // PagSeguro
// parc = resultado de: fator do pagseguro x quantidade de parcelas. Ex: 0,52255 x 2 = 1.0451. Utilizar arredondamento, somente 4 casas após a vírgula!
// fatores atuais (fonte pagseguro):
// 2x = 0,52255
// 3x = 0,35347
// 4x = 0,26898
// 5x = 0,21830
// 6x = 0,18453
// 7x = 0,16044
// 8x = 0,14240
// 9x = 0,12838
// 10x = 0,11717
// 11x = 0,10802
// 12x = 0,10040
$parc[2] = '1.0451';
$parc[3] = '1.0604';
$parc[4] = '1.0759';
$parc[5] = '1.0915';
$parc[6] = '1.1072';
$parc[7] = '1.1231';
$parc[8] = '1.1392';
$parc[9] = '1.1554';
$parc[10] = '1.1717';
$parc[11] = '1.1882';
$parc[12] = '1.2048';
$valor_parcela = ($preco_numero * $parc[$p]) / $p;
$valor_total = $preco_numero * $parc[$p];
}
}
// Escreve a parcela se ela for maior do que a parcela minima
if ($valor_parcela >= $parcela_minima) {
$valor_parcela = number_format($valor_parcela, 2, ',', '.');
$valor_total = number_format($valor_total, 2, ',', '.');
if ($p <= $parcelas_sem_juros) {
echo $p . 'x de <span style="font-size:18px">' . $moeda_da_loja . $valor_parcela . '</span>' . ' sem juros<br />';
} else {
echo $p . 'x de <span style="font-size:18px">' . $moeda_da_loja . $valor_parcela . '</span> com juros - Total <span style="font-size:18px">' . $moeda_da_loja . $valor_total . '</span><br />';
}
}
}
}
// Exibe os juros utilizados e o valor minimo da parcela se esta for maior que zero
if ($parcelas_sem_juros < $maximo_parcelas) {
$juros = number_format($juros, 2, ',', '.');
echo 'Juros de ' . $juros . '% ao mês<br />';
}
if ($parcela_minima > 0) {
$parcela_minima = number_format($parcela_minima, 2, ',', '.');
echo 'Parcela mínima de ' . $moeda_da_loja . $parcela_minima . '<br />';
}
?>
// linhas do tema a serem localizadas
<?php } ?>
<?php if ($tax) { ?>
Precisava de uma extensaõ de carteira de cr[…]
apareceu clicando no olho , no historico do produt[…]