[DICA] Suporte para ponto de fidelidade no PagSeguro 1.0.5.3
Enviado: 29 Fev 2012, 17:22
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:
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 :
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
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: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;
}
Código: Selecionar todos
Para quem tem dificuldade em modificar, aqui está link para download módulo modificado:
Espero que tenha ajudado.$pgs = new Pgs(array(
'email_cobranca' => $this->config->get("pagseguro_mail"),
'extras' => $extras-$ratioReward,
'ref_transacao' => $order['order_id'],
'encoding'=>'utf-8',
));
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');