Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

#35952
Olá Galera do OCBR. Acabei de desenvolver um módulo de Desconto/Taxa Por Tipo de Pagamento.

Com ele é possível aplicar um Desconto ou Taxa Adicional por cada tipo de pagamento instalada na loja. O Desconto/Taxa podem ser aplicados por valor Fixo ou em Porcentagem. Além disso é possível definir a Descrição para Cada Forma de Pagamento.

É possível especificar faixas de Preço e o módulo irá ser aplicado se o Total do Pedido estiver dentro dos valores definidos.

Deixei o código o mais limpo possível, mas como o módulo foi desenvolvido em apenas 1 dia pode ser que haja algum Bug que eu tenha deixado passar.

Para que o módulo não aplique o desconto no valor do Frete basta configurar o Sort Order dele antes do Sort Order do Total do Frete.

Links Para Download:

Versões 1.5.x: https://github.com/softr/opencart-desco ... ve/1.0.zip

Versões 2.0.x: https://github.com/softr/opencart-desco ... ve/2.0.zip

Versões 2.1.x: https://github.com/softr/opencart-desco ... ve/2.1.zip

O módulo está agora disponível no respositório oficial do GIthub neste link: https://github.com/softr/opencart-desco ... -pagamento

Qualquer dúvida e/ou sugestão postem ai para podermos melhorar!

Abraços.
Editado pela última vez por aldoanizio em 11 Fev 2016, 18:22, em um total de 2 vezes.
#36184
Infelizmente não está funcionando comigo. Instalei corretamente, e na administracao, recebo o erro:
Notice: Undefined variable: select_html in /home/rammstei/public_html/voilamadame.com.br/admin/view/template/total/taxa_por_tipo_pagamento.tpl on line 56

e seguido obvimanete quando tento realizar uma compra":
Notice: Undefined variable: percent in /home/rammstei/public_html/voilamadame.com.br/catalog/model/total/taxa_por_tipo_pagamento.php on line 58

opencart 1.5.4.1
-- Edit

o primeiro erro é um . a mais:
$select_html .= '<option value="'.$payment_methods[$i]['payment_code'].'" >'.$payment_methods[$i]['title'].'</option>';

retirei o primeiro . e funcionou, ficou assim:

$select_html = '<option value="'.$payment_methods[$i]['payment_code'].'" >'.$payment_methods[$i]['title'].'</option>';

o segundo erro era porque o código estava com:
$percent = $total * $percent;

mudei pra $percent = $total * $taxa; e resolveu.

no mais, gostei bastante do código.
#36209
kt666 escreveu:Infelizmente não está funcionando comigo. Instalei corretamente, e na administracao, recebo o erro:
Notice: Undefined variable: select_html in /home/rammstei/public_html/voilamadame.com.br/admin/view/template/total/taxa_por_tipo_pagamento.tpl on line 56

e seguido obvimanete quando tento realizar uma compra":
Notice: Undefined variable: percent in /home/rammstei/public_html/voilamadame.com.br/catalog/model/total/taxa_por_tipo_pagamento.php on line 58

opencart 1.5.4.1
-- Edit
o segundo erro era porque o código estava com:
$percent = $total * $percent;

mudei pra $percent = $total * $taxa; e resolveu. Estou trabalhando no primeiro agora, rs
Olá #kt666. Obrigado por me reportar os erros.

Em relação ao primeiro erro estranhamente acontece algumas vezes nos arquivos .tpl as variáveis precisam ser declaradas antes de serem usadas.

Em relação ao segundo erro eu corrigi removendo a linha visto que ela não teria utilidade. Como ele foi desenvolvi o módulo a partir do KlarnaFee acabei nao removendo esta parte do código nao utlizada.

Segue o novo link com a versão 1.1 Corrigida. http://www.4shared.com/zip/RZKNxHAJ/Tax ... o_v11.html

Qualquer outro erro por favor posta ai pra gente.

Abraços.
#39802
Amigo,
Blz?

Esse módulo que você desenvolveu é tudo que eu estou precisando! :) Porém não consegui fazer funcionar.
Estou com a versão 1.5.4.1 do Opencart e utilizando theme personalizado, mas pelo que vi os códigos, o theme não interfere...
Fiz a liberação no grupo de usuários, fiz a instalação do módulo em "Finalização do Pedido", Habilitei, Cadastrei uma Taxa na única forma de pagamento que tenho (pagseguro) de 15.00 % com operador (-), valor mínimo 300.00, valor máximo 499.99. E também tentei cadastrar mais duas taxas com valores entre 500.00 - 999.99 e 1000.00 - 2000.00 com 25% e 25% de desconto respectivamente.
No painel administrativo dá tudo certo, porém, acesso a loja, fiz um pedido de R$ 400,00 e o Desconto NÃO apareceu no final do pedido.
Tentei fazer vários outros pedidos, mudei o cadastro para ter somente uma regra... mas nada, continua não aparecendo o desconto e/ou taxa no final do pedido.

Percebi também, que sobre o comentário do amigo kt666 sobre o código estão com o "." a mais, ainda está, então corrigi o arquivo:
/admin/view/template/total/taxa_por_tipo_pagamento.tpl on line 56 e retirei o ponto a mais no início do código...
mas nada ainda.

Tem alguma luz pra dar meu caro?
Muito Obrigado.!
#39810
Olá mcuinto.

Por favor informe qual o endereco da sua loja e se possivel me informe via MP os dados de acesso ao admin para fazer um teste na loja.

Eu testei em uma versao 1.5.4.1 que uso para desenvolvimento e aparentemente o modulo seria compativel.

Veja se na area onde é ativado o modulo o Sorte Order dele esta configurado corretamente.

Abracos.
#40160
Estou com o mesmo problema do amigo acima.

Configurei tudo... aparece no pedido o desconto... mas fica -R$0,00
ah e os filtros por pedido minimo e maximo tb não funcionam... se deixo diferente de 0... ele some com o desconto da tela de fechamento.

meu opencart é 1.5.5.1
#40162
Pessoal acho que descobri o erro.

Tive uma conversa em MP com um usuário do módulo. No admin da loja em Modulos > Total de Pedido a ordem (Sort Order) do módulo deve estar configurada com um número acima do Subtotal.

Lembrando que ele deve ter um valor configurado. NÃO pode deixar ele sem valor.

Pois o funcionamento do módulo é o padrão da opencart. Ele captura o valor do subtotal da compra e aplica o desconto/acrescimo. E repassa o proximo valor ao proximo item (frete, cupom de desconto, etc).

Porém ele não captura o subtotal do carrinho, apenas captura o valor Subtotal da sessão.

Por isso o valor de vocês devem estar zerados pois ele está capturando o subtotal antes de o valor do subtotal estar sendo declarado na sessão.

Caso vocês queiram que o desconto seja aplicado antes ou depois do frete por exemplo basta configurar o Sort Ordem dele com um valor abaixo ou acima do frete. O mesmo vale para os outros itens.

Façam um teste e me informem.

Abraços
  • 1
  • 2
  • 3
  • 4
  • 5
  • 16

Ola @Simone A forma correta seria um novo bloco[…]

Meu site nao abre mais

Se não pretende fazer upgrade da loja para […]

PHP 8+ incompatibilidade

A versão oficial &quot;3.0.3.9&quot[…]

Ola @carlos.junqueira O Opencart é bem e[…]