Fórum OpenCart Brasil

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

#16701
Verificando o recurso de Pontos de Fidelidade, percebi que essa valor do desconto não é passado para o pagseguro. Então fiz uma modificação no módulo criado pela Visie para implementar esse recurso. A versão do modulo é a v1.0.5.3.

O arquivo a ser modificado será esse :

catalog/controller/payment/pagseguro.php

Agora na linha 109, você adicionará esse trecho de código:
Código: Selecionar todos
if(isset($this->session->data['reward']) && $this->session->data['reward'] > 0){
        $total_data = array();
        $total = 0;
        $taxes = $this->cart->getTaxes(); 
        $results = $this->model_total_reward->getTotal($total_data, $total, $taxes);        
        $ratioReward =  ($total_data[0]['value'] * 100)*(-1);
}else{
        $ratioReward = 0;    
    }    
 
Abaixo desses código, você encontrará a classe Pgs sendo instanciada, e sendo passado um array. Na chave extras, adicione o valor : -$ratioReward, ficando assim:
Código: Selecionar todos
$pgs = new Pgs(array(
            'email_cobranca' => $this->config->get("pagseguro_mail"), 
            'extras'          => $extras-$ratioReward,
            'ref_transacao'  => $order['order_id'],
            'encoding'=>'utf-8',
        ));
 
Para quem tem dificuldade em modificar, aqui está link para download módulo modificado:
pagseguro_opencart_v1.0.5.3_2.zip
Espero que tenha ajudado.

abraços.

Edit

Esqueci de informar que precisa chamar o model ModelTotalReward para classe do pagseguro. Para isso para ir na linha 29, e adicionar depois esse trecho :
Código: Selecionar todos
$this->load->model('total/reward');
 
Você não está autorizado a ver ou baixar esse anexo.
Editado pela última vez por David CHC em 01 Mar 2012, 09:25, em um total de 1 vez.
#16746
Ah, que ótimo, o módulo do PagSeguro cada vez mais completo!

Só que esse da Visie, eu achei que nem funcionasse. Tem outra versão girando aqui na comunidade... se puder dar uma olhada e comparar, já que você tem envolvimento com o código, talvez ele tenha algo que o módulo da Visie não tenha.
#18819
Eu to com esse problema também..

Quando eu faço uma compra e aplico os pontos de fidelidade pra dar descontos, somente a forma de pagamento Transferência / Depósito bancário recebe os descontos, mas quando o pagamento é feito por um serviço fora da loja como o PagSeguro por exemplo, os dados de descontos por pontos não é recebido, no painel da loja fica normal o valor com descontos, mas fora da loja fica o valor total sem descontos por pontos de fidelidade.


Fiz as alterações e não deu em nada, depois resolvi fazer uma nova instalação do módulo do PagSeguro, esse mesmo disponível para download aqui nessa página e não deu em nada também. Testei várias vezes, segui como no Read-Me que vem no arquivo zipado do módulo também, e nada.

Já não chega que não consegui resolver o problema do programa de afiliados que tive que retirar todos os links da loja referente a ele, agora vou ver que retirar o programa de pontos também ?! pow, assim não da :cry:

Minha versão é: 1.5.1.3
Minha loja: Unimartin.com.br

Alguém alguma ideia ?
Obrigado a todos!!