From 6f8213fc376deca2c850eb6859a7417432e836b8 Mon Sep 17 00:00:00 2001
From: Valdeir Santana
Date: Wed, 14 Nov 2012 16:56:36 -0200
Subject: [PATCH 01/16] Para OpenCart 1.5.4.x
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Correção para quem usa Prefixo nas tabelas do banco de dados!
Correção feita em todas as versões.
---
admin/model/moip/moip.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/admin/model/moip/moip.php b/admin/model/moip/moip.php
index b7979a6..2aa2b3d 100644
--- a/admin/model/moip/moip.php
+++ b/admin/model/moip/moip.php
@@ -290,7 +290,7 @@ public function getOrderHistories($order_id, $start = 0, $limit = 10) {
/* Captura todas informações enviadas pelo MoIP */
public function getMoipNasp($order_id) {
- $dados = $this->db->query('SELECT * FROM moip_nasp WHERE id_transacao = "'.$order_id.'"');
+ $dados = $this->db->query('SELECT * FROM ' . DB_PREFIX .'moip_nasp WHERE id_transacao = "'.$order_id.'"');
if ($dados->row < 1):
return false;
From ef83e4acaea31f6c8cab72d4c257b9cc37d82bf2 Mon Sep 17 00:00:00 2001
From: root
Date: Thu, 22 Nov 2012 08:05:19 -0400
Subject: [PATCH 02/16] acertos de javascript e alguns warnings
---
admin/view/template/payment/moip.tpl | 2 +-
catalog/controller/payment/moip.php | 2 +-
catalog/view/theme/default/template/payment/moip.tpl | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/admin/view/template/payment/moip.tpl b/admin/view/template/payment/moip.tpl
index ee29ab4..9315dd1 100644
--- a/admin/view/template/payment/moip.tpl
+++ b/admin/view/template/payment/moip.tpl
@@ -1 +1 @@
-
Autor: Valdeir Santana <valdeirpsr@hotmail.com.br
\ No newline at end of file
+
Autor: Valdeir Santana <valdeirpsr@hotmail.com.br
\ No newline at end of file
diff --git a/catalog/controller/payment/moip.php b/catalog/controller/payment/moip.php
index ffc2325..8db6b77 100644
--- a/catalog/controller/payment/moip.php
+++ b/catalog/controller/payment/moip.php
@@ -1 +1 @@
-data['button_continue'] = $this->language->get('button_continue');
//Verifica se está em modo de teste
if (!$this->config->get('moip_test')) {
$this->data['action'] = 'https://www.moip.com.br/ws/alpha/EnviarInstrucao/Unica';
} else {
$this->data['action'] = 'https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica';
}
//Carrega parcelas
$this->data['parcelas_moip'] = $this->config->get('moip_parcelas');
//Carrega o arquivo catalog/model/checkout/order.php
$this->load->model('checkout/order');
//Adiciona os dados da compra no array order_info
$order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
//Captura a 'razão' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['nometranzacao'] = $this->config->get('moip_razao');
//Captura o 'Token' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['apitoken'] = $this->config->get('moip_apitoken');
//Captura a 'Key' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['apikey'] = $this->config->get('moip_apikey');
//Captura o ID do Cliente
$this->data['customer_id'] = $order_info['customer_id'];
//Captura o tipo da moeda utilizada na compra
$this->data['currency_code'] = $order_info['currency_code'];
//Captura o valor total
$this->data['amount'] = $this->currency->format($order_info['total'], $order_info['currency_code'], FALSE);
//Captura o primeiro nome do Cliente e remove os caracteres especiais
$this->data['first_name'] = $this->removeAcentos($order_info['payment_firstname']);
//Captura o sobrenome do cliente e remove os caracteres especiais
$this->data['last_name'] = $this->removeAcentos($order_info['payment_lastname']);
//Captura o logadouro do cliente e remove os caracteres especiais
$this->data['address1'] = $this->removeAcentos($order_info['payment_address_1']);
//Captura o bairro do cliente e remove os caracteres especiais
$this->data['address2'] = $this->removeAcentos($order_info['payment_address_2']);
//Captura a cidade do Cliente e remove os caracteres especiais
$this->data['city'] = $this->removeAcentos($order_info['payment_city']);
//Captura o CEP do Cliente
$this->data['zip'] = $order_info['payment_postcode'];
//Captura o País do Cliente
$this->data['country'] = $order_info['payment_country'];
//Inicia a sessão com o id da compra
$this->session->data['order_id'];
//Captura o id da compra
$this->data['codipedido'] = $this->session->data['order_id'];
//Captura o email do Cliente
$this->data['email'] = $order_info['email'];
//Captura Dias de Expiração da configuração do boleto
$this->data['diasCorridosBoleto'] = $this->config->get('moip_diasCorridosBoleto');
//Captura a instrução 1 da configuração do boleto
$this->data['instrucaoUmBoleto'] = $this->config->get('moip_instrucaoUmBoleto');
//Captura a instrução 2 configuração do boleto
$this->data['instrucaoDoisBoleto'] = $this->config->get('moip_instrucaoDoisBoleto');
//Captura a instrução 3 da configuração do boleto
$this->data['instrucaoTresBoleto'] = $this->config->get('moip_instrucaoTresBoleto');
//Captura a url da logo da configuração do boleto
$this->data['urlLogoBoleto'] = $this->config->get('moip_urlLogoBoleto');
//Captura o modo de como o usuário irá visualizar as formas de pagamento
$this->data['modoParcela'] = ucfirst($this->config->get('moip_modoParcelas'));
//Acc Cartão de Crédito
$this->data['accCartaoCredito'] = ucfirst($this->config->get('moip_accCartaoCredito'));
//Acc Boleto
$this->data['accBoleto'] = ucfirst($this->config->get('moip_accBoleto'));
//Acc Débito
$this->data['accDebito'] = ucfirst($this->config->get('moip_accDebito'));
//Verifica se é para exibi o valor total das parcelas
if ($this->config->get('moip_exibiTotalParcela') == '1'):
$this->data['exibiTotalParcela'] = "' = R$' + data.parcelas[i].valor_total + ''";
else:
$this->data['exibiTotalParcela'] = "''";
endif;
//Verifica se a comissão está habilitada
if ($this->config->get('moip_comissao') == '1' && $order_info['affiliate_id'] != 0):
$this->load->model('affiliate/affiliate');
$this->data['comissao_dataAffiliate'] = array();
$this->data['accComisao'] = true;
$this->data['dados_afiliado'] = $this->model_affiliate_affiliate->getAffiliate($order_info['affiliate_id']);
if ($this->config->get('moip_pagadorTaxa') == 'aLoja'):
$this->data['comissao_loginPagadorTaxa'] = $this->config->get('moip_loginMoip');
else:
$this->data['comissao_loginPagadorTaxa'] = $this->data['dados_afiliado']['cheque'];
endif;
$this->data['comissao_valor'] = $this->config->get('moip_valorComissao');
$this->data['comissao_tipoPagamento'] = $this->config->get('moip_tipoPagamentoComissao');
$this->data['comissao_pagadorTaxa'] = $this->config->get('moip_pagadorTaxa');
else:
$this->data['accComisao'] = false;
endif;
//Invoice
$this->data['invoice'] = $this->session->data['order_id'] . ' - ' . $order_info['payment_firstname'] . ' ' . $order_info['payment_lastname'];
/* Pega o id do país */
$this->load->model('localisation/country');
$paises = $this->model_localisation_country->getCountries();
foreach ($paises as $country) {
if($country['name']==$order_info['payment_country']){
$codigodopais = $country['country_id'];
}
}
/* Com id do país pega o code da cidade */
$this->load->model('localisation/zone');
$results = $this->model_localisation_zone->getZonesByCountryId($codigodopais);
foreach ($results as $result) {
if($result['name']==$order_info['payment_zone']){
$this->data['estado'] =$result['code'];
}
}
//Verifica se existe o ddd do cliente
if(isset($order_info['ddd'])){
$this->data['ddd'] = $order_info['ddd'];
} else {
$ntelefone = preg_replace("/[^0-9]/", "", $order_info['telephone']);
if(strlen($ntelefone) >= 10){
$ntelefone = ltrim($ntelefone, "0");
$this->data['ddd'] = substr($ntelefone, 0, 2);
$this->data['telephone'] = substr($ntelefone, 2,11);
} else {
$this->data['telephone'] = substr($ntelefone, 0,11);
}
}
//Adiciona a url que chama a função success na variavel $return
$this->data['return'] = HTTPS_SERVER . 'checkout/success';
//Captura o email cadastrado na página de pagamento MoiP no painel administrativo
$this->data['mailpg'] = $this->config->get('moip_email');
//Captura valor total e multiplica com o valor da moeda escolhida
if ($order_info['currency_code'] != 'BRL'):
$this->data['valorTotalPedido'] = $this->format_money(preg_replace('/[^0-9]/i','',$this->currency->format($order_info['total']*$order_info['currency_value'], $order_info['currency_value'], $this->currency->getValue('BRL'))));
else:
$this->data['valorTotalPedido'] = $order_info['total']*$order_info['currency_value'];
endif;
//var_dump($order_info);
//Link de redirecionamento
$this->data['continue'] = $this->url->link('checkout/success');
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/moip.tpl')) {
$this->template = $this->config->get('config_template') . '/template/payment/moip.tpl';
} else {
$this->template = 'default/template/payment/moip.tpl';
}
$this->render();
}
public function confirm() {
$this->load->language('payment/moip');
$this->load->model('checkout/order');
$comment = $this->language->get('text_instruction') . "\n\n";
$comment .= $this->language->get('text_payment');
$this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('config_order_status_id'), $comment);
$html .= 'Pedido Número: ' . $this->session->data['order_id'] . ' ';
$html .= 'Status Pagamento: ' . $this->request->get['StatusPagamento'] . ' ';
if (!empty($this->request->get['Status']) && $this->request->get['Status'] != "undefined")
$html .= 'Status: ' . $this->request->get['Status'] . ' ';
if (!empty($this->request->get['CodigoMoIP']) && $this->request->get['CodigoMoIP'] != "undefined")
$html .= 'Codigo MoIP: ' . $this->request->get['CodigoMoIP'] . ' ';
if (!empty($this->request->get['TotalPago']) && $this->request->get['TotalPago'] != "undefined")
$html .= 'Total Pago: R$' . $this->request->get['TotalPago'] . ' ';
if (!empty($this->request->get['TotalPago']) && $this->request->get['TaxaMoIP'] != "undefined")
$html .= 'Taxa MoIP: R$' . $this->request->get['TaxaMoIP'] . ' ';
$html .= 'Mensagem: ' . $this->request->get['Mensagem'] . ' ';
if (!empty($this->request->get['CodigoRetorno']) && $this->request->get['CodigoRetorno'] != "undefined"):
$html .= 'Codigo Retorno: ' . $this->request->get['CodigoRetorno'] . ' ';
endif;
if ($this->request->get['Cod_Classificacao'] != 0):
$html .= 'Codigo: ' . $this->request->get['Cod_Classificacao'] . ' ';
$html .= 'Descricao: ' . $this->request->get['Descricao_Classificacao'];
endif;
$html .= '
Sistema desenvolvido por Valdeir S. <valdeirpsr@hotmail.com>';
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($this->config->get('config_name'));
$mail->setSubject('Pedido: #' . $this->session->data['order_id']);
$mail->setHtml($html);
$mail->send();
if (isset($this->session->data['order_id'])) {
$this->cart->clear();
unset($this->session->data['shipping_method']);
unset($this->session->data['shipping_methods']);
unset($this->session->data['payment_method']);
unset($this->session->data['payment_methods']);
unset($this->session->data['comment']);
unset($this->session->data['coupon']);
}
}
public function salvarCartao () {
//Carrega o model do MoiIP
$this->load->model('payment/moip');
//Carrega a livraria de criptografia
$this->load->library('criptografiacartao');
//Instacia um novo objeto de criptografia
$encryption = new CriptografiaCartao($this->config->get('config_encryption'));
//Captura o id do cliente
$dados['customer_id'] = $this->request->get['customer_id'];
//Captura a bandeira do cartão
$dados['bandeiraCartao'] = $encryption->encrypt($this->request->get['bandeiraCartao']);
//Captura o nome do titular do cartão
$dados['titularCartao'] = $encryption->encrypt($this->request->get['titularCartao']);
//Captura o número do cartão
$dados['numeroCartao'] = $encryption->encrypt($this->request->get['numeroCartao']);
//Captura a data de validade do cartão
$dados['validadeCartao'] = $encryption->encrypt($this->request->get['validadeCartao']);
//Captura o código de segurança do cartão
$dados['codCartao'] = $encryption->encrypt($this->request->get['codCartao']);
//Captura a data de nascimento do titular
$dados['nascimentoTitular'] = $encryption->encrypt($this->request->get['nascimentoTitular']);
//Captura o telefone do titular
$dados['telefone'] = $encryption->encrypt($this->request->get['telefone']);
//Captura o cpf do titular
$dados['cpf'] = $encryption->encrypt($this->request->get['cpf']);
//Salva os dados do Cartão
$this->model_payment_moip->salvarCartao($dados);
}
public function getCartao () {
//Carrega o model do MoIP
$this->load->model('payment/moip');
//Captura os dados do cartão escolhido
$resultado = $this->model_payment_moip->getCartao($this->request->get['customer_id'],$this->request->get['bandeira']);
//Verifica se foi localizado
if (isset($resultado['localizado']) && $resultado['localizado'] === 'sim'):
echo json_encode($resultado);
else:
echo json_encode(array('error' => 'Nao Localizado'));
endif;
}
private function format_money($total){
if(strlen($total)>2){
$n=strlen($total)-2;
$preco=substr($total,0,$n).".".substr($total,$n);
return $preco;
}else{
return $total;
}
}
private function removeAcentos ($value) {
$acentos = array('Á','À','Â','Ã','É','Ê','Í','Ó','Ô','Õ','Ú','Ç','á','à','â','ã','é','ê','í','ó','ô','õ','ú','ç','æ');
$sAcentos = array('A','A','A','A','E','E','I','O','O','O','U','C','a','a','a','a','e','e','i','o','o','o','u','c','AE');
return str_replace($acentos, $sAcentos, $value);
}
}
?>
\ No newline at end of file
+data['button_continue'] = $this->language->get('button_continue');
//Verifica se está em modo de teste
if (!$this->config->get('moip_test')) {
$this->data['action'] = 'https://www.moip.com.br/ws/alpha/EnviarInstrucao/Unica';
$this->data['moip_widget_js'] = 'https://www.moip.com.br/transparente/MoipWidget-v2.js';
} else {
$this->data['action'] = 'https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica';
$this->data['moip_widget_js'] = 'https://desenvolvedor.moip.com.br/sandbox/transparente/MoipWidget-v2.js';
}
//Carrega parcelas
$this->data['parcelas_moip'] = $this->config->get('moip_parcelas');
//Carrega o arquivo catalog/model/checkout/order.php
$this->load->model('checkout/order');
//Adiciona os dados da compra no array order_info
$order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
//Captura a 'razão' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['nometranzacao'] = $this->config->get('moip_razao');
//Captura o 'Token' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['apitoken'] = $this->config->get('moip_apitoken');
//Captura a 'Key' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['apikey'] = $this->config->get('moip_apikey');
//Captura o ID do Cliente
$this->data['customer_id'] = $order_info['customer_id'];
//Captura o tipo da moeda utilizada na compra
$this->data['currency_code'] = $order_info['currency_code'];
//Captura o valor total
$this->data['amount'] = $this->currency->format($order_info['total'], $order_info['currency_code'], FALSE);
//Captura o primeiro nome do Cliente e remove os caracteres especiais
$this->data['first_name'] = $this->removeAcentos($order_info['payment_firstname']);
//Captura o sobrenome do cliente e remove os caracteres especiais
$this->data['last_name'] = $this->removeAcentos($order_info['payment_lastname']);
//Captura o logadouro do cliente e remove os caracteres especiais
$this->data['address1'] = $this->removeAcentos($order_info['payment_address_1']);
//Captura o bairro do cliente e remove os caracteres especiais
$this->data['address2'] = $this->removeAcentos($order_info['payment_address_2']);
//Captura a cidade do Cliente e remove os caracteres especiais
$this->data['city'] = $this->removeAcentos($order_info['payment_city']);
//Captura o CEP do Cliente
$this->data['zip'] = $order_info['payment_postcode'];
//Captura o País do Cliente
$this->data['country'] = $order_info['payment_country'];
//Inicia a sessão com o id da compra
$this->session->data['order_id'];
//Captura o id da compra
$this->data['codipedido'] = $this->session->data['order_id'];
//Captura o email do Cliente
$this->data['email'] = $order_info['email'];
//Captura Dias de Expiração da configuração do boleto
$this->data['diasCorridosBoleto'] = $this->config->get('moip_diasCorridosBoleto');
//Captura a instrução 1 da configuração do boleto
$this->data['instrucaoUmBoleto'] = $this->config->get('moip_instrucaoUmBoleto');
//Captura a instrução 2 configuração do boleto
$this->data['instrucaoDoisBoleto'] = $this->config->get('moip_instrucaoDoisBoleto');
//Captura a instrução 3 da configuração do boleto
$this->data['instrucaoTresBoleto'] = $this->config->get('moip_instrucaoTresBoleto');
//Captura a url da logo da configuração do boleto
$this->data['urlLogoBoleto'] = $this->config->get('moip_urlLogoBoleto');
//Captura o modo de como o usuário irá visualizar as formas de pagamento
$this->data['modoParcela'] = ucfirst($this->config->get('moip_modoParcelas'));
//Acc Cartão de Crédito
$this->data['accCartaoCredito'] = ucfirst($this->config->get('moip_accCartaoCredito'));
//Acc Boleto
$this->data['accBoleto'] = ucfirst($this->config->get('moip_accBoleto'));
//Acc Débito
$this->data['accDebito'] = ucfirst($this->config->get('moip_accDebito'));
//Verifica se é para exibi o valor total das parcelas
if ($this->config->get('moip_exibiTotalParcela') == '1'):
$this->data['exibiTotalParcela'] = "' = R$' + data.parcelas[i].valor_total + ''";
else:
$this->data['exibiTotalParcela'] = "''";
endif;
//Verifica se a comissão está habilitada
if ($this->config->get('moip_comissao') == '1' && $order_info['affiliate_id'] != 0):
$this->load->model('affiliate/affiliate');
$this->data['comissao_dataAffiliate'] = array();
$this->data['accComisao'] = true;
$this->data['dados_afiliado'] = $this->model_affiliate_affiliate->getAffiliate($order_info['affiliate_id']);
if ($this->config->get('moip_pagadorTaxa') == 'aLoja'):
$this->data['comissao_loginPagadorTaxa'] = $this->config->get('moip_loginMoip');
else:
$this->data['comissao_loginPagadorTaxa'] = $this->data['dados_afiliado']['cheque'];
endif;
$this->data['comissao_valor'] = $this->config->get('moip_valorComissao');
$this->data['comissao_tipoPagamento'] = $this->config->get('moip_tipoPagamentoComissao');
$this->data['comissao_pagadorTaxa'] = $this->config->get('moip_pagadorTaxa');
else:
$this->data['accComisao'] = false;
endif;
//Invoice
$this->data['invoice'] = $this->session->data['order_id'] . ' - ' . $order_info['payment_firstname'] . ' ' . $order_info['payment_lastname'];
/* Pega o id do país */
$this->load->model('localisation/country');
$paises = $this->model_localisation_country->getCountries();
foreach ($paises as $country) {
if($country['name']==$order_info['payment_country']){
$codigodopais = $country['country_id'];
}
}
/* Com id do país pega o code da cidade */
$this->load->model('localisation/zone');
$results = $this->model_localisation_zone->getZonesByCountryId($codigodopais);
foreach ($results as $result) {
if($result['name']==$order_info['payment_zone']){
$this->data['estado'] =$result['code'];
}
}
//Verifica se existe o ddd do cliente
if(isset($order_info['ddd'])){
$this->data['ddd'] = $order_info['ddd'];
} else {
$ntelefone = preg_replace("/[^0-9]/", "", $order_info['telephone']);
if(strlen($ntelefone) >= 10){
$ntelefone = ltrim($ntelefone, "0");
$this->data['ddd'] = substr($ntelefone, 0, 2);
$this->data['telephone'] = substr($ntelefone, 2,11);
} else {
$this->data['telephone'] = substr($ntelefone, 0,11);
}
}
//Adiciona a url que chama a função success na variavel $return
$this->data['return'] = HTTPS_SERVER . 'checkout/success';
//Captura o email cadastrado na página de pagamento MoiP no painel administrativo
$this->data['mailpg'] = $this->config->get('moip_email');
//Captura valor total e multiplica com o valor da moeda escolhida
if ($order_info['currency_code'] != 'BRL'):
$this->data['valorTotalPedido'] = $this->format_money(preg_replace('/[^0-9]/i','',$this->currency->format($order_info['total']*$order_info['currency_value'], $order_info['currency_value'], $this->currency->getValue('BRL'))));
else:
$this->data['valorTotalPedido'] = $order_info['total']*$order_info['currency_value'];
endif;
//var_dump($order_info);
//Link de redirecionamento
$this->data['continue'] = $this->url->link('checkout/success');
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/moip.tpl')) {
$this->template = $this->config->get('config_template') . '/template/payment/moip.tpl';
} else {
$this->template = 'default/template/payment/moip.tpl';
}
$this->render();
}
public function confirm() {
$this->load->language('payment/moip');
$this->load->model('checkout/order');
$comment = $this->language->get('text_instruction') . "\n\n";
$comment .= $this->language->get('text_payment');
$this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('config_order_status_id'), $comment);
$html .= 'Pedido Número: ' . $this->session->data['order_id'] . ' ';
$html .= 'Status Pagamento: ' . $this->request->get['StatusPagamento'] . ' ';
if (!empty($this->request->get['Status']) && $this->request->get['Status'] != "undefined")
$html .= 'Status: ' . $this->request->get['Status'] . ' ';
if (!empty($this->request->get['CodigoMoIP']) && $this->request->get['CodigoMoIP'] != "undefined")
$html .= 'Codigo MoIP: ' . $this->request->get['CodigoMoIP'] . ' ';
if (!empty($this->request->get['TotalPago']) && $this->request->get['TotalPago'] != "undefined")
$html .= 'Total Pago: R$' . $this->request->get['TotalPago'] . ' ';
if (!empty($this->request->get['TotalPago']) && $this->request->get['TaxaMoIP'] != "undefined")
$html .= 'Taxa MoIP: R$' . $this->request->get['TaxaMoIP'] . ' ';
$html .= 'Mensagem: ' . $this->request->get['Mensagem'] . ' ';
if (!empty($this->request->get['CodigoRetorno']) && $this->request->get['CodigoRetorno'] != "undefined"):
$html .= 'Codigo Retorno: ' . $this->request->get['CodigoRetorno'] . ' ';
endif;
if ($this->request->get['Cod_Classificacao'] != 0):
$html .= 'Codigo: ' . $this->request->get['Cod_Classificacao'] . ' ';
$html .= 'Descricao: ' . $this->request->get['Descricao_Classificacao'];
endif;
$html .= '
Sistema desenvolvido por Valdeir S. <valdeirpsr@hotmail.com>';
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($this->config->get('config_name'));
$mail->setSubject('Pedido: #' . $this->session->data['order_id']);
$mail->setHtml($html);
$mail->send();
if (isset($this->session->data['order_id'])) {
$this->cart->clear();
unset($this->session->data['shipping_method']);
unset($this->session->data['shipping_methods']);
unset($this->session->data['payment_method']);
unset($this->session->data['payment_methods']);
unset($this->session->data['comment']);
unset($this->session->data['coupon']);
}
}
public function salvarCartao () {
//Carrega o model do MoiIP
$this->load->model('payment/moip');
//Carrega a livraria de criptografia
$this->load->library('criptografiacartao');
//Instacia um novo objeto de criptografia
$encryption = new CriptografiaCartao($this->config->get('config_encryption'));
//Captura o id do cliente
$dados['customer_id'] = $this->request->get['customer_id'];
//Captura a bandeira do cartão
$dados['bandeiraCartao'] = $encryption->encrypt($this->request->get['bandeiraCartao']);
//Captura o nome do titular do cartão
$dados['titularCartao'] = $encryption->encrypt($this->request->get['titularCartao']);
//Captura o número do cartão
$dados['numeroCartao'] = $encryption->encrypt($this->request->get['numeroCartao']);
//Captura a data de validade do cartão
$dados['validadeCartao'] = $encryption->encrypt($this->request->get['validadeCartao']);
//Captura o código de segurança do cartão
$dados['codCartao'] = $encryption->encrypt($this->request->get['codCartao']);
//Captura a data de nascimento do titular
$dados['nascimentoTitular'] = $encryption->encrypt($this->request->get['nascimentoTitular']);
//Captura o telefone do titular
$dados['telefone'] = $encryption->encrypt($this->request->get['telefone']);
//Captura o cpf do titular
$dados['cpf'] = $encryption->encrypt($this->request->get['cpf']);
//Salva os dados do Cartão
$this->model_payment_moip->salvarCartao($dados);
}
public function getCartao () {
//Carrega o model do MoIP
$this->load->model('payment/moip');
//Captura os dados do cartão escolhido
$resultado = $this->model_payment_moip->getCartao($this->request->get['customer_id'],$this->request->get['bandeira']);
//Verifica se foi localizado
if (isset($resultado['localizado']) && $resultado['localizado'] === 'sim'):
echo json_encode($resultado);
else:
echo json_encode(array('error' => 'Nao Localizado'));
endif;
}
private function format_money($total){
if(strlen($total)>2){
$n=strlen($total)-2;
$preco=substr($total,0,$n).".".substr($total,$n);
return $preco;
}else{
return $total;
}
}
private function removeAcentos ($value) {
$acentos = array('Á','À','Â','Ã','É','Ê','Í','Ó','Ô','Õ','Ú','Ç','á','à','â','ã','é','ê','í','ó','ô','õ','ú','ç','æ');
$sAcentos = array('A','A','A','A','E','E','I','O','O','O','U','C','a','a','a','a','e','e','i','o','o','o','u','c','AE');
return str_replace($acentos, $sAcentos, $value);
}
}
?>
\ No newline at end of file
diff --git a/catalog/view/theme/default/template/payment/moip.tpl b/catalog/view/theme/default/template/payment/moip.tpl
index 3d43538..26cd13a 100644
--- a/catalog/view/theme/default/template/payment/moip.tpl
+++ b/catalog/view/theme/default/template/payment/moip.tpl
@@ -1 +1 @@
-
*
* @version 1.0.0
*/
?>
'.$parcela['de'].''.$parcela['para'].''.$parcela['juros'].'
';
else:
$moip_parcelas .= ''.$parcela['de'].''.$parcela['para'].''.$parcela['juros'].'';
endif;
}
// Captura o comentário do cliente
if (!empty($this->session->data['comment'])):
$moip_mensagem = '';
$moip_mensagem .= '' . $this->session->data['comment'] . '';
$moip_mensagem .= '';
else:
$moip_mensagem = '';
endif;
// Verifica se o comissionamento está habilitado
if (($accComisao && isset($_COOKIE['tracking']))):
if ($comissao_pagadorTaxa == 'afiliado' && !isset($_COOKIE['tracking'])):
$comissao = '';
else:
$comissao = '';
$comissao .= ' ';
$comissao .= ' ';
$comissao .= ' ' . $dados_afiliado['cheque'] . '';
$comissao .= ' ';
$comissao .= ' Auxiliou na venda do pedido ' . $codipedido . '';
$comissao .= ' <' . $comissao_tipoPagamento . '>' . $comissao_valor . '' . $comissao_tipoPagamento . '>';
$comissao .= ' ';
$comissao .= ' ';
$comissao .= ' ' . $comissao_loginPagadorTaxa . '';
$comissao .= ' ';
$comissao .= '';
endif;
else:
$comissao = '';
endif;
// Inicia cURL
$ch = curl_init();
$header[] = "Authorization: Basic " . base64_encode($apitoken.':'.$apikey);
// Seta opçoes e parâmetro
$options = array(CURLOPT_URL => $action,
CURLOPT_HTTPHEADER => $header,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => utf8_encode('
'.$nometranzacao.''.$valorTotalPedido.''.$codipedido.''.$nome.''.$email.''.$codipedido.''.$endereco.''.$numero.'Desconhecido'.$endereco2.''.$cidade.''.strtoupper($estado).'BRA'.$cep.''.$dddtelefone.''.$diasCorridosBoleto.''.$instrucaoUmBoleto.''.$instrucaoDoisBoleto.''.$instrucaoTresBoleto.''.$urlLogoBoleto.''.
$moip_parcelas
.''.
$moip_mensagem
.''.
$comissao
.'
'),
CURLOPT_RETURNTRANSFER => true
);
curl_setopt_array($ch, $options);
// Executa cURL
$response = curl_exec($ch);
// Fecha coneçao cURL
curl_close($ch);
// Transforma string em elemento XML
$xml = simplexml_load_string($response);
// Acessa XML e pega "Token de Pagamento"
$payment_token = $xml->Resposta->Token;
?>
\ No newline at end of file
From edbbd3c0f2d5689505ddf8d112e76bf0248b2924 Mon Sep 17 00:00:00 2001
From: Valdeir Santana
Date: Fri, 23 Nov 2012 11:11:25 -0200
Subject: [PATCH 03/16] =?UTF-8?q?Para=20todas=20vers=C3=B5es?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Correção do Retorno
---
retorno_moip.php | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/retorno_moip.php b/retorno_moip.php
index 22a6913..cf76923 100644
--- a/retorno_moip.php
+++ b/retorno_moip.php
@@ -71,6 +71,31 @@
if (!empty($id_transacao->row)) {
$db->query('UPDATE ' . DB_PREFIX . 'moip_nasp SET status_pagamento="' . $status . '" WHERE id_transacao = "' . $_POST['id_transacao'] . '"');
}else{
+
+ if (empty($_POST['cartao_bin'])):
+ $cartaoBin = 'Indefinido';
+ else:
+ $cartaoBin = $_POST['cartao_bin'];
+ endif;
+
+ if (empty($_POST['cartao_final'])):
+ $cartaoBin = 'Indefinido';
+ else:
+ $cartaoBin = $_POST['cartao_final'];
+ endif;
+
+ if (empty($_POST['cartao_bandeira'])):
+ $cartaoBin = 'Indefinido';
+ else:
+ $cartaoBin = $_POST['cartao_bandeira'];
+ endif;
+
+ if (empty($_POST['cofre'])):
+ $cartaoBin = 'Indefinido';
+ else:
+ $cartaoBin = $_POST['cofre'];
+ endif;
+
//Caso no exista o id recebido pelo moip na tabela moip_nasp, inseri os dados recebidos do moip na tabela moip_nasp
$db->query("INSERT INTO `" . DB_PREFIX . "moip_nasp` (
`id_transacao`,
From b86423a039f0f33d2430ee8e09ccaa14ece2b93e Mon Sep 17 00:00:00 2001
From: Valdeir Santana
Date: Fri, 23 Nov 2012 11:13:40 -0200
Subject: [PATCH 04/16] =?UTF-8?q?Para=20Todas=20Vers=C3=B5es?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Correção do Retorno
---
retorno_moip.php | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/retorno_moip.php b/retorno_moip.php
index cf76923..5d24642 100644
--- a/retorno_moip.php
+++ b/retorno_moip.php
@@ -79,21 +79,21 @@
endif;
if (empty($_POST['cartao_final'])):
- $cartaoBin = 'Indefinido';
+ $cartaoFinal = 'Indefinido';
else:
- $cartaoBin = $_POST['cartao_final'];
+ $cartaoFinal = $_POST['cartao_final'];
endif;
if (empty($_POST['cartao_bandeira'])):
- $cartaoBin = 'Indefinido';
+ $cartaoBandeira = 'Indefinido';
else:
- $cartaoBin = $_POST['cartao_bandeira'];
+ $cartaoBandeira = $_POST['cartao_bandeira'];
endif;
if (empty($_POST['cofre'])):
- $cartaoBin = 'Indefinido';
+ $cartaoCofre = 'Indefinido';
else:
- $cartaoBin = $_POST['cofre'];
+ $cartaoCofre = $_POST['cofre'];
endif;
//Caso no exista o id recebido pelo moip na tabela moip_nasp, inseri os dados recebidos do moip na tabela moip_nasp
@@ -119,10 +119,10 @@
'" . $_POST['tipo_pagamento'] . "',
'" . $_POST['parcelas'] . "',
'" . $_POST['email_consumidor'] . "',
- '" . $_POST['cartao_bin'] . "',
- '" . $_POST['cartao_final'] . "',
- '" . $_POST['cartao_bandeira'] . "',
- '" . $_POST['cofre'] . "');");
+ '" . $cartaoBin . "',
+ '" . $cartaoFinal . "',
+ '" . $cartaoBandeira . "',
+ '" . $cartaoCofre . "');");
}
From 67efb745342164abdcb06caef4219020f9286621 Mon Sep 17 00:00:00 2001
From: Valdeir Santana
Date: Fri, 4 Jan 2013 18:14:23 -0200
Subject: [PATCH 05/16] Para OpenCart 1.5.4.x
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Versão 1.4
---
admin/controller/payment/moip.php | 2 +-
admin/model/moip/moip.php | 8 +++++---
admin/view/template/payment/moip.tpl | 2 +-
catalog/controller/payment/moip.php | 2 +-
catalog/language/portuguese-br/mail/moip.php | 2 +-
catalog/model/payment/moip.php | 2 +-
.../view/theme/default/template/payment/moip.tpl | 2 +-
retorno_moip.php | 7 +++----
valdeir/moip/instalar/steps.php | 13 +++++++++++++
vqmod/xml/moip.xml | 2 +-
10 files changed, 28 insertions(+), 14 deletions(-)
diff --git a/admin/controller/payment/moip.php b/admin/controller/payment/moip.php
index 7a8cbad..4c15185 100644
--- a/admin/controller/payment/moip.php
+++ b/admin/controller/payment/moip.php
@@ -1 +1 @@
-load->language('payment/moip');
/* Define o com o título do módulo */
$this->document->setTitle($this->language->get('heading_title'));
/* Carrega o model de configurções */
$this->load->model('setting/setting');
/* Salva as informações */
if (($this->request->server['REQUEST_METHOD'] == 'POST') && ($this->validate())) {
$this->load->model('setting/setting');
$this->model_setting_setting->editSetting('moip', $this->request->post);
$this->session->data['success'] = $this->language->get('text_success');
$this->redirect(HTTPS_SERVER . 'index.php?route=extension/payment&token=' . $this->session->data['token']);
}
$this->data['heading_title'] = $this->language->get('heading_title');
/* Text */
$this->data['text_enabled'] = $this->language->get('text_enabled');
$this->data['text_disabled'] = $this->language->get('text_disabled');
$this->data['text_all_zones'] = $this->language->get('text_all_zones');
$this->data['text_yes'] = $this->language->get('text_yes');
$this->data['text_no'] = $this->language->get('text_no');
/* Tabs */
$this->data['tab_config'] = $this->language->get('tab_config');
$this->data['tab_status'] = $this->language->get('tab_status');
$this->data['tab_order'] = $this->language->get('tab_order');
$this->data['tab_parcelas'] = $this->language->get('tab_parcelas');
$this->data['tab_boleto'] = $this->language->get('tab_boleto');
$this->data['tab_formasPagamento'] = $this->language->get('tab_formasPagamento');
$this->data['tab_committee'] = $this->language->get('tab_committee');
$this->data['tab_suporte'] = $this->language->get('tab_suporte');
/* Entry - Configurações */
$this->data['entry_status'] = $this->language->get('entry_status');
$this->data['entry_razao'] = $this->language->get('entry_razao');
$this->data['entry_apitoken'] = $this->language->get('entry_apitoken');
$this->data['entry_apikey'] = $this->language->get('entry_apikey');
$this->data['entry_test'] = $this->language->get('entry_test');
$this->data['entry_notify'] = $this->language->get('entry_notify');
$this->data['entry_modoParcela'] = $this->language->get('entry_modoParcela');
$this->data['entry_valorTotal'] = $this->language->get('entry_valorTotal');
/* Entry - Status de Pagamento */
$this->data['entry_autorizdo'] = $this->language->get('entry_autorizdo');
$this->data['entry_iniciado'] = $this->language->get('entry_iniciado');
$this->data['entry_boletoimpresso'] = $this->language->get('entry_boletoimpresso');
$this->data['entry_concluido'] = $this->language->get('entry_concluido');
$this->data['entry_cancelado'] = $this->language->get('entry_cancelado');
$this->data['entry_emanalise'] = $this->language->get('entry_emanalise');
$this->data['entry_estornado'] = $this->language->get('entry_estornado');
$this->data['entry_revisao'] = $this->language->get('entry_revisao');
$this->data['entry_reembolsado'] = $this->language->get('entry_reembolsado');
/* Entry - Área e Ordem */
$this->data['entry_geo_zone'] = $this->language->get('entry_geo_zone');
$this->data['entry_sort_order'] = $this->language->get('entry_sort_order');
/* Entry - Parcelas */
$this->data['entry_parcelaDe'] = $this->language->get('entry_parcelaDe');
$this->data['entry_parcelaPara'] = $this->language->get('entry_parcelaPara');
$this->data['entry_parcelaJuros'] = $this->language->get('entry_parcelaJuros');
/* Entry - Boleto */
$this->data['entry_boletoPrazo'] = $this->language->get('entry_boletoPrazo');
$this->data['entry_boletoInstrucao'] = $this->language->get('entry_boletoInstrucao');
$this->data['entry_boletoUrlLogo'] = $this->language->get('entry_boletoUrlLogo');
/* Entry - Formas de Pagamento */
$this->data['entry_cartaoCredito'] = $this->language->get('entry_cartaoCredito');
$this->data['entry_boleto'] = $this->language->get('entry_boleto');
$this->data['entry_debito'] = $this->language->get('entry_debito');
/* Entry - Comissão */
$this->data['entry_habilitar'] = $this->language->get('entry_habilitar');
$this->data['entry_valor'] = $this->language->get('entry_valor');
$this->data['entry_fixo'] = $this->language->get('entry_fixo');
$this->data['entry_percentual'] = $this->language->get('entry_percentual');
$this->data['entry_pagadorTaxa'] = $this->language->get('entry_pagadorTaxa');
$this->data['entry_aLoja'] = $this->language->get('entry_aLoja');
$this->data['entry_afiliado'] = $this->language->get('entry_afiliado');
/* Entry - Suporte */
$this->data['entry_suporteAssunto'] = $this->language->get('entry_suporteAssunto');
$this->data['entry_suporteMensagem'] = $this->language->get('entry_suporteMensagem');
$this->data['attention_suporte'] = $this->language->get('attention_suporte');
$this->data['success_supórte'] = $this->language->get('success_supórte');
/* Helps */
$this->data['help_razao'] = $this->language->get('help_razao');
$this->data['help_notify'] = $this->language->get('help_notify');
$this->data['help_autorizado'] = $this->language->get('help_autorizado');
$this->data['help_iniciado'] = $this->language->get('help_iniciado');
$this->data['help_boletoimpresso'] = $this->language->get('help_boletoimpresso');
$this->data['help_concluido'] = $this->language->get('help_concluido');
$this->data['help_cancelado'] = $this->language->get('help_cancelado');
$this->data['help_emanalise'] = $this->language->get('help_emanalise');
$this->data['help_estornado'] = $this->language->get('help_estornado');
$this->data['help_revisao'] = $this->language->get('help_revisao');
$this->data['help_reembolsado'] = $this->language->get('help_reembolsado');
$this->data['help_boletoUrlLogo'] = $this->language->get('help_boletoUrlLogo');
/* Botões */
$this->data['button_adicionar'] = $this->language->get('button_adicionar');
$this->data['button_remover'] = $this->language->get('button_remover');
$this->data['button_save'] = $this->language->get('button_save');
$this->data['button_cancel'] = $this->language->get('button_cancel');
$this->data['button_enviar'] = $this->language->get('button_enviar');
/* Error */
if (isset($this->error['warning'])) {
$this->data['error_warning'] = $this->error['warning'];
} else {
$this->data['error_warning'] = '';
}
/* Error */
$this->data['error_email'] = $this->language->get('error_email');
/* Breadcrumbs - Inicio */
$this->data['breadcrumbs'] = array();
$this->data['breadcrumbs'][] = array(
'href' => $this->url->link('common/home&token=', $this->session->data['token']),
'text' => $this->language->get('text_home'),
'separator' => FALSE
);
$this->data['breadcrumbs'][] = array(
'href' => $this->url->link('extension/payment&token=',$this->session->data['token']),
'text' => $this->language->get('text_payment'),
'separator' => ' :: '
);
$this->data['breadcrumbs'][] = array(
'href' => $this->url->link('payment/moip&token=', $this->session->data['token']),
'text' => $this->language->get('heading_title'),
'separator' => ' :: '
);
/* Breadcrumbs - Fim */
/* Botões */
$this->data['action'] = $this->url->link('payment/moip', 'token=' . $this->session->data['token']);
$this->data['cancel'] = $this->url->link('extension/payment', 'token=' . $this->session->data['token']);
/* Status */
if (isset($this->request->post['moip_status'])) {
$this->data['moip_status'] = $this->request->post['moip_status'];
} else {
$this->data['moip_status'] = $this->config->get('moip_status');
}
/* Notify */
if (isset($this->request->post['moip_notify'])) {
$this->data['moip_notify'] = $this->request->post['moip_notify'];
} else {
$this->data['moip_notify'] = $this->config->get('moip_notify');
}
/* Modo Teste */
if (isset($this->request->post['moip_test'])) {
$this->data['moip_test'] = $this->request->post['moip_test'];
} else {
$this->data['moip_test'] = $this->config->get('moip_test');
}
/* Razão */
if (isset($this->request->post['moip_razao'])) {
$this->data['moip_razao'] = $this->request->post['moip_razao'];
} else {
$this->data['moip_razao'] = $this->config->get('moip_razao');
}
/* Token */
if (isset($this->request->post['moip_apitoken'])) {
$this->data['moip_apitoken'] = $this->request->post['moip_apitoken'];
} else {
$this->data['moip_apitoken'] = $this->config->get('moip_apitoken');
}
/* Key */
if (isset($this->request->post['moip_apikey'])) {
$this->data['moip_apikey'] = $this->request->post['moip_apikey'];
} else {
$this->data['moip_apikey'] = $this->config->get('moip_apikey');
}
/* Autorizado */
if (isset($this->request->post['moip_apikey'])) {
$this->data['moip_autorizado'] = $this->request->post['moip_autorizado'];
} else {
$this->data['moip_autorizado'] = $this->config->get('moip_autorizado');
}
/* Iniciado */
if (isset($this->request->post['moip_iniciado'])) {
$this->data['moip_iniciado'] = $this->request->post['moip_iniciado'];
} else {
$this->data['moip_iniciado'] = $this->config->get('moip_iniciado');
}
/* Boleto Impresso */
if (isset($this->request->post['moip_boletoimpresso'])) {
$this->data['moip_boletoimpresso'] = $this->request->post['moip_boletoimpresso'];
} else {
$this->data['moip_boletoimpresso'] = $this->config->get('moip_boletoimpresso');
}
/* Concluido */
if (isset($this->request->post['moip_concluido'])) {
$this->data['moip_concluido'] = $this->request->post['moip_concluido'];
} else {
$this->data['moip_concluido'] = $this->config->get('moip_concluido');
}
/* Cancelado */
if (isset($this->request->post['moip_cancelado'])) {
$this->data['moip_cancelado'] = $this->request->post['moip_cancelado'];
} else {
$this->data['moip_cancelado'] = $this->config->get('moip_cancelado');
}
/* Em Análise */
if (isset($this->request->post['moip_emanalise'])) {
$this->data['moip_emanalise'] = $this->request->post['moip_emanalise'];
} else {
$this->data['moip_emanalise'] = $this->config->get('moip_emanalise');
}
/* Estornado */
if (isset($this->request->post['moip_estornado'])) {
$this->data['moip_estornado'] = $this->request->post['moip_estornado'];
} else {
$this->data['moip_estornado'] = $this->config->get('moip_estornado');
}
/* Em Revisão */
if (isset($this->request->post['moip_revisao'])) {
$this->data['moip_revisao'] = $this->request->post['moip_revisao'];
} else {
$this->data['moip_revisao'] = $this->config->get('moip_revisao');
}
/* Reembolsado */
if (isset($this->request->post['moip_reembolsado'])) {
$this->data['moip_reembolsado'] = $this->request->post['moip_reembolsado'];
} else {
$this->data['moip_reembolsado'] = $this->config->get('moip_reembolsado');
}
/* Parcelas */
if (isset($this->request->post['moip_parcelas'])) {
$this->data['moip_parcelas'] = serialize($this->request->post['moip_parcelas']);
} else {
$this->data['moip_parcelas'] = $this->config->get('moip_parcelas');
}
/* Carrega o model de locação de zona geográfica */
$this->load->model('localisation/geo_zone');
/* Captura todas as zonas */
$this->data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones();
/* Zone Selecionada */
if (isset($this->request->post['moip_geo_zone_id'])) {
$this->data['moip_geo_zone_id'] = $this->request->post['moip_geo_zone_id'];
} else {
$this->data['moip_geo_zone_id'] = $this->config->get('moip_geo_zone_id');
}
/* Status do pedido quando estive aguardando pagamento pelo moip */
if (isset($this->request->post['moip_aguardando'])) {
$this->data['moip_aguardando'] = $this->request->post['moip_aguardando'];
} else {
$this->data['moip_aguardando'] = $this->config->get('moip_aguardando');
}
/* Status do pedido quando for cancelado pelo moip */
if (isset($this->request->post['moip_cancelado'])) {
$this->data['moip_cancelado'] = $this->request->post['moip_cancelado'];
} else {
$this->data['moip_cancelado'] = $this->config->get('moip_cancelado');
}
/* Status do pedido quando for aprovando pelo moip */
if (isset($this->request->post['moip_aprovado'])) {
$this->data['moip_aprovado'] = $this->request->post['moip_aprovado'];
} else {
$this->data['moip_aprovado'] = $this->config->get('moip_aprovado');
}
/* Status do pedido quando for Analize pelo moip */
if (isset($this->request->post['moip_analize'])) {
$this->data['moip_analize'] = $this->request->post['moip_analize'];
} else {
$this->data['moip_analize'] = $this->config->get('moip_analize');
}
/* Dias corridos para o prazo do boleto */
if (isset($this->request->post['moip_diasCorridosBoleto'])) {
$this->data['moip_diasCorridosBoleto'] = $this->request->post['moip_diasCorridosBoleto'];
} else {
$this->data['moip_diasCorridosBoleto'] = $this->config->get('moip_diasCorridosBoleto');
}
/* Instrução 1 do boleto */
if (isset($this->request->post['moip_instrucaoUmBoleto'])) {
$this->data['moip_instrucaoUmBoleto'] = $this->request->post['moip_instrucaoUmBoleto'];
} else {
$this->data['moip_instrucaoUmBoleto'] = $this->config->get('moip_instrucaoUmBoleto');
}
/* Instrução 2 do Boleto */
if (isset($this->request->post['moip_instrucaoDoisBoleto'])) {
$this->data['moip_instrucaoDoisBoleto'] = $this->request->post['moip_instrucaoDoisBoleto'];
} else {
$this->data['moip_instrucaoDoisBoleto'] = $this->config->get('moip_instrucaoDoisBoleto');
}
/* Instrução 3 do Boleto */
if (isset($this->request->post['moip_instrucaoTresBoleto'])) {
$this->data['moip_instrucaoTresBoleto'] = $this->request->post['moip_instrucaoTresBoleto'];
} else {
$this->data['moip_instrucaoTresBoleto'] = $this->config->get('moip_instrucaoTresBoleto');
}
/* Url da Logo para o Boleto */
if (isset($this->request->post['moip_urlLogoBoleto'])) {
$this->data['moip_urlLogoBoleto'] = $this->request->post['moip_urlLogoBoleto'];
} else {
$this->data['moip_urlLogoBoleto'] = $this->config->get('moip_urlLogoBoleto');
}
/* Modo como as parcelas irão ser exibidas */
if (isset($this->request->post['moip_modoParcelas'])) {
$this->data['moip_modoParcelas'] = $this->request->post['moip_modoParcelas'];
} else {
$this->data['moip_modoParcelas'] = $this->config->get('moip_modoParcelas');
}
/* Exibi valor total das parcelas */
if (isset($this->request->post['moip_exibiTotalParcela'])) {
$this->data['moip_exibiTotalParcela'] = $this->request->post['moip_exibiTotalParcela'];
} else {
$this->data['moip_exibiTotalParcela'] = $this->config->get('moip_exibiTotalParcela');
}
/* Verifica se o comissionamento está habilitado */
if (isset($this->request->post['moip_comissao'])) {
$this->data['moip_comissao'] = $this->request->post['moip_comissao'];
} else {
$this->data['moip_comissao'] = $this->config->get('moip_comissao');
}
/* Captura o valor do comissionamento */
if (isset($this->request->post['moip_valorComissao'])) {
$this->data['moip_valorComissao'] = $this->request->post['moip_valorComissao'];
} else {
$this->data['moip_valorComissao'] = $this->config->get('moip_valorComissao');
}
/* Verifica se o tipo de pagamento da comissão é fixo ou percentual */
if (isset($this->request->post['moip_tipoPagamentoComissao'])) {
$this->data['moip_tipoPagamentoComissao'] = $this->request->post['moip_tipoPagamentoComissao'];
} else {
$this->data['moip_tipoPagamentoComissao'] = $this->config->get('moip_tipoPagamentoComissao');
}
/* Responsavel por pagar taxa do moip, em caso do comissionamento estiver ativado */
if (isset($this->request->post['moip_pagadorTaxa'])) {
$this->data['moip_pagadorTaxa'] = $this->request->post['moip_pagadorTaxa'];
} else {
$this->data['moip_pagadorTaxa'] = $this->config->get('moip_pagadorTaxa');
}
/* Carrega o model order_status */
$this->load->model('localisation/order_status');
/* Captura todos os status cadastrado */
$this->data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses();
/* Ordem do Módulo */
if (isset($this->request->post['moip_sort_order'])) {
$this->data['moip_sort_order'] = $this->request->post['moip_sort_order'];
} else {
$this->data['moip_sort_order'] = $this->config->get('moip_sort_order');
}
/* Acc Cartão de Crédito */
if (isset($this->request->post['moip_accCartaoCredito'])) {
$this->data['moip_accCartaoCredito'] = $this->request->post['moip_accCartaoCredito'];
} else {
$this->data['moip_accCartaoCredito'] = $this->config->get('moip_accCartaoCredito');
}
/* Acc Boleto */
if (isset($this->request->post['moip_accBoleto'])) {
$this->data['moip_accBoleto'] = $this->request->post['moip_accBoleto'];
} else {
$this->data['moip_accBoleto'] = $this->config->get('moip_accBoleto');
}
/* Acc Débito */
if (isset($this->request->post['moip_accDebito'])) {
$this->data['moip_accDebito'] = $this->request->post['moip_accDebito'];
} else {
$this->data['moip_accDebito'] = $this->config->get('moip_accDebito');
}
/* Captura quais layouts serão carregados */
$this->id = 'content';
$this->template = 'payment/moip.tpl';
$this->children = array(
'common/header',
'common/footer'
);
/* Carrega Layout */
$this->response->setOutput($this->render(TRUE), $this->config->get('config_compression'));
}
/* Função Para envio do Suporte */
public function suporte() {
$assunto = $this->request->get['suporteAssunto'];
$mensagem = $this->request->get['suporteMensagem'];
$mensagem .= '
Site: '.HTTP_CATALOG;
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mail->setTo('valdeirpsr@hotmail.com.br');
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($this->config->get('config_name'));
$mail->setSubject($assunto);
$mail->setHTML($mensagem);
$mail->send();
}
/* Função para validar os dados quando usuário salvar */
private function validate() {
if (!$this->user->hasPermission('modify', 'payment/moip')) {
$this->error['warning'] = $this->language->get('error_permission');
}
if ($this->request->post['moip_comissao'] == 0) {
$dir_catalog = str_replace('catalog/', '', DIR_CATALOG);
if (file_exists($dir_catalog . 'vqmod/xml/comissao_moip.xml')){
if (!rename($dir_catalog . 'vqmod/xml/comissao_moip.xml', $dir_catalog . 'vqmod/xml/comissao_moip')) {
return false;
}
}
}
if ($this->request->post['moip_comissao'] == 1) {
$dir_catalog = str_replace('catalog/', '', DIR_CATALOG);
if (file_exists($dir_catalog . 'vqmod/xml/comissao_moip')){
if (!rename($dir_catalog . 'vqmod/xml/comissao_moip', $dir_catalog . 'vqmod/xml/comissao_moip.xml')) {
return false;
}
}
}
if (!$this->request->post['moip_apitoken']) {
$this->error['erro_apitoken'] = $this->language->get('erro_apitoken');
}
if (!$this->request->post['moip_apikey']) {
$this->error['erro_apikey'] = $this->language->get('erro_apikey');
}
if (!@$this->request->post['moip_razao']) {
$this->error['error_razao'] = $this->language->get('error_razao');
}
if (!$this->error) {
return TRUE;
} else {
return FALSE;
}
}
}
?>
\ No newline at end of file
+load->language('payment/moip');
/* Define o com o título do módulo */
$this->document->setTitle($this->language->get('heading_title'));
/* Carrega o model de configurções */
$this->load->model('setting/setting');
/* Salva as informações */
if (($this->request->server['REQUEST_METHOD'] == 'POST') && ($this->validate())) {
$this->load->model('setting/setting');
$this->model_setting_setting->editSetting('moip', $this->request->post);
$this->session->data['success'] = $this->language->get('text_success');
$this->redirect(HTTPS_SERVER . 'index.php?route=extension/payment&token=' . $this->session->data['token']);
}
$this->data['heading_title'] = $this->language->get('heading_title');
/* Text */
$this->data['text_enabled'] = $this->language->get('text_enabled');
$this->data['text_disabled'] = $this->language->get('text_disabled');
$this->data['text_all_zones'] = $this->language->get('text_all_zones');
$this->data['text_yes'] = $this->language->get('text_yes');
$this->data['text_no'] = $this->language->get('text_no');
/* Tabs */
$this->data['tab_config'] = $this->language->get('tab_config');
$this->data['tab_status'] = $this->language->get('tab_status');
$this->data['tab_order'] = $this->language->get('tab_order');
$this->data['tab_parcelas'] = $this->language->get('tab_parcelas');
$this->data['tab_boleto'] = $this->language->get('tab_boleto');
$this->data['tab_formasPagamento'] = $this->language->get('tab_formasPagamento');
$this->data['tab_committee'] = $this->language->get('tab_committee');
$this->data['tab_suporte'] = $this->language->get('tab_suporte');
/* Entry - Configurações */
$this->data['entry_status'] = $this->language->get('entry_status');
$this->data['entry_razao'] = $this->language->get('entry_razao');
$this->data['entry_apitoken'] = $this->language->get('entry_apitoken');
$this->data['entry_apikey'] = $this->language->get('entry_apikey');
$this->data['entry_test'] = $this->language->get('entry_test');
$this->data['entry_notify'] = $this->language->get('entry_notify');
$this->data['entry_modoParcela'] = $this->language->get('entry_modoParcela');
$this->data['entry_valorTotal'] = $this->language->get('entry_valorTotal');
/* Entry - Status de Pagamento */
$this->data['entry_autorizdo'] = $this->language->get('entry_autorizdo');
$this->data['entry_iniciado'] = $this->language->get('entry_iniciado');
$this->data['entry_boletoimpresso'] = $this->language->get('entry_boletoimpresso');
$this->data['entry_concluido'] = $this->language->get('entry_concluido');
$this->data['entry_cancelado'] = $this->language->get('entry_cancelado');
$this->data['entry_emanalise'] = $this->language->get('entry_emanalise');
$this->data['entry_estornado'] = $this->language->get('entry_estornado');
$this->data['entry_revisao'] = $this->language->get('entry_revisao');
$this->data['entry_reembolsado'] = $this->language->get('entry_reembolsado');
/* Entry - Área e Ordem */
$this->data['entry_geo_zone'] = $this->language->get('entry_geo_zone');
$this->data['entry_sort_order'] = $this->language->get('entry_sort_order');
/* Entry - Parcelas */
$this->data['entry_parcelaDe'] = $this->language->get('entry_parcelaDe');
$this->data['entry_parcelaPara'] = $this->language->get('entry_parcelaPara');
$this->data['entry_parcelaJuros'] = $this->language->get('entry_parcelaJuros');
/* Entry - Boleto */
$this->data['entry_boletoPrazo'] = $this->language->get('entry_boletoPrazo');
$this->data['entry_boletoInstrucao'] = $this->language->get('entry_boletoInstrucao');
$this->data['entry_boletoUrlLogo'] = $this->language->get('entry_boletoUrlLogo');
/* Entry - Formas de Pagamento */
$this->data['entry_cartaoCredito'] = $this->language->get('entry_cartaoCredito');
$this->data['entry_boleto'] = $this->language->get('entry_boleto');
$this->data['entry_debito'] = $this->language->get('entry_debito');
/* Entry - Comissão */
$this->data['entry_habilitar'] = $this->language->get('entry_habilitar');
$this->data['entry_valor'] = $this->language->get('entry_valor');
$this->data['entry_fixo'] = $this->language->get('entry_fixo');
$this->data['entry_percentual'] = $this->language->get('entry_percentual');
$this->data['entry_pagadorTaxa'] = $this->language->get('entry_pagadorTaxa');
$this->data['entry_aLoja'] = $this->language->get('entry_aLoja');
$this->data['entry_afiliado'] = $this->language->get('entry_afiliado');
/* Entry - Suporte */
$this->data['entry_suporteAssunto'] = $this->language->get('entry_suporteAssunto');
$this->data['entry_suporteMensagem'] = $this->language->get('entry_suporteMensagem');
$this->data['attention_suporte'] = $this->language->get('attention_suporte');
$this->data['success_supórte'] = $this->language->get('success_supórte');
/* Helps */
$this->data['help_razao'] = $this->language->get('help_razao');
$this->data['help_notify'] = $this->language->get('help_notify');
$this->data['help_autorizado'] = $this->language->get('help_autorizado');
$this->data['help_iniciado'] = $this->language->get('help_iniciado');
$this->data['help_boletoimpresso'] = $this->language->get('help_boletoimpresso');
$this->data['help_concluido'] = $this->language->get('help_concluido');
$this->data['help_cancelado'] = $this->language->get('help_cancelado');
$this->data['help_emanalise'] = $this->language->get('help_emanalise');
$this->data['help_estornado'] = $this->language->get('help_estornado');
$this->data['help_revisao'] = $this->language->get('help_revisao');
$this->data['help_reembolsado'] = $this->language->get('help_reembolsado');
$this->data['help_boletoUrlLogo'] = $this->language->get('help_boletoUrlLogo');
/* Botões */
$this->data['button_adicionar'] = $this->language->get('button_adicionar');
$this->data['button_remover'] = $this->language->get('button_remover');
$this->data['button_save'] = $this->language->get('button_save');
$this->data['button_cancel'] = $this->language->get('button_cancel');
$this->data['button_enviar'] = $this->language->get('button_enviar');
/* Error */
if (isset($this->error['warning'])) {
$this->data['error_warning'] = $this->error['warning'];
} else {
$this->data['error_warning'] = '';
}
/* Error */
$this->data['error_email'] = $this->language->get('error_email');
/* Breadcrumbs - Inicio */
$this->data['breadcrumbs'] = array();
$this->data['breadcrumbs'][] = array(
'href' => $this->url->link('common/home&token=', $this->session->data['token']),
'text' => $this->language->get('text_home'),
'separator' => FALSE
);
$this->data['breadcrumbs'][] = array(
'href' => $this->url->link('extension/payment&token=',$this->session->data['token']),
'text' => $this->language->get('text_payment'),
'separator' => ' :: '
);
$this->data['breadcrumbs'][] = array(
'href' => $this->url->link('payment/moip&token=', $this->session->data['token']),
'text' => $this->language->get('heading_title'),
'separator' => ' :: '
);
/* Breadcrumbs - Fim */
/* Botões */
$this->data['action'] = $this->url->link('payment/moip', 'token=' . $this->session->data['token']);
$this->data['cancel'] = $this->url->link('extension/payment', 'token=' . $this->session->data['token']);
/* Status */
if (isset($this->request->post['moip_status'])) {
$this->data['moip_status'] = $this->request->post['moip_status'];
} else {
$this->data['moip_status'] = $this->config->get('moip_status');
}
/* Notify */
if (isset($this->request->post['moip_notify'])) {
$this->data['moip_notify'] = $this->request->post['moip_notify'];
} else {
$this->data['moip_notify'] = $this->config->get('moip_notify');
}
/* Modo Teste */
if (isset($this->request->post['moip_test'])) {
$this->data['moip_test'] = $this->request->post['moip_test'];
} else {
$this->data['moip_test'] = $this->config->get('moip_test');
}
/* Razão */
if (isset($this->request->post['moip_razao'])) {
$this->data['moip_razao'] = $this->request->post['moip_razao'];
} else {
$this->data['moip_razao'] = $this->config->get('moip_razao');
}
/* Token */
if (isset($this->request->post['moip_apitoken'])) {
$this->data['moip_apitoken'] = $this->request->post['moip_apitoken'];
} else {
$this->data['moip_apitoken'] = $this->config->get('moip_apitoken');
}
/* Key */
if (isset($this->request->post['moip_apikey'])) {
$this->data['moip_apikey'] = $this->request->post['moip_apikey'];
} else {
$this->data['moip_apikey'] = $this->config->get('moip_apikey');
}
/* Autorizado */
if (isset($this->request->post['moip_apikey'])) {
$this->data['moip_autorizado'] = $this->request->post['moip_autorizado'];
} else {
$this->data['moip_autorizado'] = $this->config->get('moip_autorizado');
}
/* Iniciado */
if (isset($this->request->post['moip_iniciado'])) {
$this->data['moip_iniciado'] = $this->request->post['moip_iniciado'];
} else {
$this->data['moip_iniciado'] = $this->config->get('moip_iniciado');
}
/* Boleto Impresso */
if (isset($this->request->post['moip_boletoimpresso'])) {
$this->data['moip_boletoimpresso'] = $this->request->post['moip_boletoimpresso'];
} else {
$this->data['moip_boletoimpresso'] = $this->config->get('moip_boletoimpresso');
}
/* Concluido */
if (isset($this->request->post['moip_concluido'])) {
$this->data['moip_concluido'] = $this->request->post['moip_concluido'];
} else {
$this->data['moip_concluido'] = $this->config->get('moip_concluido');
}
/* Cancelado */
if (isset($this->request->post['moip_cancelado'])) {
$this->data['moip_cancelado'] = $this->request->post['moip_cancelado'];
} else {
$this->data['moip_cancelado'] = $this->config->get('moip_cancelado');
}
/* Em Análise */
if (isset($this->request->post['moip_emanalise'])) {
$this->data['moip_emanalise'] = $this->request->post['moip_emanalise'];
} else {
$this->data['moip_emanalise'] = $this->config->get('moip_emanalise');
}
/* Estornado */
if (isset($this->request->post['moip_estornado'])) {
$this->data['moip_estornado'] = $this->request->post['moip_estornado'];
} else {
$this->data['moip_estornado'] = $this->config->get('moip_estornado');
}
/* Em Revisão */
if (isset($this->request->post['moip_revisao'])) {
$this->data['moip_revisao'] = $this->request->post['moip_revisao'];
} else {
$this->data['moip_revisao'] = $this->config->get('moip_revisao');
}
/* Reembolsado */
if (isset($this->request->post['moip_reembolsado'])) {
$this->data['moip_reembolsado'] = $this->request->post['moip_reembolsado'];
} else {
$this->data['moip_reembolsado'] = $this->config->get('moip_reembolsado');
}
/* Parcelas */
if (isset($this->request->post['moip_parcelas'])) {
$this->data['moip_parcelas'] = serialize($this->request->post['moip_parcelas']);
} else {
$this->data['moip_parcelas'] = $this->config->get('moip_parcelas');
}
/* Carrega o model de locação de zona geográfica */
$this->load->model('localisation/geo_zone');
/* Captura todas as zonas */
$this->data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones();
/* Zone Selecionada */
if (isset($this->request->post['moip_geo_zone_id'])) {
$this->data['moip_geo_zone_id'] = $this->request->post['moip_geo_zone_id'];
} else {
$this->data['moip_geo_zone_id'] = $this->config->get('moip_geo_zone_id');
}
/* Status do pedido quando estive aguardando pagamento pelo moip */
if (isset($this->request->post['moip_aguardando'])) {
$this->data['moip_aguardando'] = $this->request->post['moip_aguardando'];
} else {
$this->data['moip_aguardando'] = $this->config->get('moip_aguardando');
}
/* Status do pedido quando for cancelado pelo moip */
if (isset($this->request->post['moip_cancelado'])) {
$this->data['moip_cancelado'] = $this->request->post['moip_cancelado'];
} else {
$this->data['moip_cancelado'] = $this->config->get('moip_cancelado');
}
/* Status do pedido quando for aprovando pelo moip */
if (isset($this->request->post['moip_aprovado'])) {
$this->data['moip_aprovado'] = $this->request->post['moip_aprovado'];
} else {
$this->data['moip_aprovado'] = $this->config->get('moip_aprovado');
}
/* Status do pedido quando for Analize pelo moip */
if (isset($this->request->post['moip_analize'])) {
$this->data['moip_analize'] = $this->request->post['moip_analize'];
} else {
$this->data['moip_analize'] = $this->config->get('moip_analize');
}
/* Dias corridos para o prazo do boleto */
if (isset($this->request->post['moip_diasCorridosBoleto'])) {
$this->data['moip_diasCorridosBoleto'] = $this->request->post['moip_diasCorridosBoleto'];
} else {
$this->data['moip_diasCorridosBoleto'] = $this->config->get('moip_diasCorridosBoleto');
}
/* Instrução 1 do boleto */
if (isset($this->request->post['moip_instrucaoUmBoleto'])) {
$this->data['moip_instrucaoUmBoleto'] = $this->request->post['moip_instrucaoUmBoleto'];
} else {
$this->data['moip_instrucaoUmBoleto'] = $this->config->get('moip_instrucaoUmBoleto');
}
/* Instrução 2 do Boleto */
if (isset($this->request->post['moip_instrucaoDoisBoleto'])) {
$this->data['moip_instrucaoDoisBoleto'] = $this->request->post['moip_instrucaoDoisBoleto'];
} else {
$this->data['moip_instrucaoDoisBoleto'] = $this->config->get('moip_instrucaoDoisBoleto');
}
/* Instrução 3 do Boleto */
if (isset($this->request->post['moip_instrucaoTresBoleto'])) {
$this->data['moip_instrucaoTresBoleto'] = $this->request->post['moip_instrucaoTresBoleto'];
} else {
$this->data['moip_instrucaoTresBoleto'] = $this->config->get('moip_instrucaoTresBoleto');
}
/* Url da Logo para o Boleto */
if (isset($this->request->post['moip_urlLogoBoleto'])) {
$this->data['moip_urlLogoBoleto'] = $this->request->post['moip_urlLogoBoleto'];
} else {
$this->data['moip_urlLogoBoleto'] = $this->config->get('moip_urlLogoBoleto');
}
/* Modo como as parcelas irão ser exibidas */
if (isset($this->request->post['moip_modoParcelas'])) {
$this->data['moip_modoParcelas'] = $this->request->post['moip_modoParcelas'];
} else {
$this->data['moip_modoParcelas'] = $this->config->get('moip_modoParcelas');
}
/* Exibi valor total das parcelas */
if (isset($this->request->post['moip_exibiTotalParcela'])) {
$this->data['moip_exibiTotalParcela'] = $this->request->post['moip_exibiTotalParcela'];
} else {
$this->data['moip_exibiTotalParcela'] = $this->config->get('moip_exibiTotalParcela');
}
/* Carrega o model order_status */
$this->load->model('localisation/order_status');
/* Captura todos os status cadastrado */
$this->data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses();
/* Ordem do Módulo */
if (isset($this->request->post['moip_sort_order'])) {
$this->data['moip_sort_order'] = $this->request->post['moip_sort_order'];
} else {
$this->data['moip_sort_order'] = $this->config->get('moip_sort_order');
}
/* Acc Cartão de Crédito */
if (isset($this->request->post['moip_accCartaoCredito'])) {
$this->data['moip_accCartaoCredito'] = $this->request->post['moip_accCartaoCredito'];
} else {
$this->data['moip_accCartaoCredito'] = $this->config->get('moip_accCartaoCredito');
}
/* Acc Boleto */
if (isset($this->request->post['moip_accBoleto'])) {
$this->data['moip_accBoleto'] = $this->request->post['moip_accBoleto'];
} else {
$this->data['moip_accBoleto'] = $this->config->get('moip_accBoleto');
}
/* Acc Débito */
if (isset($this->request->post['moip_accDebito'])) {
$this->data['moip_accDebito'] = $this->request->post['moip_accDebito'];
} else {
$this->data['moip_accDebito'] = $this->config->get('moip_accDebito');
}
/* Captura quais layouts serão carregados */
$this->id = 'content';
$this->template = 'payment/moip.tpl';
$this->children = array(
'common/header',
'common/footer'
);
/* Carrega Layout */
$this->response->setOutput($this->render(TRUE), $this->config->get('config_compression'));
}
/* Função Para envio do Suporte */
public function suporte() {
$assunto = $this->request->get['suporteAssunto'];
$mensagem = $this->request->get['suporteMensagem'];
$mensagem .= '
Site: '.HTTP_CATALOG;
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mail->setTo('valdeirpsr@hotmail.com.br');
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($this->config->get('config_name'));
$mail->setSubject($assunto);
$mail->setHTML($mensagem);
$mail->send();
}
/* Função para validar os dados quando usuário salvar */
private function validate() {
if (!$this->user->hasPermission('modify', 'payment/moip')) {
$this->error['warning'] = $this->language->get('error_permission');
}
if ($this->request->post['moip_comissao'] == 0) {
$dir_catalog = str_replace('catalog/', '', DIR_CATALOG);
if (file_exists($dir_catalog . 'vqmod/xml/comissao_moip.xml')){
if (!rename($dir_catalog . 'vqmod/xml/comissao_moip.xml', $dir_catalog . 'vqmod/xml/comissao_moip')) {
return false;
}
}
}
if ($this->request->post['moip_comissao'] == 1) {
$dir_catalog = str_replace('catalog/', '', DIR_CATALOG);
if (file_exists($dir_catalog . 'vqmod/xml/comissao_moip')){
if (!rename($dir_catalog . 'vqmod/xml/comissao_moip', $dir_catalog . 'vqmod/xml/comissao_moip.xml')) {
return false;
}
}
}
if (!$this->request->post['moip_apitoken']) {
$this->error['erro_apitoken'] = $this->language->get('erro_apitoken');
}
if (!$this->request->post['moip_apikey']) {
$this->error['erro_apikey'] = $this->language->get('erro_apikey');
}
if (!@$this->request->post['moip_razao']) {
$this->error['error_razao'] = $this->language->get('error_razao');
}
if (!$this->error) {
return TRUE;
} else {
return FALSE;
}
}
}
?>
\ No newline at end of file
diff --git a/admin/model/moip/moip.php b/admin/model/moip/moip.php
index 2aa2b3d..8c02bd0 100644
--- a/admin/model/moip/moip.php
+++ b/admin/model/moip/moip.php
@@ -290,7 +290,7 @@ public function getOrderHistories($order_id, $start = 0, $limit = 10) {
/* Captura todas informações enviadas pelo MoIP */
public function getMoipNasp($order_id) {
- $dados = $this->db->query('SELECT * FROM ' . DB_PREFIX .'moip_nasp WHERE id_transacao = "'.$order_id.'"');
+ $dados = $this->db->query('SELECT * FROM ' . DB_PREFIX. 'moip_nasp WHERE id_transacao = "'.$order_id.'"');
if ($dados->row < 1):
return false;
@@ -402,13 +402,15 @@ public function getFormaPagamento($pagamento_id){
}
if ($pagamento_id == 76) {
- return 'Valdeir';
+ return 'Oi Paggo';
}
if ($pagamento_id == 88) {
- return 'Valdeir';
+ return 'Banrisul';
}
+ return 'Desconhecido';
+
}
diff --git a/admin/view/template/payment/moip.tpl b/admin/view/template/payment/moip.tpl
index 9315dd1..fc18d6f 100644
--- a/admin/view/template/payment/moip.tpl
+++ b/admin/view/template/payment/moip.tpl
@@ -1 +1 @@
-
Autor: Valdeir Santana <valdeirpsr@hotmail.com.br
\ No newline at end of file
+
Autor: Valdeir Santana <valdeirpsr@hotmail.com.br
\ No newline at end of file
diff --git a/catalog/controller/payment/moip.php b/catalog/controller/payment/moip.php
index 8db6b77..56d6c6f 100644
--- a/catalog/controller/payment/moip.php
+++ b/catalog/controller/payment/moip.php
@@ -1 +1 @@
-data['button_continue'] = $this->language->get('button_continue');
//Verifica se está em modo de teste
if (!$this->config->get('moip_test')) {
$this->data['action'] = 'https://www.moip.com.br/ws/alpha/EnviarInstrucao/Unica';
$this->data['moip_widget_js'] = 'https://www.moip.com.br/transparente/MoipWidget-v2.js';
} else {
$this->data['action'] = 'https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica';
$this->data['moip_widget_js'] = 'https://desenvolvedor.moip.com.br/sandbox/transparente/MoipWidget-v2.js';
}
//Carrega parcelas
$this->data['parcelas_moip'] = $this->config->get('moip_parcelas');
//Carrega o arquivo catalog/model/checkout/order.php
$this->load->model('checkout/order');
//Adiciona os dados da compra no array order_info
$order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
//Captura a 'razão' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['nometranzacao'] = $this->config->get('moip_razao');
//Captura o 'Token' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['apitoken'] = $this->config->get('moip_apitoken');
//Captura a 'Key' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['apikey'] = $this->config->get('moip_apikey');
//Captura o ID do Cliente
$this->data['customer_id'] = $order_info['customer_id'];
//Captura o tipo da moeda utilizada na compra
$this->data['currency_code'] = $order_info['currency_code'];
//Captura o valor total
$this->data['amount'] = $this->currency->format($order_info['total'], $order_info['currency_code'], FALSE);
//Captura o primeiro nome do Cliente e remove os caracteres especiais
$this->data['first_name'] = $this->removeAcentos($order_info['payment_firstname']);
//Captura o sobrenome do cliente e remove os caracteres especiais
$this->data['last_name'] = $this->removeAcentos($order_info['payment_lastname']);
//Captura o logadouro do cliente e remove os caracteres especiais
$this->data['address1'] = $this->removeAcentos($order_info['payment_address_1']);
//Captura o bairro do cliente e remove os caracteres especiais
$this->data['address2'] = $this->removeAcentos($order_info['payment_address_2']);
//Captura a cidade do Cliente e remove os caracteres especiais
$this->data['city'] = $this->removeAcentos($order_info['payment_city']);
//Captura o CEP do Cliente
$this->data['zip'] = $order_info['payment_postcode'];
//Captura o País do Cliente
$this->data['country'] = $order_info['payment_country'];
//Inicia a sessão com o id da compra
$this->session->data['order_id'];
//Captura o id da compra
$this->data['codipedido'] = $this->session->data['order_id'];
//Captura o email do Cliente
$this->data['email'] = $order_info['email'];
//Captura Dias de Expiração da configuração do boleto
$this->data['diasCorridosBoleto'] = $this->config->get('moip_diasCorridosBoleto');
//Captura a instrução 1 da configuração do boleto
$this->data['instrucaoUmBoleto'] = $this->config->get('moip_instrucaoUmBoleto');
//Captura a instrução 2 configuração do boleto
$this->data['instrucaoDoisBoleto'] = $this->config->get('moip_instrucaoDoisBoleto');
//Captura a instrução 3 da configuração do boleto
$this->data['instrucaoTresBoleto'] = $this->config->get('moip_instrucaoTresBoleto');
//Captura a url da logo da configuração do boleto
$this->data['urlLogoBoleto'] = $this->config->get('moip_urlLogoBoleto');
//Captura o modo de como o usuário irá visualizar as formas de pagamento
$this->data['modoParcela'] = ucfirst($this->config->get('moip_modoParcelas'));
//Acc Cartão de Crédito
$this->data['accCartaoCredito'] = ucfirst($this->config->get('moip_accCartaoCredito'));
//Acc Boleto
$this->data['accBoleto'] = ucfirst($this->config->get('moip_accBoleto'));
//Acc Débito
$this->data['accDebito'] = ucfirst($this->config->get('moip_accDebito'));
//Verifica se é para exibi o valor total das parcelas
if ($this->config->get('moip_exibiTotalParcela') == '1'):
$this->data['exibiTotalParcela'] = "' = R$' + data.parcelas[i].valor_total + ''";
else:
$this->data['exibiTotalParcela'] = "''";
endif;
//Verifica se a comissão está habilitada
if ($this->config->get('moip_comissao') == '1' && $order_info['affiliate_id'] != 0):
$this->load->model('affiliate/affiliate');
$this->data['comissao_dataAffiliate'] = array();
$this->data['accComisao'] = true;
$this->data['dados_afiliado'] = $this->model_affiliate_affiliate->getAffiliate($order_info['affiliate_id']);
if ($this->config->get('moip_pagadorTaxa') == 'aLoja'):
$this->data['comissao_loginPagadorTaxa'] = $this->config->get('moip_loginMoip');
else:
$this->data['comissao_loginPagadorTaxa'] = $this->data['dados_afiliado']['cheque'];
endif;
$this->data['comissao_valor'] = $this->config->get('moip_valorComissao');
$this->data['comissao_tipoPagamento'] = $this->config->get('moip_tipoPagamentoComissao');
$this->data['comissao_pagadorTaxa'] = $this->config->get('moip_pagadorTaxa');
else:
$this->data['accComisao'] = false;
endif;
//Invoice
$this->data['invoice'] = $this->session->data['order_id'] . ' - ' . $order_info['payment_firstname'] . ' ' . $order_info['payment_lastname'];
/* Pega o id do país */
$this->load->model('localisation/country');
$paises = $this->model_localisation_country->getCountries();
foreach ($paises as $country) {
if($country['name']==$order_info['payment_country']){
$codigodopais = $country['country_id'];
}
}
/* Com id do país pega o code da cidade */
$this->load->model('localisation/zone');
$results = $this->model_localisation_zone->getZonesByCountryId($codigodopais);
foreach ($results as $result) {
if($result['name']==$order_info['payment_zone']){
$this->data['estado'] =$result['code'];
}
}
//Verifica se existe o ddd do cliente
if(isset($order_info['ddd'])){
$this->data['ddd'] = $order_info['ddd'];
} else {
$ntelefone = preg_replace("/[^0-9]/", "", $order_info['telephone']);
if(strlen($ntelefone) >= 10){
$ntelefone = ltrim($ntelefone, "0");
$this->data['ddd'] = substr($ntelefone, 0, 2);
$this->data['telephone'] = substr($ntelefone, 2,11);
} else {
$this->data['telephone'] = substr($ntelefone, 0,11);
}
}
//Adiciona a url que chama a função success na variavel $return
$this->data['return'] = HTTPS_SERVER . 'checkout/success';
//Captura o email cadastrado na página de pagamento MoiP no painel administrativo
$this->data['mailpg'] = $this->config->get('moip_email');
//Captura valor total e multiplica com o valor da moeda escolhida
if ($order_info['currency_code'] != 'BRL'):
$this->data['valorTotalPedido'] = $this->format_money(preg_replace('/[^0-9]/i','',$this->currency->format($order_info['total']*$order_info['currency_value'], $order_info['currency_value'], $this->currency->getValue('BRL'))));
else:
$this->data['valorTotalPedido'] = $order_info['total']*$order_info['currency_value'];
endif;
//var_dump($order_info);
//Link de redirecionamento
$this->data['continue'] = $this->url->link('checkout/success');
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/moip.tpl')) {
$this->template = $this->config->get('config_template') . '/template/payment/moip.tpl';
} else {
$this->template = 'default/template/payment/moip.tpl';
}
$this->render();
}
public function confirm() {
$this->load->language('payment/moip');
$this->load->model('checkout/order');
$comment = $this->language->get('text_instruction') . "\n\n";
$comment .= $this->language->get('text_payment');
$this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('config_order_status_id'), $comment);
$html .= 'Pedido Número: ' . $this->session->data['order_id'] . ' ';
$html .= 'Status Pagamento: ' . $this->request->get['StatusPagamento'] . ' ';
if (!empty($this->request->get['Status']) && $this->request->get['Status'] != "undefined")
$html .= 'Status: ' . $this->request->get['Status'] . ' ';
if (!empty($this->request->get['CodigoMoIP']) && $this->request->get['CodigoMoIP'] != "undefined")
$html .= 'Codigo MoIP: ' . $this->request->get['CodigoMoIP'] . ' ';
if (!empty($this->request->get['TotalPago']) && $this->request->get['TotalPago'] != "undefined")
$html .= 'Total Pago: R$' . $this->request->get['TotalPago'] . ' ';
if (!empty($this->request->get['TotalPago']) && $this->request->get['TaxaMoIP'] != "undefined")
$html .= 'Taxa MoIP: R$' . $this->request->get['TaxaMoIP'] . ' ';
$html .= 'Mensagem: ' . $this->request->get['Mensagem'] . ' ';
if (!empty($this->request->get['CodigoRetorno']) && $this->request->get['CodigoRetorno'] != "undefined"):
$html .= 'Codigo Retorno: ' . $this->request->get['CodigoRetorno'] . ' ';
endif;
if ($this->request->get['Cod_Classificacao'] != 0):
$html .= 'Codigo: ' . $this->request->get['Cod_Classificacao'] . ' ';
$html .= 'Descricao: ' . $this->request->get['Descricao_Classificacao'];
endif;
$html .= '
Sistema desenvolvido por Valdeir S. <valdeirpsr@hotmail.com>';
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($this->config->get('config_name'));
$mail->setSubject('Pedido: #' . $this->session->data['order_id']);
$mail->setHtml($html);
$mail->send();
if (isset($this->session->data['order_id'])) {
$this->cart->clear();
unset($this->session->data['shipping_method']);
unset($this->session->data['shipping_methods']);
unset($this->session->data['payment_method']);
unset($this->session->data['payment_methods']);
unset($this->session->data['comment']);
unset($this->session->data['coupon']);
}
}
public function salvarCartao () {
//Carrega o model do MoiIP
$this->load->model('payment/moip');
//Carrega a livraria de criptografia
$this->load->library('criptografiacartao');
//Instacia um novo objeto de criptografia
$encryption = new CriptografiaCartao($this->config->get('config_encryption'));
//Captura o id do cliente
$dados['customer_id'] = $this->request->get['customer_id'];
//Captura a bandeira do cartão
$dados['bandeiraCartao'] = $encryption->encrypt($this->request->get['bandeiraCartao']);
//Captura o nome do titular do cartão
$dados['titularCartao'] = $encryption->encrypt($this->request->get['titularCartao']);
//Captura o número do cartão
$dados['numeroCartao'] = $encryption->encrypt($this->request->get['numeroCartao']);
//Captura a data de validade do cartão
$dados['validadeCartao'] = $encryption->encrypt($this->request->get['validadeCartao']);
//Captura o código de segurança do cartão
$dados['codCartao'] = $encryption->encrypt($this->request->get['codCartao']);
//Captura a data de nascimento do titular
$dados['nascimentoTitular'] = $encryption->encrypt($this->request->get['nascimentoTitular']);
//Captura o telefone do titular
$dados['telefone'] = $encryption->encrypt($this->request->get['telefone']);
//Captura o cpf do titular
$dados['cpf'] = $encryption->encrypt($this->request->get['cpf']);
//Salva os dados do Cartão
$this->model_payment_moip->salvarCartao($dados);
}
public function getCartao () {
//Carrega o model do MoIP
$this->load->model('payment/moip');
//Captura os dados do cartão escolhido
$resultado = $this->model_payment_moip->getCartao($this->request->get['customer_id'],$this->request->get['bandeira']);
//Verifica se foi localizado
if (isset($resultado['localizado']) && $resultado['localizado'] === 'sim'):
echo json_encode($resultado);
else:
echo json_encode(array('error' => 'Nao Localizado'));
endif;
}
private function format_money($total){
if(strlen($total)>2){
$n=strlen($total)-2;
$preco=substr($total,0,$n).".".substr($total,$n);
return $preco;
}else{
return $total;
}
}
private function removeAcentos ($value) {
$acentos = array('Á','À','Â','Ã','É','Ê','Í','Ó','Ô','Õ','Ú','Ç','á','à','â','ã','é','ê','í','ó','ô','õ','ú','ç','æ');
$sAcentos = array('A','A','A','A','E','E','I','O','O','O','U','C','a','a','a','a','e','e','i','o','o','o','u','c','AE');
return str_replace($acentos, $sAcentos, $value);
}
}
?>
\ No newline at end of file
+data['button_continue'] = $this->language->get('button_continue');
//Verifica se está em modo de teste
if (!$this->config->get('moip_test')) {
$this->data['action'] = 'https://www.moip.com.br/ws/alpha/EnviarInstrucao/Unica';
} else {
$this->data['action'] = 'https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica';
}
//Carrega parcelas
$this->data['parcelas_moip'] = $this->config->get('moip_parcelas');
//Carrega o arquivo catalog/model/checkout/order.php
$this->load->model('checkout/order');
//Adiciona os dados da compra no array order_info
$order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
//Captura a 'razão' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['nometranzacao'] = $this->config->get('moip_razao');
//Captura o 'Token' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['apitoken'] = $this->config->get('moip_apitoken');
//Captura a 'Key' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['apikey'] = $this->config->get('moip_apikey');
//Captura o ID do Cliente
$this->data['customer_id'] = $order_info['customer_id'];
//Captura o tipo da moeda utilizada na compra
$this->data['currency_code'] = $order_info['currency_code'];
//Captura o valor total
$this->data['amount'] = $this->currency->format($order_info['total'], $order_info['currency_code'], FALSE);
//Captura o primeiro nome do Cliente e remove os caracteres especiais
$this->data['first_name'] = $this->removeAcentos($order_info['payment_firstname']);
//Captura o sobrenome do cliente e remove os caracteres especiais
$this->data['last_name'] = $this->removeAcentos($order_info['payment_lastname']);
//Captura o logadouro do cliente e remove os caracteres especiais
$this->data['address1'] = $this->removeAcentos($order_info['payment_address_1']);
//Captura o bairro do cliente e remove os caracteres especiais
$this->data['address2'] = $this->removeAcentos($order_info['payment_address_2']);
//Captura a cidade do Cliente e remove os caracteres especiais
$this->data['city'] = $this->removeAcentos($order_info['payment_city']);
//Captura o CEP do Cliente
$this->data['zip'] = $order_info['payment_postcode'];
//Captura o País do Cliente
$this->data['country'] = $order_info['payment_country'];
//Inicia a sessão com o id da compra
$this->session->data['order_id'];
//Captura o id da compra
$this->data['codipedido'] = $this->session->data['order_id'];
//Captura o email do Cliente
$this->data['email'] = $order_info['email'];
//Captura Dias de Expiração da configuração do boleto
$this->data['diasCorridosBoleto'] = $this->config->get('moip_diasCorridosBoleto');
//Captura a instrução 1 da configuração do boleto
$this->data['instrucaoUmBoleto'] = $this->config->get('moip_instrucaoUmBoleto');
//Captura a instrução 2 configuração do boleto
$this->data['instrucaoDoisBoleto'] = $this->config->get('moip_instrucaoDoisBoleto');
//Captura a instrução 3 da configuração do boleto
$this->data['instrucaoTresBoleto'] = $this->config->get('moip_instrucaoTresBoleto');
//Captura a url da logo da configuração do boleto
$this->data['urlLogoBoleto'] = $this->config->get('moip_urlLogoBoleto');
//Captura o modo de como o usuário irá visualizar as formas de pagamento
$this->data['modoParcela'] = ucfirst($this->config->get('moip_modoParcelas'));
//Acc Cartão de Crédito
$this->data['accCartaoCredito'] = ucfirst($this->config->get('moip_accCartaoCredito'));
//Acc Boleto
$this->data['accBoleto'] = ucfirst($this->config->get('moip_accBoleto'));
//Acc Débito
$this->data['accDebito'] = ucfirst($this->config->get('moip_accDebito'));
//Verifica se é para exibi o valor total das parcelas
if ($this->config->get('moip_exibiTotalParcela') == '1'):
$this->data['exibiTotalParcela'] = "' = R$' + data.parcelas[i].valor_total + ''";
else:
$this->data['exibiTotalParcela'] = "''";
endif;
//Invoice
$this->data['invoice'] = $this->session->data['order_id'] . ' - ' . $order_info['payment_firstname'] . ' ' . $order_info['payment_lastname'];
/* Pega o id do país */
$this->load->model('localisation/country');
$paises = $this->model_localisation_country->getCountries();
foreach ($paises as $country) {
if($country['name']==$order_info['payment_country']){
$codigodopais = $country['country_id'];
}
}
/* Com id do país pega o code da cidade */
$this->load->model('localisation/zone');
$results = $this->model_localisation_zone->getZonesByCountryId($codigodopais);
foreach ($results as $result) {
if($result['name']==$order_info['payment_zone']){
$this->data['estado'] =$result['code'];
}
}
//Verifica se existe o ddd do cliente
if(isset($order_info['ddd'])){
$this->data['ddd'] = $order_info['ddd'];
} else {
$ntelefone = preg_replace("/[^0-9]/", "", $order_info['telephone']);
if(strlen($ntelefone) >= 10){
$ntelefone = ltrim($ntelefone, "0");
$this->data['ddd'] = substr($ntelefone, 0, 2);
$this->data['telephone'] = substr($ntelefone, 2,11);
} else {
$this->data['telephone'] = substr($ntelefone, 0,11);
}
}
//Adiciona a url que chama a função success na variavel $return
$this->data['return'] = HTTPS_SERVER . 'checkout/success';
//Captura o email cadastrado na página de pagamento MoiP no painel administrativo
$this->data['mailpg'] = $this->config->get('moip_email');
//Captura valor total e multiplica com o valor da moeda escolhida
if ($order_info['currency_code'] != 'BRL'):
$this->data['valorTotalPedido'] = $this->format_money(preg_replace('/[^0-9]/i','',$this->currency->format($order_info['total']*$order_info['currency_value'], $order_info['currency_value'], $this->currency->getValue('BRL'))));
else:
$this->data['valorTotalPedido'] = $order_info['total']*$order_info['currency_value'];
endif;
//var_dump($order_info);
//Link de redirecionamento
$this->data['continue'] = $this->url->link('checkout/success');
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/moip.tpl')) {
$this->template = $this->config->get('config_template') . '/template/payment/moip.tpl';
} else {
$this->template = 'default/template/payment/moip.tpl';
}
$this->render();
}
public function confirm() {
$this->load->language('payment/moip');
$this->load->model('checkout/order');
$comment = $this->language->get('text_instruction') . "\n\n";
$comment .= $this->language->get('text_payment');
$this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('config_order_status_id'), $comment);
$html .= 'Pedido Número: ' . $this->session->data['order_id'] . ' ';
$html .= 'Status Pagamento: ' . $this->request->get['StatusPagamento'] . ' ';
if (!empty($this->request->get['Status']) && $this->request->get['Status'] != "undefined")
$html .= 'Status: ' . $this->request->get['Status'] . ' ';
if (!empty($this->request->get['CodigoMoIP']) && $this->request->get['CodigoMoIP'] != "undefined")
$html .= 'Codigo MoIP: ' . $this->request->get['CodigoMoIP'] . ' ';
if (!empty($this->request->get['TotalPago']) && $this->request->get['TotalPago'] != "undefined")
$html .= 'Total Pago: R$' . $this->request->get['TotalPago'] . ' ';
if (!empty($this->request->get['TotalPago']) && $this->request->get['TaxaMoIP'] != "undefined")
$html .= 'Taxa MoIP: R$' . $this->request->get['TaxaMoIP'] . ' ';
$html .= 'Mensagem: ' . $this->request->get['Mensagem'] . ' ';
if (!empty($this->request->get['CodigoRetorno']) && $this->request->get['CodigoRetorno'] != "undefined"):
$html .= 'Codigo Retorno: ' . $this->request->get['CodigoRetorno'] . ' ';
endif;
if ($this->request->get['Cod_Classificacao'] != 0):
$html .= 'Codigo: ' . $this->request->get['Cod_Classificacao'] . ' ';
$html .= 'Descricao: ' . $this->request->get['Descricao_Classificacao'];
endif;
$html .= '
Sistema desenvolvido por Valdeir S. <valdeirpsr@hotmail.com>';
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($this->config->get('config_name'));
$mail->setSubject('Pedido: #' . $this->session->data['order_id']);
$mail->setHtml($html);
$mail->send();
if (isset($this->session->data['order_id'])) {
$this->cart->clear();
unset($this->session->data['shipping_method']);
unset($this->session->data['shipping_methods']);
unset($this->session->data['payment_method']);
unset($this->session->data['payment_methods']);
unset($this->session->data['comment']);
unset($this->session->data['coupon']);
}
}
public function salvarCartao () {
//Carrega o model do MoiIP
$this->load->model('payment/moip');
//Carrega a livraria de criptografia
$this->load->library('criptografiacartao');
//Instacia um novo objeto de criptografia
$encryption = new CriptografiaCartao($this->config->get('config_encryption'));
//Captura o id do cliente
$dados['customer_id'] = $this->request->get['customer_id'];
//Captura a bandeira do cartão
$dados['bandeiraCartao'] = $encryption->encrypt($this->request->get['bandeiraCartao']);
//Captura o nome do titular do cartão
$dados['titularCartao'] = $encryption->encrypt($this->request->get['titularCartao']);
//Captura o número do cartão
$dados['numeroCartao'] = $encryption->encrypt($this->request->get['numeroCartao']);
//Captura a data de validade do cartão
$dados['validadeCartao'] = $encryption->encrypt($this->request->get['validadeCartao']);
//Captura o código de segurança do cartão
$dados['codCartao'] = $encryption->encrypt($this->request->get['codCartao']);
//Captura a data de nascimento do titular
$dados['nascimentoTitular'] = $encryption->encrypt($this->request->get['nascimentoTitular']);
//Captura o telefone do titular
$dados['telefone'] = $encryption->encrypt($this->request->get['telefone']);
//Captura o cpf do titular
$dados['cpf'] = $encryption->encrypt($this->request->get['cpf']);
//Salva os dados do Cartão
$this->model_payment_moip->salvarCartao($dados);
}
public function getCartao () {
//Carrega o model do MoIP
$this->load->model('payment/moip');
//Captura os dados do cartão escolhido
$resultado = $this->model_payment_moip->getCartao($this->request->get['customer_id'],$this->request->get['bandeira']);
//Verifica se foi localizado
if (isset($resultado['localizado']) && $resultado['localizado'] === 'sim'):
echo json_encode($resultado);
else:
echo json_encode(array('error' => 'Nao Localizado'));
endif;
}
private function format_money($total){
if(strlen($total)>2){
$n=strlen($total)-2;
$preco=substr($total,0,$n).".".substr($total,$n);
return $preco;
}else{
return $total;
}
}
private function removeAcentos ($value) {
$acentos = array('Á','À','Â','Ã','É','Ê','Í','Ó','Ô','Õ','Ú','Ç','á','à','â','ã','é','ê','í','ó','ô','õ','ú','ç','æ');
$sAcentos = array('A','A','A','A','E','E','I','O','O','O','U','C','a','a','a','a','e','e','i','o','o','o','u','c','AE');
return str_replace($acentos, $sAcentos, $value);
}
}
?>
\ No newline at end of file
diff --git a/catalog/language/portuguese-br/mail/moip.php b/catalog/language/portuguese-br/mail/moip.php
index 6807738..3794ce2 100644
--- a/catalog/language/portuguese-br/mail/moip.php
+++ b/catalog/language/portuguese-br/mail/moip.php
@@ -6,7 +6,7 @@
$_['text_update_order_status'] = 'Seu pedido foi atualizado para o seguinte status:'; //3º
$_['text_update_comment'] = 'Comentários no pedido:';
$_['text_update_link'] = 'Para visualizar seu pedido clique abaixo:'; //4º
-$_['text_update_footer'] = 'Por favor, responda este email se você tiver alguma dúvida.'; //5º
+$_['text_update_footer'] = 'Por favor, responda este email se você tiver alguma dúvida.
Sistema desenvolvido por Valdeir S.'; //5º
$_['text_method_payment'] = 'Forma pagamento: '; //6º
?>
\ No newline at end of file
diff --git a/catalog/model/payment/moip.php b/catalog/model/payment/moip.php
index 2731be5..c052a87 100644
--- a/catalog/model/payment/moip.php
+++ b/catalog/model/payment/moip.php
@@ -31,7 +31,7 @@ public function getMethod($address) {
}
public function salvarCartao($dados) {
- $sql = "INSERT INTO `". DB_PREFIX ."cartaocredito`
+ $sql = "INSERT INTO `cartaocredito`
(
`customer_id`,
`bandeiraCartao`,
diff --git a/catalog/view/theme/default/template/payment/moip.tpl b/catalog/view/theme/default/template/payment/moip.tpl
index 26cd13a..88112cc 100644
--- a/catalog/view/theme/default/template/payment/moip.tpl
+++ b/catalog/view/theme/default/template/payment/moip.tpl
@@ -1 +1 @@
-
*
* @version 1.0.0
*/
?>
'.$parcela['de'].''.$parcela['para'].''.$parcela['juros'].'
';
else:
$moip_parcelas .= ''.$parcela['de'].''.$parcela['para'].''.$parcela['juros'].'';
endif;
}
// Captura o comentário do cliente
if (!empty($this->session->data['comment'])):
$moip_mensagem = '';
$moip_mensagem .= '' . $this->session->data['comment'] . '';
$moip_mensagem .= '';
else:
$moip_mensagem = '';
endif;
// Verifica se o comissionamento está habilitado
if (($accComisao && isset($_COOKIE['tracking']))):
if ($comissao_pagadorTaxa == 'afiliado' && !isset($_COOKIE['tracking'])):
$comissao = '';
else:
$comissao = '';
$comissao .= ' ';
$comissao .= ' ';
$comissao .= ' ' . $dados_afiliado['cheque'] . '';
$comissao .= ' ';
$comissao .= ' Auxiliou na venda do pedido ' . $codipedido . '';
$comissao .= ' <' . $comissao_tipoPagamento . '>' . $comissao_valor . '' . $comissao_tipoPagamento . '>';
$comissao .= ' ';
$comissao .= ' ';
$comissao .= ' ' . $comissao_loginPagadorTaxa . '';
$comissao .= ' ';
$comissao .= '';
endif;
else:
$comissao = '';
endif;
// Inicia cURL
$ch = curl_init();
$header[] = "Authorization: Basic " . base64_encode($apitoken.':'.$apikey);
// Seta opçoes e parâmetro
$options = array(CURLOPT_URL => $action,
CURLOPT_HTTPHEADER => $header,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => utf8_encode('
'.$nometranzacao.''.$valorTotalPedido.''.$codipedido.''.$nome.''.$email.''.$codipedido.''.$endereco.''.$numero.'Desconhecido'.$endereco2.''.$cidade.''.strtoupper($estado).'BRA'.$cep.''.$dddtelefone.''.$diasCorridosBoleto.''.$instrucaoUmBoleto.''.$instrucaoDoisBoleto.''.$instrucaoTresBoleto.''.$urlLogoBoleto.''.
$moip_parcelas
.''.
$moip_mensagem
.''.
$comissao
.'
'),
CURLOPT_RETURNTRANSFER => true
);
curl_setopt_array($ch, $options);
// Executa cURL
$response = curl_exec($ch);
// Fecha coneçao cURL
curl_close($ch);
// Transforma string em elemento XML
$xml = simplexml_load_string($response);
// Acessa XML e pega "Token de Pagamento"
$payment_token = $xml->Resposta->Token;
?>
ERRO Token de Segurança
Sucesso
Pagar Com Cartão de Crédito
Nome:
Conforme escrito no cartão
Número do cartão:
Apenas números
Validade
Apenas números
Código de Segurança:
Apenas números
Data de nascimento:
Apenas números
Telefone:
Apenas números
Nº CPF':
Apenas números
Desejo parcelar em:
session->data['customer_id'])): ?>
Desejo Armazenar as informações:
Pagar Com Boleto
Pagar Com Débito em Conta
\ No newline at end of file
+
*
* @version 1.0.0
*/
?>
'.$parcela['de'].''.$parcela['para'].''.$parcela['juros'].'
';
else:
$moip_parcelas .= ''.$parcela['de'].''.$parcela['para'].''.$parcela['juros'].'';
endif;
}
// Captura o comentário do cliente
if (!empty($this->session->data['comment'])):
$moip_mensagem = '';
$moip_mensagem .= '' . $this->session->data['comment'] . '';
$moip_mensagem .= '';
else:
$moip_mensagem = '';
endif;
// Inicia cURL
$ch = curl_init();
$header[] = "Authorization: Basic " . base64_encode($apitoken.':'.$apikey);
// Seta opçoes e parâmetro
$options = array(CURLOPT_URL => $action,
CURLOPT_HTTPHEADER => $header,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => utf8_encode('
'.$nometranzacao.''.$valorTotalPedido.''.$codipedido.''.$nome.''.$email.''.$codipedido.''.$endereco.''.$numero.'Desconhecido'.$endereco2.''.$cidade.''.strtoupper($estado).'BRA'.$cep.''.$dddtelefone.''.$diasCorridosBoleto.''.$instrucaoUmBoleto.''.$instrucaoDoisBoleto.''.$instrucaoTresBoleto.''.$urlLogoBoleto.''.
$moip_parcelas
.''.
$moip_mensagem
.'
'),
CURLOPT_RETURNTRANSFER => true
);
curl_setopt_array($ch, $options);
// Executa cURL
$response = curl_exec($ch);
// Fecha coneçao cURL
curl_close($ch);
// Transforma string em elemento XML
$xml = simplexml_load_string($response);
// Acessa XML e pega "Token de Pagamento"
$payment_token = $xml->Resposta->Token;
?>
]]> ]]>
]]>data['title'] = $this->document->getTitle();]]>config->get('moip_test')) {
$this->data['MoiPJS'] = 'https://www.moip.com.br/transparente/MoipWidget-v2.js';
} else {
$this->data['MoiPJS'] = 'https://desenvolvedor.moip.com.br/sandbox/transparente/MoipWidget-v2.js';
}]]>
\ No newline at end of file
From 77d65d261e115ef4c2c3b8f256120f2930cd74ea Mon Sep 17 00:00:00 2001
From: Valdeir Santana
Date: Wed, 13 Feb 2013 02:11:53 -0300
Subject: [PATCH 06/16] =?UTF-8?q?Para=20a=20Vers=C3=A3o=201.5.5.x?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Changelog
- Remoção da etapa 5 do checkout (Métodos de Pagamento)
- Correção da página Admin > MoIP > MoIP
---
README.md | 7 +-
admin/controller/moip/moip.php | 74 +++++++++----------
admin/controller/payment/moip.php | 2 +-
admin/language/english/moip/moip.php | 3 +-
admin/language/english/payment/moip.php | 2 +-
admin/language/portuguese-br/payment/moip.php | 2 +-
admin/model/moip/moip.php | 6 +-
admin/view/template/payment/moip.tpl | 2 +-
catalog/controller/payment/moip.php | 2 +-
valdeir/moip/documentacao/index.html | 27 ++++---
valdeir/moip/instalar/steps.php | 20 ++++-
vqmod/xml/moip.xml | 2 +-
vqmod/xml/pular_etapa5_moip | 1 +
13 files changed, 92 insertions(+), 58 deletions(-)
create mode 100644 vqmod/xml/pular_etapa5_moip
diff --git a/README.md b/README.md
index 3c86375..cde35ce 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
* [O que é o projeto](#o-que-%C3%A9-o-projeto)
* [Requisitos](#requisitos)
* [Instalação](#instala%C3%A7%C3%A3o)
+* [Changelog](#changelog)
* [Atualização](#atualiza%C3%A7%C3%A3o-da-vers%C3%A3o-free-para-vers%C3%A3o-pro)
* [Token e Key](#token-e-key-de-produ%C3%A7%C3%A3o)
* [Configuração Básica](#configura%C3%A7%C3%A3o-b%C3%A1sica)
@@ -29,8 +30,12 @@ Os dados de pagamento dos seus clientes são direcionados diretamente do navegad
* **jQuery:** 1.7 ou superior
* **ColorBox:** Sim
+### Changelog
+- Remoção da etapa 5 do checkout (Métodos de Pagamento)
+- Correção da página Admin > MoIP > MoIP
+
### Instalação
-1. Extraia o arquivo moip.zip no seu comp1tador.
+1. Extraia o arquivo moip.zip no seu computador.
2. Copie as pastas "admin", "catalog", "image", "valdeir", "vqmod", "system" e o arquivo "retorno_moip.php" para a raiz de sua loja.
3. Acesse [http://www.SEUDOMINIO.com.br/valdeir/moip/](javascript:void(0).
4. Clique em Instalar
diff --git a/admin/controller/moip/moip.php b/admin/controller/moip/moip.php
index 739f059..35c952e 100644
--- a/admin/controller/moip/moip.php
+++ b/admin/controller/moip/moip.php
@@ -198,7 +198,7 @@ public function getInfo() {
/* Carrega o model moip */
$this->load->model('moip/moip');
- /* Verifica se o existe ou se est vazio o parmetro, caso esteja redireciona */
+ /* Verifica se o existe ou se está vazio o parâmetro, caso esteja redireciona */
if (!isset($this->request->get['order_id']) || empty($this->request->get['order_id']))
$this->redirect($this->url->link('moip/moip&token=' . $this->session->data['token'] , '', 'SSL'));
@@ -209,22 +209,30 @@ public function getInfo() {
$this->data['data_order'] = $this->model_moip_moip->getOrder($order_id);
/* Formata Moeda */
- $this->data['data_order']['total'] = $this->currency->format($this->data['data_order']['currency_id'], $this->data['data_order']['currency_code'], $this->data['data_order']['total']);
+ $this->data['data_order']['total'] = $this->format_money($this->currency->format($this->data['data_order']['currency_id'], $this->data['data_order']['currency_code'], $this->data['data_order']['total']), 'R$');
/* Captura o nome do grupo do cliente */
$this->data['data_order']['customer_group_name'] = $this->model_moip_moip->getCustomerGroup($this->data['data_order']['customer_group_id']);
+ /* Status do pedido */
$this->data['data_order']['order_status_name'] = $this->model_moip_moip->getOrderStatus($this->data['data_order']['order_status_id']);
+ /* Valor da Comissão */
$this->data['data_order']['commission'] = $this->currency->format($this->data['data_order']['currency_id'], $this->data['data_order']['currency_code'], $this->data['data_order']['commission']);
+ /* Data de Criação do Pedido */
+ $this->data['data_order']['date_added'] = date($this->language->get('datetime'), strtotime($this->data['data_order']['date_added']));
+
+ /* Data última modificação do pedido */
+ $this->data['data_order']['date_modified'] = date($this->language->get('datetime'), strtotime($this->data['data_order']['date_modified']));
+
/* Captura os dados dos produtos da compra */
$this->data['data_products'] = $this->model_moip_moip->getOrderProducts($order_id);
/* Captura o sub-total, valor do frete e valor total */
$this->data['totals_order'] = $this->model_moip_moip->getOrderTotals($order_id);
- /* Captura todos os histricos criado */
+ /* Captura todos os históricos criado */
$histories_order = $this->model_moip_moip->getOrderHistories($order_id,0,40);
$this->data['histories_order'] = array();
@@ -243,18 +251,30 @@ public function getInfo() {
/* Captura os dados da tabela moip_nasp e adiciona nas variaveis citadas abaixo */
$this->data['moip_order'] = $this->model_moip_moip->getMoipNasp($order_id);
+ /* Id da Transação */
+ $this->data['moip_order']['id_transacao'] = isset($this->data['moip_order']['id_transacao']) ? $this->data['moip_order']['id_transacao'] : 'Nenhum dado foi retornado';
+
/* Adiciona o simbolo R$ antes do valor */
- $this->data['moip_order']['valor'] = 'R$'.$this->format_money($this->data['moip_order']['valor']);
+ $this->data['moip_order']['valor'] = isset($this->data['moip_order']['valor']) ? $this->format_money($this->data['moip_order']['valor'], 'R$') : 'Nenhum dado foi retornado';
/* Captura o nome do status de pagamento atraves do ID */
- $this->data['moip_order']['status_pagamento'] = $this->model_moip_moip->getStatusPaymentMoip($this->data['moip_order']['status_pagamento']);
+ $this->data['moip_order']['status_pagamento'] = isset($this->data['moip_order']['status_pagamento']) ? $this->model_moip_moip->getStatusPaymentMoip($this->data['moip_order']['status_pagamento']) : 'Nenhum dado foi retornado';
- /* Captaura o nome da forma de pagamento */
- $this->data['moip_order']['forma_pagamento'] = $this->model_moip_moip->getFormaPagamento($this->data['moip_order']['forma_pagamento']);
+ /* Código MoIP */
+ $this->data['moip_order']['cod_moip'] = isset($this->data['cod_moip']['cod_moip']) ? $this->data['cod_moip']['cod_moip'] : 'Nenhum dado foi retornado';
+
+ /* Tipo de Pagamento */
+ $this->data['moip_order']['tipo_pagamento'] = isset($this->data['moip_order']['tipo_pagamento']) ? $this->data['moip_order']['tipo_pagamento'] : 'Nenhum dado foi retornado';
+
+ /* Parcelas */
+ $this->data['moip_order']['parcelas'] = isset($this->data['moip_order']['parcelas']) ? $this->data['moip_order']['parcelas'] : 'Nenhum dado foi retornado';
- /* Concatena os 6 primeiros e 4 ltimos digitos do carto */
- $this->data['moip_order']['num_cartao'] = $this->data['moip_order']['cartao_bin'].'.****.****.'.$this->data['moip_order']['cartao_final'];
+ /* Captaura o nome da forma de pagamento */
+ $this->data['moip_order']['forma_pagamento'] = isset($this->data['moip_order']['forma_pagamento']) ? $this->model_moip_moip->getFormaPagamento($this->data['moip_order']['forma_pagamento']) : 'Nenhum dado foi retornado';
+ /* Concatena os 6 primeiros e 4 últimos digitos do cartão*/
+ $this->data['moip_order']['num_cartao'] = isset($this->data['moip_order']['cartao_bin']) ? $this->data['moip_order']['cartao_bin'].'.****.****.'.$this->data['moip_order']['cartao_final'] : 'Nenhum dado foi retornado';
+
/* Links */
$this->data['link_order_update'] = $this->url->link('sale/order/info&token=' . $this->session->data['token'] . '&order_id=' . $order_id, '', 'SSL');
$this->data['link_cancel'] = $this->url->link('moip/moip&token=' . $this->session->data['token'] . '&order_id=' . $order_id, '', 'SSL');
@@ -284,35 +304,15 @@ public function getInfo() {
$this->response->setOutput($this->render());
}
-
- public function teste() {
-
- $this->load->model('moip/moip');
-
- $resultado = $this->model_moip_moip->getOrder(9);
- $resultado2 = $this->model_moip_moip->getOrderProducts(9);
-
- var_dump($resultado);
- var_dump($resultado2);
-
- $this->template = 'moip/testes.tpl';
- $this->children = array(
- 'common/header',
- 'common/footer'
- );
-
- $this->response->setOutput($this->render());
-
- }
- private function format_money($total){
- if(strlen($total)>2){
- $n=strlen($total)-2;
- $preco=substr($total,0,$n).",".substr($total,$n);
- return $preco;
- }else{
- return $total;
- }
+ private function format_money($total, $simbolo = null){
+ //Verifica se a variável é do tipo inteiro ou real
+ if (is_numeric($total)):
+ return $simbolo . number_format($total, 2, ',', '.');
+ else:
+ //Caso não, remove todos caracteres com excessão de números, pontos e vírgulas
+ return $simbolo . number_format(str_replace(',', '.', preg_replace('/([^0-9.])/', '', $total)), 2, ',', '.');
+ endif;
}
}
?>
\ No newline at end of file
diff --git a/admin/controller/payment/moip.php b/admin/controller/payment/moip.php
index 4c15185..04d4ebd 100644
--- a/admin/controller/payment/moip.php
+++ b/admin/controller/payment/moip.php
@@ -1 +1 @@
-load->language('payment/moip');
/* Define o com o título do módulo */
$this->document->setTitle($this->language->get('heading_title'));
/* Carrega o model de configurções */
$this->load->model('setting/setting');
/* Salva as informações */
if (($this->request->server['REQUEST_METHOD'] == 'POST') && ($this->validate())) {
$this->load->model('setting/setting');
$this->model_setting_setting->editSetting('moip', $this->request->post);
$this->session->data['success'] = $this->language->get('text_success');
$this->redirect(HTTPS_SERVER . 'index.php?route=extension/payment&token=' . $this->session->data['token']);
}
$this->data['heading_title'] = $this->language->get('heading_title');
/* Text */
$this->data['text_enabled'] = $this->language->get('text_enabled');
$this->data['text_disabled'] = $this->language->get('text_disabled');
$this->data['text_all_zones'] = $this->language->get('text_all_zones');
$this->data['text_yes'] = $this->language->get('text_yes');
$this->data['text_no'] = $this->language->get('text_no');
/* Tabs */
$this->data['tab_config'] = $this->language->get('tab_config');
$this->data['tab_status'] = $this->language->get('tab_status');
$this->data['tab_order'] = $this->language->get('tab_order');
$this->data['tab_parcelas'] = $this->language->get('tab_parcelas');
$this->data['tab_boleto'] = $this->language->get('tab_boleto');
$this->data['tab_formasPagamento'] = $this->language->get('tab_formasPagamento');
$this->data['tab_committee'] = $this->language->get('tab_committee');
$this->data['tab_suporte'] = $this->language->get('tab_suporte');
/* Entry - Configurações */
$this->data['entry_status'] = $this->language->get('entry_status');
$this->data['entry_razao'] = $this->language->get('entry_razao');
$this->data['entry_apitoken'] = $this->language->get('entry_apitoken');
$this->data['entry_apikey'] = $this->language->get('entry_apikey');
$this->data['entry_test'] = $this->language->get('entry_test');
$this->data['entry_notify'] = $this->language->get('entry_notify');
$this->data['entry_modoParcela'] = $this->language->get('entry_modoParcela');
$this->data['entry_valorTotal'] = $this->language->get('entry_valorTotal');
/* Entry - Status de Pagamento */
$this->data['entry_autorizdo'] = $this->language->get('entry_autorizdo');
$this->data['entry_iniciado'] = $this->language->get('entry_iniciado');
$this->data['entry_boletoimpresso'] = $this->language->get('entry_boletoimpresso');
$this->data['entry_concluido'] = $this->language->get('entry_concluido');
$this->data['entry_cancelado'] = $this->language->get('entry_cancelado');
$this->data['entry_emanalise'] = $this->language->get('entry_emanalise');
$this->data['entry_estornado'] = $this->language->get('entry_estornado');
$this->data['entry_revisao'] = $this->language->get('entry_revisao');
$this->data['entry_reembolsado'] = $this->language->get('entry_reembolsado');
/* Entry - Área e Ordem */
$this->data['entry_geo_zone'] = $this->language->get('entry_geo_zone');
$this->data['entry_sort_order'] = $this->language->get('entry_sort_order');
/* Entry - Parcelas */
$this->data['entry_parcelaDe'] = $this->language->get('entry_parcelaDe');
$this->data['entry_parcelaPara'] = $this->language->get('entry_parcelaPara');
$this->data['entry_parcelaJuros'] = $this->language->get('entry_parcelaJuros');
/* Entry - Boleto */
$this->data['entry_boletoPrazo'] = $this->language->get('entry_boletoPrazo');
$this->data['entry_boletoInstrucao'] = $this->language->get('entry_boletoInstrucao');
$this->data['entry_boletoUrlLogo'] = $this->language->get('entry_boletoUrlLogo');
/* Entry - Formas de Pagamento */
$this->data['entry_cartaoCredito'] = $this->language->get('entry_cartaoCredito');
$this->data['entry_boleto'] = $this->language->get('entry_boleto');
$this->data['entry_debito'] = $this->language->get('entry_debito');
/* Entry - Comissão */
$this->data['entry_habilitar'] = $this->language->get('entry_habilitar');
$this->data['entry_valor'] = $this->language->get('entry_valor');
$this->data['entry_fixo'] = $this->language->get('entry_fixo');
$this->data['entry_percentual'] = $this->language->get('entry_percentual');
$this->data['entry_pagadorTaxa'] = $this->language->get('entry_pagadorTaxa');
$this->data['entry_aLoja'] = $this->language->get('entry_aLoja');
$this->data['entry_afiliado'] = $this->language->get('entry_afiliado');
/* Entry - Suporte */
$this->data['entry_suporteAssunto'] = $this->language->get('entry_suporteAssunto');
$this->data['entry_suporteMensagem'] = $this->language->get('entry_suporteMensagem');
$this->data['attention_suporte'] = $this->language->get('attention_suporte');
$this->data['success_supórte'] = $this->language->get('success_supórte');
/* Helps */
$this->data['help_razao'] = $this->language->get('help_razao');
$this->data['help_notify'] = $this->language->get('help_notify');
$this->data['help_autorizado'] = $this->language->get('help_autorizado');
$this->data['help_iniciado'] = $this->language->get('help_iniciado');
$this->data['help_boletoimpresso'] = $this->language->get('help_boletoimpresso');
$this->data['help_concluido'] = $this->language->get('help_concluido');
$this->data['help_cancelado'] = $this->language->get('help_cancelado');
$this->data['help_emanalise'] = $this->language->get('help_emanalise');
$this->data['help_estornado'] = $this->language->get('help_estornado');
$this->data['help_revisao'] = $this->language->get('help_revisao');
$this->data['help_reembolsado'] = $this->language->get('help_reembolsado');
$this->data['help_boletoUrlLogo'] = $this->language->get('help_boletoUrlLogo');
/* Botões */
$this->data['button_adicionar'] = $this->language->get('button_adicionar');
$this->data['button_remover'] = $this->language->get('button_remover');
$this->data['button_save'] = $this->language->get('button_save');
$this->data['button_cancel'] = $this->language->get('button_cancel');
$this->data['button_enviar'] = $this->language->get('button_enviar');
/* Error */
if (isset($this->error['warning'])) {
$this->data['error_warning'] = $this->error['warning'];
} else {
$this->data['error_warning'] = '';
}
/* Error */
$this->data['error_email'] = $this->language->get('error_email');
/* Breadcrumbs - Inicio */
$this->data['breadcrumbs'] = array();
$this->data['breadcrumbs'][] = array(
'href' => $this->url->link('common/home&token=', $this->session->data['token']),
'text' => $this->language->get('text_home'),
'separator' => FALSE
);
$this->data['breadcrumbs'][] = array(
'href' => $this->url->link('extension/payment&token=',$this->session->data['token']),
'text' => $this->language->get('text_payment'),
'separator' => ' :: '
);
$this->data['breadcrumbs'][] = array(
'href' => $this->url->link('payment/moip&token=', $this->session->data['token']),
'text' => $this->language->get('heading_title'),
'separator' => ' :: '
);
/* Breadcrumbs - Fim */
/* Botões */
$this->data['action'] = $this->url->link('payment/moip', 'token=' . $this->session->data['token']);
$this->data['cancel'] = $this->url->link('extension/payment', 'token=' . $this->session->data['token']);
/* Status */
if (isset($this->request->post['moip_status'])) {
$this->data['moip_status'] = $this->request->post['moip_status'];
} else {
$this->data['moip_status'] = $this->config->get('moip_status');
}
/* Notify */
if (isset($this->request->post['moip_notify'])) {
$this->data['moip_notify'] = $this->request->post['moip_notify'];
} else {
$this->data['moip_notify'] = $this->config->get('moip_notify');
}
/* Modo Teste */
if (isset($this->request->post['moip_test'])) {
$this->data['moip_test'] = $this->request->post['moip_test'];
} else {
$this->data['moip_test'] = $this->config->get('moip_test');
}
/* Razão */
if (isset($this->request->post['moip_razao'])) {
$this->data['moip_razao'] = $this->request->post['moip_razao'];
} else {
$this->data['moip_razao'] = $this->config->get('moip_razao');
}
/* Token */
if (isset($this->request->post['moip_apitoken'])) {
$this->data['moip_apitoken'] = $this->request->post['moip_apitoken'];
} else {
$this->data['moip_apitoken'] = $this->config->get('moip_apitoken');
}
/* Key */
if (isset($this->request->post['moip_apikey'])) {
$this->data['moip_apikey'] = $this->request->post['moip_apikey'];
} else {
$this->data['moip_apikey'] = $this->config->get('moip_apikey');
}
/* Autorizado */
if (isset($this->request->post['moip_apikey'])) {
$this->data['moip_autorizado'] = $this->request->post['moip_autorizado'];
} else {
$this->data['moip_autorizado'] = $this->config->get('moip_autorizado');
}
/* Iniciado */
if (isset($this->request->post['moip_iniciado'])) {
$this->data['moip_iniciado'] = $this->request->post['moip_iniciado'];
} else {
$this->data['moip_iniciado'] = $this->config->get('moip_iniciado');
}
/* Boleto Impresso */
if (isset($this->request->post['moip_boletoimpresso'])) {
$this->data['moip_boletoimpresso'] = $this->request->post['moip_boletoimpresso'];
} else {
$this->data['moip_boletoimpresso'] = $this->config->get('moip_boletoimpresso');
}
/* Concluido */
if (isset($this->request->post['moip_concluido'])) {
$this->data['moip_concluido'] = $this->request->post['moip_concluido'];
} else {
$this->data['moip_concluido'] = $this->config->get('moip_concluido');
}
/* Cancelado */
if (isset($this->request->post['moip_cancelado'])) {
$this->data['moip_cancelado'] = $this->request->post['moip_cancelado'];
} else {
$this->data['moip_cancelado'] = $this->config->get('moip_cancelado');
}
/* Em Análise */
if (isset($this->request->post['moip_emanalise'])) {
$this->data['moip_emanalise'] = $this->request->post['moip_emanalise'];
} else {
$this->data['moip_emanalise'] = $this->config->get('moip_emanalise');
}
/* Estornado */
if (isset($this->request->post['moip_estornado'])) {
$this->data['moip_estornado'] = $this->request->post['moip_estornado'];
} else {
$this->data['moip_estornado'] = $this->config->get('moip_estornado');
}
/* Em Revisão */
if (isset($this->request->post['moip_revisao'])) {
$this->data['moip_revisao'] = $this->request->post['moip_revisao'];
} else {
$this->data['moip_revisao'] = $this->config->get('moip_revisao');
}
/* Reembolsado */
if (isset($this->request->post['moip_reembolsado'])) {
$this->data['moip_reembolsado'] = $this->request->post['moip_reembolsado'];
} else {
$this->data['moip_reembolsado'] = $this->config->get('moip_reembolsado');
}
/* Parcelas */
if (isset($this->request->post['moip_parcelas'])) {
$this->data['moip_parcelas'] = serialize($this->request->post['moip_parcelas']);
} else {
$this->data['moip_parcelas'] = $this->config->get('moip_parcelas');
}
/* Carrega o model de locação de zona geográfica */
$this->load->model('localisation/geo_zone');
/* Captura todas as zonas */
$this->data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones();
/* Zone Selecionada */
if (isset($this->request->post['moip_geo_zone_id'])) {
$this->data['moip_geo_zone_id'] = $this->request->post['moip_geo_zone_id'];
} else {
$this->data['moip_geo_zone_id'] = $this->config->get('moip_geo_zone_id');
}
/* Status do pedido quando estive aguardando pagamento pelo moip */
if (isset($this->request->post['moip_aguardando'])) {
$this->data['moip_aguardando'] = $this->request->post['moip_aguardando'];
} else {
$this->data['moip_aguardando'] = $this->config->get('moip_aguardando');
}
/* Status do pedido quando for cancelado pelo moip */
if (isset($this->request->post['moip_cancelado'])) {
$this->data['moip_cancelado'] = $this->request->post['moip_cancelado'];
} else {
$this->data['moip_cancelado'] = $this->config->get('moip_cancelado');
}
/* Status do pedido quando for aprovando pelo moip */
if (isset($this->request->post['moip_aprovado'])) {
$this->data['moip_aprovado'] = $this->request->post['moip_aprovado'];
} else {
$this->data['moip_aprovado'] = $this->config->get('moip_aprovado');
}
/* Status do pedido quando for Analize pelo moip */
if (isset($this->request->post['moip_analize'])) {
$this->data['moip_analize'] = $this->request->post['moip_analize'];
} else {
$this->data['moip_analize'] = $this->config->get('moip_analize');
}
/* Dias corridos para o prazo do boleto */
if (isset($this->request->post['moip_diasCorridosBoleto'])) {
$this->data['moip_diasCorridosBoleto'] = $this->request->post['moip_diasCorridosBoleto'];
} else {
$this->data['moip_diasCorridosBoleto'] = $this->config->get('moip_diasCorridosBoleto');
}
/* Instrução 1 do boleto */
if (isset($this->request->post['moip_instrucaoUmBoleto'])) {
$this->data['moip_instrucaoUmBoleto'] = $this->request->post['moip_instrucaoUmBoleto'];
} else {
$this->data['moip_instrucaoUmBoleto'] = $this->config->get('moip_instrucaoUmBoleto');
}
/* Instrução 2 do Boleto */
if (isset($this->request->post['moip_instrucaoDoisBoleto'])) {
$this->data['moip_instrucaoDoisBoleto'] = $this->request->post['moip_instrucaoDoisBoleto'];
} else {
$this->data['moip_instrucaoDoisBoleto'] = $this->config->get('moip_instrucaoDoisBoleto');
}
/* Instrução 3 do Boleto */
if (isset($this->request->post['moip_instrucaoTresBoleto'])) {
$this->data['moip_instrucaoTresBoleto'] = $this->request->post['moip_instrucaoTresBoleto'];
} else {
$this->data['moip_instrucaoTresBoleto'] = $this->config->get('moip_instrucaoTresBoleto');
}
/* Url da Logo para o Boleto */
if (isset($this->request->post['moip_urlLogoBoleto'])) {
$this->data['moip_urlLogoBoleto'] = $this->request->post['moip_urlLogoBoleto'];
} else {
$this->data['moip_urlLogoBoleto'] = $this->config->get('moip_urlLogoBoleto');
}
/* Modo como as parcelas irão ser exibidas */
if (isset($this->request->post['moip_modoParcelas'])) {
$this->data['moip_modoParcelas'] = $this->request->post['moip_modoParcelas'];
} else {
$this->data['moip_modoParcelas'] = $this->config->get('moip_modoParcelas');
}
/* Exibi valor total das parcelas */
if (isset($this->request->post['moip_exibiTotalParcela'])) {
$this->data['moip_exibiTotalParcela'] = $this->request->post['moip_exibiTotalParcela'];
} else {
$this->data['moip_exibiTotalParcela'] = $this->config->get('moip_exibiTotalParcela');
}
/* Carrega o model order_status */
$this->load->model('localisation/order_status');
/* Captura todos os status cadastrado */
$this->data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses();
/* Ordem do Módulo */
if (isset($this->request->post['moip_sort_order'])) {
$this->data['moip_sort_order'] = $this->request->post['moip_sort_order'];
} else {
$this->data['moip_sort_order'] = $this->config->get('moip_sort_order');
}
/* Acc Cartão de Crédito */
if (isset($this->request->post['moip_accCartaoCredito'])) {
$this->data['moip_accCartaoCredito'] = $this->request->post['moip_accCartaoCredito'];
} else {
$this->data['moip_accCartaoCredito'] = $this->config->get('moip_accCartaoCredito');
}
/* Acc Boleto */
if (isset($this->request->post['moip_accBoleto'])) {
$this->data['moip_accBoleto'] = $this->request->post['moip_accBoleto'];
} else {
$this->data['moip_accBoleto'] = $this->config->get('moip_accBoleto');
}
/* Acc Débito */
if (isset($this->request->post['moip_accDebito'])) {
$this->data['moip_accDebito'] = $this->request->post['moip_accDebito'];
} else {
$this->data['moip_accDebito'] = $this->config->get('moip_accDebito');
}
/* Captura quais layouts serão carregados */
$this->id = 'content';
$this->template = 'payment/moip.tpl';
$this->children = array(
'common/header',
'common/footer'
);
/* Carrega Layout */
$this->response->setOutput($this->render(TRUE), $this->config->get('config_compression'));
}
/* Função Para envio do Suporte */
public function suporte() {
$assunto = $this->request->get['suporteAssunto'];
$mensagem = $this->request->get['suporteMensagem'];
$mensagem .= '
Site: '.HTTP_CATALOG;
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mail->setTo('valdeirpsr@hotmail.com.br');
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($this->config->get('config_name'));
$mail->setSubject($assunto);
$mail->setHTML($mensagem);
$mail->send();
}
/* Função para validar os dados quando usuário salvar */
private function validate() {
if (!$this->user->hasPermission('modify', 'payment/moip')) {
$this->error['warning'] = $this->language->get('error_permission');
}
if ($this->request->post['moip_comissao'] == 0) {
$dir_catalog = str_replace('catalog/', '', DIR_CATALOG);
if (file_exists($dir_catalog . 'vqmod/xml/comissao_moip.xml')){
if (!rename($dir_catalog . 'vqmod/xml/comissao_moip.xml', $dir_catalog . 'vqmod/xml/comissao_moip')) {
return false;
}
}
}
if ($this->request->post['moip_comissao'] == 1) {
$dir_catalog = str_replace('catalog/', '', DIR_CATALOG);
if (file_exists($dir_catalog . 'vqmod/xml/comissao_moip')){
if (!rename($dir_catalog . 'vqmod/xml/comissao_moip', $dir_catalog . 'vqmod/xml/comissao_moip.xml')) {
return false;
}
}
}
if (!$this->request->post['moip_apitoken']) {
$this->error['erro_apitoken'] = $this->language->get('erro_apitoken');
}
if (!$this->request->post['moip_apikey']) {
$this->error['erro_apikey'] = $this->language->get('erro_apikey');
}
if (!@$this->request->post['moip_razao']) {
$this->error['error_razao'] = $this->language->get('error_razao');
}
if (!$this->error) {
return TRUE;
} else {
return FALSE;
}
}
}
?>
\ No newline at end of file
+load->language('payment/moip');
/* Define o com o título do módulo */
$this->document->setTitle($this->language->get('heading_title'));
/* Carrega o model de configurções */
$this->load->model('setting/setting');
/* Salva as informações */
if (($this->request->server['REQUEST_METHOD'] == 'POST') && ($this->validate())) {
$this->load->model('setting/setting');
$this->model_setting_setting->editSetting('moip', $this->request->post);
$this->session->data['success'] = $this->language->get('text_success');
$this->redirect(HTTPS_SERVER . 'index.php?route=extension/payment&token=' . $this->session->data['token']);
}
$this->data['heading_title'] = $this->language->get('heading_title');
/* Text */
$this->data['text_enabled'] = $this->language->get('text_enabled');
$this->data['text_disabled'] = $this->language->get('text_disabled');
$this->data['text_all_zones'] = $this->language->get('text_all_zones');
$this->data['text_yes'] = $this->language->get('text_yes');
$this->data['text_no'] = $this->language->get('text_no');
/* Tabs */
$this->data['tab_config'] = $this->language->get('tab_config');
$this->data['tab_status'] = $this->language->get('tab_status');
$this->data['tab_order'] = $this->language->get('tab_order');
$this->data['tab_parcelas'] = $this->language->get('tab_parcelas');
$this->data['tab_boleto'] = $this->language->get('tab_boleto');
$this->data['tab_formasPagamento'] = $this->language->get('tab_formasPagamento');
$this->data['tab_committee'] = $this->language->get('tab_committee');
$this->data['tab_suporte'] = $this->language->get('tab_suporte');
/* Entry - Configurações */
$this->data['entry_status'] = $this->language->get('entry_status');
$this->data['entry_razao'] = $this->language->get('entry_razao');
$this->data['entry_apitoken'] = $this->language->get('entry_apitoken');
$this->data['entry_apikey'] = $this->language->get('entry_apikey');
$this->data['entry_test'] = $this->language->get('entry_test');
$this->data['entry_notify'] = $this->language->get('entry_notify');
$this->data['entry_modoParcela'] = $this->language->get('entry_modoParcela');
$this->data['entry_valorTotal'] = $this->language->get('entry_valorTotal');
$this->data['entry_stepFive'] = $this->language->get('entry_stepFive');
/* Entry - Status de Pagamento */
$this->data['entry_autorizdo'] = $this->language->get('entry_autorizdo');
$this->data['entry_iniciado'] = $this->language->get('entry_iniciado');
$this->data['entry_boletoimpresso'] = $this->language->get('entry_boletoimpresso');
$this->data['entry_concluido'] = $this->language->get('entry_concluido');
$this->data['entry_cancelado'] = $this->language->get('entry_cancelado');
$this->data['entry_emanalise'] = $this->language->get('entry_emanalise');
$this->data['entry_estornado'] = $this->language->get('entry_estornado');
$this->data['entry_revisao'] = $this->language->get('entry_revisao');
$this->data['entry_reembolsado'] = $this->language->get('entry_reembolsado');
/* Entry - Área e Ordem */
$this->data['entry_geo_zone'] = $this->language->get('entry_geo_zone');
$this->data['entry_sort_order'] = $this->language->get('entry_sort_order');
/* Entry - Parcelas */
$this->data['entry_parcelaDe'] = $this->language->get('entry_parcelaDe');
$this->data['entry_parcelaPara'] = $this->language->get('entry_parcelaPara');
$this->data['entry_parcelaJuros'] = $this->language->get('entry_parcelaJuros');
/* Entry - Boleto */
$this->data['entry_boletoPrazo'] = $this->language->get('entry_boletoPrazo');
$this->data['entry_boletoInstrucao'] = $this->language->get('entry_boletoInstrucao');
$this->data['entry_boletoUrlLogo'] = $this->language->get('entry_boletoUrlLogo');
/* Entry - Formas de Pagamento */
$this->data['entry_cartaoCredito'] = $this->language->get('entry_cartaoCredito');
$this->data['entry_boleto'] = $this->language->get('entry_boleto');
$this->data['entry_debito'] = $this->language->get('entry_debito');
/* Entry - Suporte */
$this->data['entry_suporteAssunto'] = $this->language->get('entry_suporteAssunto');
$this->data['entry_suporteMensagem'] = $this->language->get('entry_suporteMensagem');
$this->data['attention_suporte'] = $this->language->get('attention_suporte');
$this->data['success_supórte'] = $this->language->get('success_supórte');
/* Helps */
$this->data['help_razao'] = $this->language->get('help_razao');
$this->data['help_notify'] = $this->language->get('help_notify');
$this->data['help_autorizado'] = $this->language->get('help_autorizado');
$this->data['help_iniciado'] = $this->language->get('help_iniciado');
$this->data['help_boletoimpresso'] = $this->language->get('help_boletoimpresso');
$this->data['help_concluido'] = $this->language->get('help_concluido');
$this->data['help_cancelado'] = $this->language->get('help_cancelado');
$this->data['help_emanalise'] = $this->language->get('help_emanalise');
$this->data['help_estornado'] = $this->language->get('help_estornado');
$this->data['help_revisao'] = $this->language->get('help_revisao');
$this->data['help_reembolsado'] = $this->language->get('help_reembolsado');
$this->data['help_boletoUrlLogo'] = $this->language->get('help_boletoUrlLogo');
$this->data['help_stepFive'] = $this->language->get('help_stepFive');
/* Botões */
$this->data['button_adicionar'] = $this->language->get('button_adicionar');
$this->data['button_remover'] = $this->language->get('button_remover');
$this->data['button_save'] = $this->language->get('button_save');
$this->data['button_cancel'] = $this->language->get('button_cancel');
$this->data['button_enviar'] = $this->language->get('button_enviar');
/* Error */
if (isset($this->error['warning'])) {
$this->data['error_warning'] = $this->error['warning'];
} else {
$this->data['error_warning'] = '';
}
/* Error */
$this->data['error_email'] = $this->language->get('error_email');
/* Breadcrumbs - Inicio */
$this->data['breadcrumbs'] = array();
$this->data['breadcrumbs'][] = array(
'href' => $this->url->link('common/home&token=', $this->session->data['token']),
'text' => $this->language->get('text_home'),
'separator' => FALSE
);
$this->data['breadcrumbs'][] = array(
'href' => $this->url->link('extension/payment&token=',$this->session->data['token']),
'text' => $this->language->get('text_payment'),
'separator' => ' :: '
);
$this->data['breadcrumbs'][] = array(
'href' => $this->url->link('payment/moip&token=', $this->session->data['token']),
'text' => $this->language->get('heading_title'),
'separator' => ' :: '
);
/* Breadcrumbs - Fim */
/* Botões */
$this->data['action'] = $this->url->link('payment/moip', 'token=' . $this->session->data['token']);
$this->data['cancel'] = $this->url->link('extension/payment', 'token=' . $this->session->data['token']);
/* Status */
if (isset($this->request->post['moip_status'])) {
$this->data['moip_status'] = $this->request->post['moip_status'];
} else {
$this->data['moip_status'] = $this->config->get('moip_status');
}
/* Notify */
if (isset($this->request->post['moip_notify'])) {
$this->data['moip_notify'] = $this->request->post['moip_notify'];
} else {
$this->data['moip_notify'] = $this->config->get('moip_notify');
}
/* Modo Teste */
if (isset($this->request->post['moip_test'])) {
$this->data['moip_test'] = $this->request->post['moip_test'];
} else {
$this->data['moip_test'] = $this->config->get('moip_test');
}
/* Razão */
if (isset($this->request->post['moip_razao'])) {
$this->data['moip_razao'] = $this->request->post['moip_razao'];
} else {
$this->data['moip_razao'] = $this->config->get('moip_razao');
}
/* Token */
if (isset($this->request->post['moip_apitoken'])) {
$this->data['moip_apitoken'] = $this->request->post['moip_apitoken'];
} else {
$this->data['moip_apitoken'] = $this->config->get('moip_apitoken');
}
/* Key */
if (isset($this->request->post['moip_apikey'])) {
$this->data['moip_apikey'] = $this->request->post['moip_apikey'];
} else {
$this->data['moip_apikey'] = $this->config->get('moip_apikey');
}
/* Etapa 5 (Checkout) */
if (isset($this->request->post['stepFive'])){
$this->data['stepFive'] = $this->request->post['stepFive'];
}else{
$this->data['stepFive'] = $this->config->get('stepFive');
}
/* Autorizado */
if (isset($this->request->post['moip_apikey'])) {
$this->data['moip_autorizado'] = $this->request->post['moip_autorizado'];
} else {
$this->data['moip_autorizado'] = $this->config->get('moip_autorizado');
}
/* Iniciado */
if (isset($this->request->post['moip_iniciado'])) {
$this->data['moip_iniciado'] = $this->request->post['moip_iniciado'];
} else {
$this->data['moip_iniciado'] = $this->config->get('moip_iniciado');
}
/* Boleto Impresso */
if (isset($this->request->post['moip_boletoimpresso'])) {
$this->data['moip_boletoimpresso'] = $this->request->post['moip_boletoimpresso'];
} else {
$this->data['moip_boletoimpresso'] = $this->config->get('moip_boletoimpresso');
}
/* Concluido */
if (isset($this->request->post['moip_concluido'])) {
$this->data['moip_concluido'] = $this->request->post['moip_concluido'];
} else {
$this->data['moip_concluido'] = $this->config->get('moip_concluido');
}
/* Cancelado */
if (isset($this->request->post['moip_cancelado'])) {
$this->data['moip_cancelado'] = $this->request->post['moip_cancelado'];
} else {
$this->data['moip_cancelado'] = $this->config->get('moip_cancelado');
}
/* Em Análise */
if (isset($this->request->post['moip_emanalise'])) {
$this->data['moip_emanalise'] = $this->request->post['moip_emanalise'];
} else {
$this->data['moip_emanalise'] = $this->config->get('moip_emanalise');
}
/* Estornado */
if (isset($this->request->post['moip_estornado'])) {
$this->data['moip_estornado'] = $this->request->post['moip_estornado'];
} else {
$this->data['moip_estornado'] = $this->config->get('moip_estornado');
}
/* Em Revisão */
if (isset($this->request->post['moip_revisao'])) {
$this->data['moip_revisao'] = $this->request->post['moip_revisao'];
} else {
$this->data['moip_revisao'] = $this->config->get('moip_revisao');
}
/* Reembolsado */
if (isset($this->request->post['moip_reembolsado'])) {
$this->data['moip_reembolsado'] = $this->request->post['moip_reembolsado'];
} else {
$this->data['moip_reembolsado'] = $this->config->get('moip_reembolsado');
}
/* Parcelas */
if (isset($this->request->post['moip_parcelas'])) {
$this->data['moip_parcelas'] = serialize($this->request->post['moip_parcelas']);
} else {
$this->data['moip_parcelas'] = $this->config->get('moip_parcelas');
}
/* Carrega o model de locação de zona geográfica */
$this->load->model('localisation/geo_zone');
/* Captura todas as zonas */
$this->data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones();
/* Zone Selecionada */
if (isset($this->request->post['moip_geo_zone_id'])) {
$this->data['moip_geo_zone_id'] = $this->request->post['moip_geo_zone_id'];
} else {
$this->data['moip_geo_zone_id'] = $this->config->get('moip_geo_zone_id');
}
/* Status do pedido quando estive aguardando pagamento pelo moip */
if (isset($this->request->post['moip_aguardando'])) {
$this->data['moip_aguardando'] = $this->request->post['moip_aguardando'];
} else {
$this->data['moip_aguardando'] = $this->config->get('moip_aguardando');
}
/* Status do pedido quando for cancelado pelo moip */
if (isset($this->request->post['moip_cancelado'])) {
$this->data['moip_cancelado'] = $this->request->post['moip_cancelado'];
} else {
$this->data['moip_cancelado'] = $this->config->get('moip_cancelado');
}
/* Status do pedido quando for aprovando pelo moip */
if (isset($this->request->post['moip_aprovado'])) {
$this->data['moip_aprovado'] = $this->request->post['moip_aprovado'];
} else {
$this->data['moip_aprovado'] = $this->config->get('moip_aprovado');
}
/* Status do pedido quando for Analize pelo moip */
if (isset($this->request->post['moip_analize'])) {
$this->data['moip_analize'] = $this->request->post['moip_analize'];
} else {
$this->data['moip_analize'] = $this->config->get('moip_analize');
}
/* Dias corridos para o prazo do boleto */
if (isset($this->request->post['moip_diasCorridosBoleto'])) {
$this->data['moip_diasCorridosBoleto'] = $this->request->post['moip_diasCorridosBoleto'];
} else {
$this->data['moip_diasCorridosBoleto'] = $this->config->get('moip_diasCorridosBoleto');
}
/* Instrução 1 do boleto */
if (isset($this->request->post['moip_instrucaoUmBoleto'])) {
$this->data['moip_instrucaoUmBoleto'] = $this->request->post['moip_instrucaoUmBoleto'];
} else {
$this->data['moip_instrucaoUmBoleto'] = $this->config->get('moip_instrucaoUmBoleto');
}
/* Instrução 2 do Boleto */
if (isset($this->request->post['moip_instrucaoDoisBoleto'])) {
$this->data['moip_instrucaoDoisBoleto'] = $this->request->post['moip_instrucaoDoisBoleto'];
} else {
$this->data['moip_instrucaoDoisBoleto'] = $this->config->get('moip_instrucaoDoisBoleto');
}
/* Instrução 3 do Boleto */
if (isset($this->request->post['moip_instrucaoTresBoleto'])) {
$this->data['moip_instrucaoTresBoleto'] = $this->request->post['moip_instrucaoTresBoleto'];
} else {
$this->data['moip_instrucaoTresBoleto'] = $this->config->get('moip_instrucaoTresBoleto');
}
/* Url da Logo para o Boleto */
if (isset($this->request->post['moip_urlLogoBoleto'])) {
$this->data['moip_urlLogoBoleto'] = $this->request->post['moip_urlLogoBoleto'];
} else {
$this->data['moip_urlLogoBoleto'] = $this->config->get('moip_urlLogoBoleto');
}
/* Modo como as parcelas irão ser exibidas */
if (isset($this->request->post['moip_modoParcelas'])) {
$this->data['moip_modoParcelas'] = $this->request->post['moip_modoParcelas'];
} else {
$this->data['moip_modoParcelas'] = $this->config->get('moip_modoParcelas');
}
/* Exibi valor total das parcelas */
if (isset($this->request->post['moip_exibiTotalParcela'])) {
$this->data['moip_exibiTotalParcela'] = $this->request->post['moip_exibiTotalParcela'];
} else {
$this->data['moip_exibiTotalParcela'] = $this->config->get('moip_exibiTotalParcela');
}
/* Carrega o model order_status */
$this->load->model('localisation/order_status');
/* Captura todos os status cadastrado */
$this->data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses();
/* Ordem do Módulo */
if (isset($this->request->post['moip_sort_order'])) {
$this->data['moip_sort_order'] = $this->request->post['moip_sort_order'];
} else {
$this->data['moip_sort_order'] = $this->config->get('moip_sort_order');
}
/* Acc Cartão de Crédito */
if (isset($this->request->post['moip_accCartaoCredito'])) {
$this->data['moip_accCartaoCredito'] = $this->request->post['moip_accCartaoCredito'];
} else {
$this->data['moip_accCartaoCredito'] = $this->config->get('moip_accCartaoCredito');
}
/* Acc Boleto */
if (isset($this->request->post['moip_accBoleto'])) {
$this->data['moip_accBoleto'] = $this->request->post['moip_accBoleto'];
} else {
$this->data['moip_accBoleto'] = $this->config->get('moip_accBoleto');
}
/* Acc Débito */
if (isset($this->request->post['moip_accDebito'])) {
$this->data['moip_accDebito'] = $this->request->post['moip_accDebito'];
} else {
$this->data['moip_accDebito'] = $this->config->get('moip_accDebito');
}
/* Captura quais layouts serão carregados */
$this->id = 'content';
$this->template = 'payment/moip.tpl';
$this->children = array(
'common/header',
'common/footer'
);
/* Carrega Layout */
$this->response->setOutput($this->render(TRUE), $this->config->get('config_compression'));
}
/* Função Para envio do Suporte */
public function suporte() {
$assunto = $this->request->get['suporteAssunto'];
$mensagem = $this->request->get['suporteMensagem'];
$mensagem .= '
Site: '.HTTP_CATALOG;
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mail->setTo('valdeirpsr@hotmail.com.br');
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($this->config->get('config_name'));
$mail->setSubject($assunto);
$mail->setHTML($mensagem);
$mail->send();
}
/* Função para validar os dados quando usuário salvar */
private function validate() {
if (!$this->user->hasPermission('modify', 'payment/moip')) {
$this->error['warning'] = $this->language->get('error_permission');
}
if (!$this->request->post['moip_apitoken']) {
$this->error['erro_apitoken'] = $this->language->get('erro_apitoken');
}
if (!$this->request->post['moip_apikey']) {
$this->error['erro_apikey'] = $this->language->get('erro_apikey');
}
if (!@$this->request->post['moip_razao']) {
$this->error['error_razao'] = $this->language->get('error_razao');
}
if ($this->request->post['stepFive'] == 1){
if (file_exists(DIR_CATALOG . 'vqmod/xml/pular_etapa5_moip')){
rename (DIR_CATALOG . 'vqmod/xml/pular_etapa5_moip', DIR_CATALOG . 'vqmod/xml/pular_etapa5_moip.xml');
}
}else{
if (file_exists(DIR_CATALOG . 'vqmod/xml/pular_etapa5_moip.xml')){
rename (DIR_CATALOG . 'vqmod/xml/pular_etapa5_moip.xml', DIR_CATALOG . 'vqmod/xml/pular_etapa5_moip');
}
}
if (!$this->error) {
return TRUE;
} else {
return FALSE;
}
}
}
?>
\ No newline at end of file
diff --git a/admin/language/english/moip/moip.php b/admin/language/english/moip/moip.php
index 17bec7e..5ff3fae 100644
--- a/admin/language/english/moip/moip.php
+++ b/admin/language/english/moip/moip.php
@@ -1,5 +1,6 @@
\ No newline at end of file
diff --git a/admin/language/english/payment/moip.php b/admin/language/english/payment/moip.php
index 8c6b679..c4fd6d1 100644
--- a/admin/language/english/payment/moip.php
+++ b/admin/language/english/payment/moip.php
@@ -1 +1 @@
-';
$_['text_enable'] = 'Enable';
$_['text_disable'] = 'Disable';
$_['text_all_zones'] = 'All ZOnes';
$_['text_yes'] = 'Yes';
$_['text_home'] = 'Home';
/* Buttons */
$_['button_adicionar'] = 'Add';
$_['button_remover'] = 'Remove';
$_['button_save'] = 'Save';
$_['button_cancel'] = 'Cancel';
$_['button_enviar'] = 'Send';
/* Tabs */
$_['tab_config'] = 'Configuration';
$_['tab_status'] = 'Payment Status';
$_['tab_order'] = 'Area and Order';
$_['tab_parcelas'] = 'Plots';
$_['tab_boleto'] = 'Billet';
$_['tab_formasPagamento'] = 'Payment Methods';
$_['tab_suporte'] = 'Support';
$_['tab_committee'] = 'Committee';
/* Entry - Config */
$_['entry_status'] = 'Situation:';
$_['entry_razao'] = 'Reason for payment:';
$_['entry_apitoken'] = 'Token:';
$_['entry_apikey'] = 'Key:';
$_['entry_test'] = 'Test Mode:';
$_['entry_notify'] = 'Notify client?';
$_['entry_modoParcela'] = 'Display with the plots:';
$_['entry_valorTotal'] = 'View the total value of the installments?';
/* Entry - Formas de Pagamento */
$_['entry_autorizdo'] = 'Situation Authorized:';
$_['entry_iniciado'] = 'Situation Started:';
$_['entry_boletoimpresso'] = 'Situation Billet Printed:';
$_['entry_concluido'] = 'Situation Completed:';
$_['entry_cancelado'] = 'Situation Cancelled:';
$_['entry_emanalise'] = 'Situation In Analysis:';
$_['entry_estornado'] = 'Situation Reversed:';
$_['entry_revisao'] = 'Situation In Review:';
$_['entry_reembolsado'] = 'Situation Reimbursed:';
/* Entry - Área e Ordem */
$_['entry_geo_zone'] = 'Geographic Area:';
$_['entry_sort_order'] = 'Order:';
/* Entry - Parcelas */
$_['entry_parcelaDe'] = 'From';
$_['entry_parcelaPara'] = 'To';
$_['entry_parcelaJuros'] = 'Interest Rates';
/* Entry - Boleto */
$_['entry_boletoPrazo'] = 'Time (In Days):';
$_['entry_boletoInstrucao'] = 'Instruction ';
$_['entry_boletoUrlLogo'] = 'Url of your logo:';
/* Entry - Formas de Pagamento */
$_['entry_cartaoCredito'] = 'Credit Card:';
$_['entry_boleto'] = 'Billet:';
$_['entry_debito'] = 'Debt:';
/* Entry - Comissão */
$_['entry_habilitar'] = 'Enabled: ';
$_['entry_valor'] = 'Value: ';
$_['entry_fixo'] = 'Fixed';
$_['entry_percentual'] = 'Percentage';
$_['entry_pagadorTaxa'] = 'Responsible for rate MoIP: ';
$_['entry_aLoja'] = 'The Store';
$_['entry_afiliado'] = 'Affiliate';
/* Entry - Suporte */
$_['entry_suporteAssunto'] = 'Subject:';
$_['entry_suporteMensagem'] = 'Message:';
/* Help */
$_['help_razao'] = 'Enter the Reason of payment that can simply be the name of your store.';
$_['help_autorizado'] = 'Situation to identify an application that waits for response MoIP.';
$_['help_iniciado'] = 'Situation to identify an application that was started by MoIP.';
$_['help_boletoimpresso'] = 'Situation to identify an application has the ticket printed.';
$_['help_concluido'] = 'Situation to identify an application that has been completed.';
$_['help_cancelado'] = 'Situation to identify an application that was canceled.';
$_['help_emanalise'] = 'Situation to identify an application that is under consideration by the MoIP.';
$_['help_estornado'] = 'Situation to identify an application that has been reversed.';
$_['help_revisao'] = 'Situation to identify an application that is under review.';
$_['help_reembolsado'] = 'Situation to identify an application that has been repaid.';
$_['help_notify'] = 'Want to notify the customer when the payment status is changed in MoIP?';
$_['help_boletoUrlLogo'] = 'The image must contain 75px by 40px';
/* Attention */
$_['attention_suporte'] = 'Wait your message be sent.';
/* Success */
$_['success_supórte'] = 'Message sent successfully.';
/* Error */
$_['error_permission'] = 'You are not allowed to change the module MoIP!';
$_['error_razao'] = 'You are not allowed to change the module MoIP!';
$_['erro_test'] = 'Please select an option!';
$_['erro_notify'] = 'Please select an option!';
$_['erro_apitoken'] = 'Please enter the code from your token!';
$_['erro_assunto'] = 'Please fill in the subject!';
$_['erro_mensagem'] = 'Please fill in the mensage!';
?>
\ No newline at end of file
+';
$_['text_enable'] = 'Enable';
$_['text_disable'] = 'Disable';
$_['text_all_zones'] = 'All ZOnes';
$_['text_yes'] = 'Yes';
$_['text_home'] = 'Home';
/* Buttons */
$_['button_adicionar'] = 'Add';
$_['button_remover'] = 'Remove';
$_['button_save'] = 'Save';
$_['button_cancel'] = 'Cancel';
$_['button_enviar'] = 'Send';
/* Tabs */
$_['tab_config'] = 'Configuration';
$_['tab_status'] = 'Payment Status';
$_['tab_order'] = 'Area and Order';
$_['tab_parcelas'] = 'Plots';
$_['tab_boleto'] = 'Billet';
$_['tab_formasPagamento'] = 'Payment Methods';
$_['tab_suporte'] = 'Support';
$_['tab_committee'] = 'Committee';
/* Entry - Config */
$_['entry_status'] = 'Situation:';
$_['entry_razao'] = 'Reason for payment:';
$_['entry_apitoken'] = 'Token:';
$_['entry_apikey'] = 'Key:';
$_['entry_test'] = 'Test Mode:';
$_['entry_notify'] = 'Notify client?';
$_['entry_modoParcela'] = 'Display with the plots:';
$_['entry_valorTotal'] = 'View the total value of the installments?';
$_['entry_stepFive'] = 'Hide Step 5:';
/* Entry - Formas de Pagamento */
$_['entry_autorizdo'] = 'Situation Authorized:';
$_['entry_iniciado'] = 'Situation Started:';
$_['entry_boletoimpresso'] = 'Situation Billet Printed:';
$_['entry_concluido'] = 'Situation Completed:';
$_['entry_cancelado'] = 'Situation Cancelled:';
$_['entry_emanalise'] = 'Situation In Analysis:';
$_['entry_estornado'] = 'Situation Reversed:';
$_['entry_revisao'] = 'Situation In Review:';
$_['entry_reembolsado'] = 'Situation Reimbursed:';
/* Entry - Área e Ordem */
$_['entry_geo_zone'] = 'Geographic Area:';
$_['entry_sort_order'] = 'Order:';
/* Entry - Parcelas */
$_['entry_parcelaDe'] = 'From';
$_['entry_parcelaPara'] = 'To';
$_['entry_parcelaJuros'] = 'Interest Rates';
/* Entry - Boleto */
$_['entry_boletoPrazo'] = 'Time (In Days):';
$_['entry_boletoInstrucao'] = 'Instruction ';
$_['entry_boletoUrlLogo'] = 'Url of your logo:';
/* Entry - Formas de Pagamento */
$_['entry_cartaoCredito'] = 'Credit Card:';
$_['entry_boleto'] = 'Billet:';
$_['entry_debito'] = 'Debt:';
/* Entry - Comissão */
$_['entry_habilitar'] = 'Enabled: ';
$_['entry_valor'] = 'Value: ';
$_['entry_fixo'] = 'Fixed';
$_['entry_percentual'] = 'Percentage';
$_['entry_pagadorTaxa'] = 'Responsible for rate MoIP: ';
$_['entry_aLoja'] = 'The Store';
$_['entry_afiliado'] = 'Affiliate';
/* Entry - Suporte */
$_['entry_suporteAssunto'] = 'Subject:';
$_['entry_suporteMensagem'] = 'Message:';
/* Help */
$_['help_razao'] = 'Enter the Reason of payment that can simply be the name of your store.';
$_['help_autorizado'] = 'Situation to identify an application that waits for response MoIP.';
$_['help_iniciado'] = 'Situation to identify an application that was started by MoIP.';
$_['help_boletoimpresso'] = 'Situation to identify an application has the ticket printed.';
$_['help_concluido'] = 'Situation to identify an application that has been completed.';
$_['help_cancelado'] = 'Situation to identify an application that was canceled.';
$_['help_emanalise'] = 'Situation to identify an application that is under consideration by the MoIP.';
$_['help_estornado'] = 'Situation to identify an application that has been reversed.';
$_['help_revisao'] = 'Situation to identify an application that is under review.';
$_['help_reembolsado'] = 'Situation to identify an application that has been repaid.';
$_['help_notify'] = 'Want to notify the customer when the payment status is changed in MoIP?';
$_['help_boletoUrlLogo'] = 'The image must contain 75px by 40px';
$_['help_stepFive'] = 'Want to hide step 5 of checkout?';
/* Attention */
$_['attention_suporte'] = 'Wait your message be sent.';
/* Success */
$_['success_supórte'] = 'Message sent successfully.';
/* Error */
$_['error_permission'] = 'You are not allowed to change the module MoIP!';
$_['error_razao'] = 'You are not allowed to change the module MoIP!';
$_['erro_test'] = 'Please select an option!';
$_['erro_notify'] = 'Please select an option!';
$_['erro_apitoken'] = 'Please enter the code from your token!';
$_['erro_assunto'] = 'Please fill in the subject!';
$_['erro_mensagem'] = 'Please fill in the mensage!';
?>
\ No newline at end of file
diff --git a/admin/language/portuguese-br/payment/moip.php b/admin/language/portuguese-br/payment/moip.php
index 9bd3601..2a9c844 100644
--- a/admin/language/portuguese-br/payment/moip.php
+++ b/admin/language/portuguese-br/payment/moip.php
@@ -1 +1 @@
-';
$_['text_enable'] = 'Habilitar';
$_['text_disable'] = 'Desabilitar';
$_['text_all_zones'] = 'Todas as Zonas';
$_['text_yes'] = 'Sim';
$_['text_home'] = 'Página Principal';
$_['text_payment'] = 'Formas de Pagamento';
/* Buttons */
$_['button_adicionar'] = 'Adicionar';
$_['button_remover'] = 'Remover';
$_['button_save'] = 'Salvar';
$_['button_cancel'] = 'Cancelar';
$_['button_enviar'] = 'Enviar';
/* Tabs */
$_['tab_config'] = 'Configurações';
$_['tab_status'] = 'Status de Pagamento';
$_['tab_order'] = 'Área e Ordem';
$_['tab_parcelas'] = 'Parcelas';
$_['tab_boleto'] = 'Boleto';
$_['tab_formasPagamento'] = 'Formas de Pagamento';
$_['tab_committee'] = 'Comissão';
$_['tab_suporte'] = 'Suporte';
/* Entry - Config */
$_['entry_status'] = 'Situação:';
$_['entry_razao'] = 'Razão do pagamento:';
$_['entry_apitoken'] = 'Token:';
$_['entry_apikey'] = 'Key:';
$_['entry_test'] = 'Modo de Teste:';
$_['entry_notify'] = 'Notificar cliente?';
$_['entry_modoParcela'] = 'Exibi as parcelas com:';
$_['entry_valorTotal'] = 'Exibi valor total das parcelas?';
/* Entry - Formas de Pagamento */
$_['entry_autorizdo'] = 'Situação Autorizado:';
$_['entry_iniciado'] = 'Situação Iniciado:';
$_['entry_boletoimpresso'] = 'Situação Boleto Impresso:';
$_['entry_concluido'] = 'Situação Concluído:';
$_['entry_cancelado'] = 'Situação Cancelado:';
$_['entry_emanalise'] = 'Situação Em Análise:';
$_['entry_estornado'] = 'Situação Estornado:';
$_['entry_revisao'] = 'Situação Em Revisão:';
$_['entry_reembolsado'] = 'Situação Reembolsado:';
/* Entry - Área e Ordem */
$_['entry_geo_zone'] = 'Zona Geográfica:';
$_['entry_sort_order'] = 'Ordem:';
/* Entry - Parcelas */
$_['entry_parcelaDe'] = 'De';
$_['entry_parcelaPara'] = 'Para';
$_['entry_parcelaJuros'] = 'Juros';
/* Entry - Boleto */
$_['entry_boletoPrazo'] = 'Prazo:';
$_['entry_boletoInstrucao'] = 'Instrução ';
$_['entry_boletoUrlLogo'] = 'Url de sua logo:';
/* Entry - Formas de Pagamento */
$_['entry_cartaoCredito'] = 'Cartão de Crédito:';
$_['entry_boleto'] = 'Boleto:';
$_['entry_debito'] = 'Débito:';
/* Entry - Comissão */
$_['entry_habilitar'] = 'Habilitar: ';
$_['entry_valor'] = 'Valor: ';
$_['entry_fixo'] = 'Fixo';
$_['entry_percentual'] = 'Percentual';
$_['entry_pagadorTaxa'] = 'Responsável pela Taxa MoIP: ';
$_['entry_aLoja'] = 'A Loja';
$_['entry_afiliado'] = 'Afiliado';
/* Entry - Suporte */
$_['entry_suporteAssunto'] = 'Assunto:';
$_['entry_suporteMensagem'] = 'Mensagem:';
/* Help */
$_['help_razao'] = 'Digite a Razão do pagamento que pode ser simplesmente o nome de sua loja.';
$_['help_autorizado'] = 'Situação para identificar um pedido que aguarda resposta do MoIP.';
$_['help_iniciado'] = 'Situação para identificar um pedido que foi iniciado pelo MoIP.';
$_['help_boletoimpresso'] = 'Situação para identificar um pedido tiver o boleto impresso.';
$_['help_concluido'] = 'Situação para identificar um pedido que foi concluído.';
$_['help_cancelado'] = 'Situação para identificar um pedido que foi cancelado.';
$_['help_emanalise'] = 'Situação para identificar um pedido que está em análise no MoIP.';
$_['help_estornado'] = 'Situação para identificar um pedido que foi estornado.';
$_['help_revisao'] = 'Situação para identificar um pedido que está em revisão.';
$_['help_reembolsado'] = 'Situação para identificar um pedido que foi reembolsado.';
$_['help_notify'] = 'Deseja notificar ao cliente quando o status de pagamento for alterado no MOIP?';
$_['help_boletoUrlLogo'] = 'A Imagem deve conter 75px de altura por 40px de largura';
/* Attention */
$_['attention_suporte'] = 'Aguarde sua mensagem ser enviada.';
/* Success */
$_['success_supórte'] = 'Mensagem enviada com sucesso.';
/* Error */
$_['error_permission'] = 'Atenção: Você não permissão para alterar o módulo MoIP!';
$_['error_razao'] = 'Por favor, digite o nome fantasia de sua loja!!';
$_['erro_test'] = 'Por favor, selecione uma opção!';
$_['erro_notify'] = 'Por favor, selecione uma opção!';
$_['erro_apitoken'] = 'Por favor, digite o código do seu token!';
$_['erro_assunto'] = 'Por favor, preencha o assunto!';
$_['erro_mensagem'] = 'Por favor, preencha a mensagem!';
?>
\ No newline at end of file
+';
$_['text_enable'] = 'Habilitar';
$_['text_disable'] = 'Desabilitar';
$_['text_all_zones'] = 'Todas as Zonas';
$_['text_yes'] = 'Sim';
$_['text_home'] = 'Página Principal';
$_['text_payment'] = 'Formas de Pagamento';
/* Buttons */
$_['button_adicionar'] = 'Adicionar';
$_['button_remover'] = 'Remover';
$_['button_save'] = 'Salvar';
$_['button_cancel'] = 'Cancelar';
$_['button_enviar'] = 'Enviar';
/* Tabs */
$_['tab_config'] = 'Configurações';
$_['tab_status'] = 'Status de Pagamento';
$_['tab_order'] = 'Área e Ordem';
$_['tab_parcelas'] = 'Parcelas';
$_['tab_boleto'] = 'Boleto';
$_['tab_formasPagamento'] = 'Formas de Pagamento';
$_['tab_committee'] = 'Comissão';
$_['tab_suporte'] = 'Suporte';
/* Entry - Config */
$_['entry_status'] = 'Situação:';
$_['entry_razao'] = 'Razão do pagamento:';
$_['entry_apitoken'] = 'Token:';
$_['entry_apikey'] = 'Key:';
$_['entry_test'] = 'Modo de Teste:';
$_['entry_notify'] = 'Notificar cliente?';
$_['entry_modoParcela'] = 'Exibi as parcelas com:';
$_['entry_valorTotal'] = 'Exibi valor total das parcelas?';
$_['entry_stepFive'] = 'Ocultar Etapa 5:';
/* Entry - Formas de Pagamento */
$_['entry_autorizdo'] = 'Situação Autorizado:';
$_['entry_iniciado'] = 'Situação Iniciado:';
$_['entry_boletoimpresso'] = 'Situação Boleto Impresso:';
$_['entry_concluido'] = 'Situação Concluído:';
$_['entry_cancelado'] = 'Situação Cancelado:';
$_['entry_emanalise'] = 'Situação Em Análise:';
$_['entry_estornado'] = 'Situação Estornado:';
$_['entry_revisao'] = 'Situação Em Revisão:';
$_['entry_reembolsado'] = 'Situação Reembolsado:';
/* Entry - Área e Ordem */
$_['entry_geo_zone'] = 'Zona Geográfica:';
$_['entry_sort_order'] = 'Ordem:';
/* Entry - Parcelas */
$_['entry_parcelaDe'] = 'De';
$_['entry_parcelaPara'] = 'Para';
$_['entry_parcelaJuros'] = 'Juros';
/* Entry - Boleto */
$_['entry_boletoPrazo'] = 'Prazo:';
$_['entry_boletoInstrucao'] = 'Instrução ';
$_['entry_boletoUrlLogo'] = 'Url de sua logo:';
/* Entry - Formas de Pagamento */
$_['entry_cartaoCredito'] = 'Cartão de Crédito:';
$_['entry_boleto'] = 'Boleto:';
$_['entry_debito'] = 'Débito:';
/* Entry - Comissão */
$_['entry_habilitar'] = 'Habilitar: ';
$_['entry_valor'] = 'Valor: ';
$_['entry_fixo'] = 'Fixo';
$_['entry_percentual'] = 'Percentual';
$_['entry_pagadorTaxa'] = 'Responsável pela Taxa MoIP: ';
$_['entry_aLoja'] = 'A Loja';
$_['entry_afiliado'] = 'Afiliado';
/* Entry - Suporte */
$_['entry_suporteAssunto'] = 'Assunto:';
$_['entry_suporteMensagem'] = 'Mensagem:';
/* Help */
$_['help_razao'] = 'Digite a Razão do pagamento que pode ser simplesmente o nome de sua loja.';
$_['help_autorizado'] = 'Situação para identificar um pedido que aguarda resposta do MoIP.';
$_['help_iniciado'] = 'Situação para identificar um pedido que foi iniciado pelo MoIP.';
$_['help_boletoimpresso'] = 'Situação para identificar um pedido tiver o boleto impresso.';
$_['help_concluido'] = 'Situação para identificar um pedido que foi concluído.';
$_['help_cancelado'] = 'Situação para identificar um pedido que foi cancelado.';
$_['help_emanalise'] = 'Situação para identificar um pedido que está em análise no MoIP.';
$_['help_estornado'] = 'Situação para identificar um pedido que foi estornado.';
$_['help_revisao'] = 'Situação para identificar um pedido que está em revisão.';
$_['help_reembolsado'] = 'Situação para identificar um pedido que foi reembolsado.';
$_['help_notify'] = 'Deseja notificar ao cliente quando o status de pagamento for alterado no MOIP?';
$_['help_boletoUrlLogo'] = 'A Imagem deve conter 75px de altura por 40px de largura';
$_['help_stepFive'] = 'Deseja ocultar a etapa 5 (Método de Pagamento) do checkout?';
/* Attention */
$_['attention_suporte'] = 'Aguarde sua mensagem ser enviada.';
/* Success */
$_['success_supórte'] = 'Mensagem enviada com sucesso.';
/* Error */
$_['error_permission'] = 'Atenção: Você não permissão para alterar o módulo MoIP!';
$_['error_razao'] = 'Por favor, digite o nome fantasia de sua loja!!';
$_['erro_test'] = 'Por favor, selecione uma opção!';
$_['erro_notify'] = 'Por favor, selecione uma opção!';
$_['erro_apitoken'] = 'Por favor, digite o código do seu token!';
$_['erro_assunto'] = 'Por favor, preencha o assunto!';
$_['erro_mensagem'] = 'Por favor, preencha a mensagem!';
?>
\ No newline at end of file
diff --git a/admin/model/moip/moip.php b/admin/model/moip/moip.php
index 8c02bd0..1c644e4 100644
--- a/admin/model/moip/moip.php
+++ b/admin/model/moip/moip.php
@@ -290,12 +290,12 @@ public function getOrderHistories($order_id, $start = 0, $limit = 10) {
/* Captura todas informações enviadas pelo MoIP */
public function getMoipNasp($order_id) {
- $dados = $this->db->query('SELECT * FROM ' . DB_PREFIX. 'moip_nasp WHERE id_transacao = "'.$order_id.'"');
+ $result = $this->db->query('SELECT * FROM ' . DB_PREFIX. 'moip_nasp WHERE id_transacao = "'.$order_id.'"');
- if ($dados->row < 1):
+ if ($result->row < 1):
return false;
else:
- return $dados->row;
+ return $result->row;
endif;
}
diff --git a/admin/view/template/payment/moip.tpl b/admin/view/template/payment/moip.tpl
index fc18d6f..c884dce 100644
--- a/admin/view/template/payment/moip.tpl
+++ b/admin/view/template/payment/moip.tpl
@@ -1 +1 @@
-
\ No newline at end of file
diff --git a/catalog/controller/payment/moip.php b/catalog/controller/payment/moip.php
index 56d6c6f..29b7ec5 100644
--- a/catalog/controller/payment/moip.php
+++ b/catalog/controller/payment/moip.php
@@ -1 +1 @@
-data['button_continue'] = $this->language->get('button_continue');
//Verifica se está em modo de teste
if (!$this->config->get('moip_test')) {
$this->data['action'] = 'https://www.moip.com.br/ws/alpha/EnviarInstrucao/Unica';
} else {
$this->data['action'] = 'https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica';
}
//Carrega parcelas
$this->data['parcelas_moip'] = $this->config->get('moip_parcelas');
//Carrega o arquivo catalog/model/checkout/order.php
$this->load->model('checkout/order');
//Adiciona os dados da compra no array order_info
$order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
//Captura a 'razão' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['nometranzacao'] = $this->config->get('moip_razao');
//Captura o 'Token' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['apitoken'] = $this->config->get('moip_apitoken');
//Captura a 'Key' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['apikey'] = $this->config->get('moip_apikey');
//Captura o ID do Cliente
$this->data['customer_id'] = $order_info['customer_id'];
//Captura o tipo da moeda utilizada na compra
$this->data['currency_code'] = $order_info['currency_code'];
//Captura o valor total
$this->data['amount'] = $this->currency->format($order_info['total'], $order_info['currency_code'], FALSE);
//Captura o primeiro nome do Cliente e remove os caracteres especiais
$this->data['first_name'] = $this->removeAcentos($order_info['payment_firstname']);
//Captura o sobrenome do cliente e remove os caracteres especiais
$this->data['last_name'] = $this->removeAcentos($order_info['payment_lastname']);
//Captura o logadouro do cliente e remove os caracteres especiais
$this->data['address1'] = $this->removeAcentos($order_info['payment_address_1']);
//Captura o bairro do cliente e remove os caracteres especiais
$this->data['address2'] = $this->removeAcentos($order_info['payment_address_2']);
//Captura a cidade do Cliente e remove os caracteres especiais
$this->data['city'] = $this->removeAcentos($order_info['payment_city']);
//Captura o CEP do Cliente
$this->data['zip'] = $order_info['payment_postcode'];
//Captura o País do Cliente
$this->data['country'] = $order_info['payment_country'];
//Inicia a sessão com o id da compra
$this->session->data['order_id'];
//Captura o id da compra
$this->data['codipedido'] = $this->session->data['order_id'];
//Captura o email do Cliente
$this->data['email'] = $order_info['email'];
//Captura Dias de Expiração da configuração do boleto
$this->data['diasCorridosBoleto'] = $this->config->get('moip_diasCorridosBoleto');
//Captura a instrução 1 da configuração do boleto
$this->data['instrucaoUmBoleto'] = $this->config->get('moip_instrucaoUmBoleto');
//Captura a instrução 2 configuração do boleto
$this->data['instrucaoDoisBoleto'] = $this->config->get('moip_instrucaoDoisBoleto');
//Captura a instrução 3 da configuração do boleto
$this->data['instrucaoTresBoleto'] = $this->config->get('moip_instrucaoTresBoleto');
//Captura a url da logo da configuração do boleto
$this->data['urlLogoBoleto'] = $this->config->get('moip_urlLogoBoleto');
//Captura o modo de como o usuário irá visualizar as formas de pagamento
$this->data['modoParcela'] = ucfirst($this->config->get('moip_modoParcelas'));
//Acc Cartão de Crédito
$this->data['accCartaoCredito'] = ucfirst($this->config->get('moip_accCartaoCredito'));
//Acc Boleto
$this->data['accBoleto'] = ucfirst($this->config->get('moip_accBoleto'));
//Acc Débito
$this->data['accDebito'] = ucfirst($this->config->get('moip_accDebito'));
//Verifica se é para exibi o valor total das parcelas
if ($this->config->get('moip_exibiTotalParcela') == '1'):
$this->data['exibiTotalParcela'] = "' = R$' + data.parcelas[i].valor_total + ''";
else:
$this->data['exibiTotalParcela'] = "''";
endif;
//Invoice
$this->data['invoice'] = $this->session->data['order_id'] . ' - ' . $order_info['payment_firstname'] . ' ' . $order_info['payment_lastname'];
/* Pega o id do país */
$this->load->model('localisation/country');
$paises = $this->model_localisation_country->getCountries();
foreach ($paises as $country) {
if($country['name']==$order_info['payment_country']){
$codigodopais = $country['country_id'];
}
}
/* Com id do país pega o code da cidade */
$this->load->model('localisation/zone');
$results = $this->model_localisation_zone->getZonesByCountryId($codigodopais);
foreach ($results as $result) {
if($result['name']==$order_info['payment_zone']){
$this->data['estado'] =$result['code'];
}
}
//Verifica se existe o ddd do cliente
if(isset($order_info['ddd'])){
$this->data['ddd'] = $order_info['ddd'];
} else {
$ntelefone = preg_replace("/[^0-9]/", "", $order_info['telephone']);
if(strlen($ntelefone) >= 10){
$ntelefone = ltrim($ntelefone, "0");
$this->data['ddd'] = substr($ntelefone, 0, 2);
$this->data['telephone'] = substr($ntelefone, 2,11);
} else {
$this->data['telephone'] = substr($ntelefone, 0,11);
}
}
//Adiciona a url que chama a função success na variavel $return
$this->data['return'] = HTTPS_SERVER . 'checkout/success';
//Captura o email cadastrado na página de pagamento MoiP no painel administrativo
$this->data['mailpg'] = $this->config->get('moip_email');
//Captura valor total e multiplica com o valor da moeda escolhida
if ($order_info['currency_code'] != 'BRL'):
$this->data['valorTotalPedido'] = $this->format_money(preg_replace('/[^0-9]/i','',$this->currency->format($order_info['total']*$order_info['currency_value'], $order_info['currency_value'], $this->currency->getValue('BRL'))));
else:
$this->data['valorTotalPedido'] = $order_info['total']*$order_info['currency_value'];
endif;
//var_dump($order_info);
//Link de redirecionamento
$this->data['continue'] = $this->url->link('checkout/success');
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/moip.tpl')) {
$this->template = $this->config->get('config_template') . '/template/payment/moip.tpl';
} else {
$this->template = 'default/template/payment/moip.tpl';
}
$this->render();
}
public function confirm() {
$this->load->language('payment/moip');
$this->load->model('checkout/order');
$comment = $this->language->get('text_instruction') . "\n\n";
$comment .= $this->language->get('text_payment');
$this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('config_order_status_id'), $comment);
$html .= 'Pedido Número: ' . $this->session->data['order_id'] . ' ';
$html .= 'Status Pagamento: ' . $this->request->get['StatusPagamento'] . ' ';
if (!empty($this->request->get['Status']) && $this->request->get['Status'] != "undefined")
$html .= 'Status: ' . $this->request->get['Status'] . ' ';
if (!empty($this->request->get['CodigoMoIP']) && $this->request->get['CodigoMoIP'] != "undefined")
$html .= 'Codigo MoIP: ' . $this->request->get['CodigoMoIP'] . ' ';
if (!empty($this->request->get['TotalPago']) && $this->request->get['TotalPago'] != "undefined")
$html .= 'Total Pago: R$' . $this->request->get['TotalPago'] . ' ';
if (!empty($this->request->get['TotalPago']) && $this->request->get['TaxaMoIP'] != "undefined")
$html .= 'Taxa MoIP: R$' . $this->request->get['TaxaMoIP'] . ' ';
$html .= 'Mensagem: ' . $this->request->get['Mensagem'] . ' ';
if (!empty($this->request->get['CodigoRetorno']) && $this->request->get['CodigoRetorno'] != "undefined"):
$html .= 'Codigo Retorno: ' . $this->request->get['CodigoRetorno'] . ' ';
endif;
if ($this->request->get['Cod_Classificacao'] != 0):
$html .= 'Codigo: ' . $this->request->get['Cod_Classificacao'] . ' ';
$html .= 'Descricao: ' . $this->request->get['Descricao_Classificacao'];
endif;
$html .= '
Sistema desenvolvido por Valdeir S. <valdeirpsr@hotmail.com>';
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($this->config->get('config_name'));
$mail->setSubject('Pedido: #' . $this->session->data['order_id']);
$mail->setHtml($html);
$mail->send();
if (isset($this->session->data['order_id'])) {
$this->cart->clear();
unset($this->session->data['shipping_method']);
unset($this->session->data['shipping_methods']);
unset($this->session->data['payment_method']);
unset($this->session->data['payment_methods']);
unset($this->session->data['comment']);
unset($this->session->data['coupon']);
}
}
public function salvarCartao () {
//Carrega o model do MoiIP
$this->load->model('payment/moip');
//Carrega a livraria de criptografia
$this->load->library('criptografiacartao');
//Instacia um novo objeto de criptografia
$encryption = new CriptografiaCartao($this->config->get('config_encryption'));
//Captura o id do cliente
$dados['customer_id'] = $this->request->get['customer_id'];
//Captura a bandeira do cartão
$dados['bandeiraCartao'] = $encryption->encrypt($this->request->get['bandeiraCartao']);
//Captura o nome do titular do cartão
$dados['titularCartao'] = $encryption->encrypt($this->request->get['titularCartao']);
//Captura o número do cartão
$dados['numeroCartao'] = $encryption->encrypt($this->request->get['numeroCartao']);
//Captura a data de validade do cartão
$dados['validadeCartao'] = $encryption->encrypt($this->request->get['validadeCartao']);
//Captura o código de segurança do cartão
$dados['codCartao'] = $encryption->encrypt($this->request->get['codCartao']);
//Captura a data de nascimento do titular
$dados['nascimentoTitular'] = $encryption->encrypt($this->request->get['nascimentoTitular']);
//Captura o telefone do titular
$dados['telefone'] = $encryption->encrypt($this->request->get['telefone']);
//Captura o cpf do titular
$dados['cpf'] = $encryption->encrypt($this->request->get['cpf']);
//Salva os dados do Cartão
$this->model_payment_moip->salvarCartao($dados);
}
public function getCartao () {
//Carrega o model do MoIP
$this->load->model('payment/moip');
//Captura os dados do cartão escolhido
$resultado = $this->model_payment_moip->getCartao($this->request->get['customer_id'],$this->request->get['bandeira']);
//Verifica se foi localizado
if (isset($resultado['localizado']) && $resultado['localizado'] === 'sim'):
echo json_encode($resultado);
else:
echo json_encode(array('error' => 'Nao Localizado'));
endif;
}
private function format_money($total){
if(strlen($total)>2){
$n=strlen($total)-2;
$preco=substr($total,0,$n).".".substr($total,$n);
return $preco;
}else{
return $total;
}
}
private function removeAcentos ($value) {
$acentos = array('Á','À','Â','Ã','É','Ê','Í','Ó','Ô','Õ','Ú','Ç','á','à','â','ã','é','ê','í','ó','ô','õ','ú','ç','æ');
$sAcentos = array('A','A','A','A','E','E','I','O','O','O','U','C','a','a','a','a','e','e','i','o','o','o','u','c','AE');
return str_replace($acentos, $sAcentos, $value);
}
}
?>
\ No newline at end of file
+data['button_continue'] = $this->language->get('button_continue');
//Verifica se está em modo de teste
if (!$this->config->get('moip_test')) {
$this->data['action'] = 'https://www.moip.com.br/ws/alpha/EnviarInstrucao/Unica';
} else {
$this->data['action'] = 'https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica';
}
//Carrega parcelas
$this->data['parcelas_moip'] = $this->config->get('moip_parcelas');
//Carrega o arquivo catalog/model/checkout/order.php
$this->load->model('checkout/order');
//Adiciona os dados da compra no array order_info
$order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
//Captura a 'razão' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['nometranzacao'] = $this->config->get('moip_razao');
//Captura o 'Token' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['apitoken'] = $this->config->get('moip_apitoken');
//Captura a 'Key' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['apikey'] = $this->config->get('moip_apikey');
//Captura o ID do Cliente
$this->data['customer_id'] = $order_info['customer_id'];
//Captura o tipo da moeda utilizada na compra
$this->data['currency_code'] = $order_info['currency_code'];
//Captura o valor total
$this->data['amount'] = $this->currency->format($order_info['total'], $order_info['currency_code'], FALSE);
//Captura o primeiro nome do Cliente e remove os caracteres especiais
$this->data['first_name'] = $this->removeAcentos($order_info['payment_firstname']);
//Captura o sobrenome do cliente e remove os caracteres especiais
$this->data['last_name'] = $this->removeAcentos($order_info['payment_lastname']);
//Captura o logadouro do cliente e remove os caracteres especiais
$this->data['address1'] = $this->removeAcentos($order_info['payment_address_1']);
//Captura o bairro do cliente e remove os caracteres especiais
$this->data['address2'] = $this->removeAcentos($order_info['payment_address_2']);
//Captura a cidade do Cliente e remove os caracteres especiais
$this->data['city'] = $this->removeAcentos($order_info['payment_city']);
//Captura o CEP do Cliente
$this->data['zip'] = $order_info['payment_postcode'];
//Captura o País do Cliente
$this->data['country'] = $order_info['payment_country'];
//Inicia a sessão com o id da compra
$this->session->data['order_id'];
//Captura o id da compra
$this->data['codipedido'] = $this->session->data['order_id'];
//Captura o email do Cliente
$this->data['email'] = $order_info['email'];
//Captura Dias de Expiração da configuração do boleto
$this->data['diasCorridosBoleto'] = $this->config->get('moip_diasCorridosBoleto');
//Captura a instrução 1 da configuração do boleto
$this->data['instrucaoUmBoleto'] = $this->config->get('moip_instrucaoUmBoleto');
//Captura a instrução 2 configuração do boleto
$this->data['instrucaoDoisBoleto'] = $this->config->get('moip_instrucaoDoisBoleto');
//Captura a instrução 3 da configuração do boleto
$this->data['instrucaoTresBoleto'] = $this->config->get('moip_instrucaoTresBoleto');
//Captura a url da logo da configuração do boleto
$this->data['urlLogoBoleto'] = $this->config->get('moip_urlLogoBoleto');
//Captura o modo de como o usuário irá visualizar as formas de pagamento
$this->data['modoParcela'] = ucfirst($this->config->get('moip_modoParcelas'));
//Acc Cartão de Crédito
$this->data['accCartaoCredito'] = ucfirst($this->config->get('moip_accCartaoCredito'));
//Acc Boleto
$this->data['accBoleto'] = ucfirst($this->config->get('moip_accBoleto'));
//Acc Débito
$this->data['accDebito'] = ucfirst($this->config->get('moip_accDebito'));
//Verifica se é para exibi o valor total das parcelas
if ($this->config->get('moip_exibiTotalParcela') == '1'):
$this->data['exibiTotalParcela'] = "' = R$' + data.parcelas[i].valor_total + ''";
else:
$this->data['exibiTotalParcela'] = "''";
endif;
//Invoice
$this->data['invoice'] = $this->session->data['order_id'] . ' - ' . $order_info['payment_firstname'] . ' ' . $order_info['payment_lastname'];
/* Pega o id do país */
$this->load->model('localisation/country');
$paises = $this->model_localisation_country->getCountries();
foreach ($paises as $country) {
if($country['name']==$order_info['payment_country']){
$codigodopais = $country['country_id'];
}
}
/* Com id do país pega o code da cidade */
$this->load->model('localisation/zone');
$results = $this->model_localisation_zone->getZonesByCountryId($codigodopais);
foreach ($results as $result) {
if($result['name']==$order_info['payment_zone']){
$this->data['estado'] =$result['code'];
}
}
//Verifica se existe o ddd do cliente
if(isset($order_info['ddd'])){
$this->data['ddd'] = $order_info['ddd'];
} else {
$ntelefone = preg_replace("/[^0-9]/", "", $order_info['telephone']);
if(strlen($ntelefone) >= 10){
$ntelefone = ltrim($ntelefone, "0");
$this->data['ddd'] = substr($ntelefone, 0, 2);
$this->data['telephone'] = substr($ntelefone, 2,11);
} else {
$this->data['telephone'] = substr($ntelefone, 0,11);
}
}
//Adiciona a url que chama a função success na variavel $return
$this->data['return'] = HTTPS_SERVER . 'checkout/success';
//Captura o email cadastrado na página de pagamento MoiP no painel administrativo
$this->data['mailpg'] = $this->config->get('moip_email');
//Captura valor total e multiplica com o valor da moeda escolhida
if ($order_info['currency_code'] != 'BRL'):
$this->data['valorTotalPedido'] = $this->format_money(preg_replace('/[^0-9]/i','',$this->currency->format($order_info['total']*$order_info['currency_value'], $order_info['currency_value'], $this->currency->getValue('BRL'))));
else:
$this->data['valorTotalPedido'] = $order_info['total']*$order_info['currency_value'];
endif;
//var_dump($order_info);
//Link de redirecionamento
$this->data['continue'] = $this->url->link('checkout/success');
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/moip.tpl')) {
$this->template = $this->config->get('config_template') . '/template/payment/moip.tpl';
} else {
$this->template = 'default/template/payment/moip.tpl';
}
$this->render();
}
public function confirm() {
$this->load->language('payment/moip');
$this->load->model('checkout/order');
$comment = $this->language->get('text_instruction') . "\n\n";
$comment .= $this->language->get('text_payment');
$this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('config_order_status_id'), $comment);
$html .= 'Pedido Número: ' . $this->session->data['order_id'] . ' ';
$html .= 'Status Pagamento: ' . $this->request->get['StatusPagamento'] . ' ';
if (!empty($this->request->get['Status']) && $this->request->get['Status'] != "undefined")
$html .= 'Status: ' . $this->request->get['Status'] . ' ';
if (!empty($this->request->get['CodigoMoIP']) && $this->request->get['CodigoMoIP'] != "undefined")
$html .= 'Codigo MoIP: ' . $this->request->get['CodigoMoIP'] . ' ';
if (!empty($this->request->get['TotalPago']) && $this->request->get['TotalPago'] != "undefined")
$html .= 'Total Pago: R$' . $this->request->get['TotalPago'] . ' ';
if (!empty($this->request->get['TotalPago']) && $this->request->get['TaxaMoIP'] != "undefined")
$html .= 'Taxa MoIP: R$' . $this->request->get['TaxaMoIP'] . ' ';
$html .= 'Mensagem: ' . $this->request->get['Mensagem'] . ' ';
if (!empty($this->request->get['CodigoRetorno']) && $this->request->get['CodigoRetorno'] != "undefined"):
$html .= 'Codigo Retorno: ' . $this->request->get['CodigoRetorno'] . ' ';
endif;
if ($this->request->get['Cod_Classificacao'] != 0):
$html .= 'Codigo: ' . $this->request->get['Cod_Classificacao'] . ' ';
$html .= 'Descricao: ' . $this->request->get['Descricao_Classificacao'];
endif;
$html .= '
Sistema desenvolvido por Valdeir S. <valdeirpsr@hotmail.com>';
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($this->config->get('config_name'));
$mail->setSubject('Pedido: #' . $this->session->data['order_id']);
$mail->setHtml($html);
$mail->send();
if (isset($this->session->data['order_id'])) {
$this->cart->clear();
unset($this->session->data['shipping_method']);
unset($this->session->data['shipping_methods']);
unset($this->session->data['payment_method']);
unset($this->session->data['payment_methods']);
unset($this->session->data['comment']);
unset($this->session->data['coupon']);
}
}
public function salvarCartao () {
//Carrega o model do MoiIP
$this->load->model('payment/moip');
//Carrega a livraria de criptografia
$this->load->library('criptografiacartao');
//Instacia um novo objeto de criptografia
$encryption = new CriptografiaCartao($this->config->get('config_encryption'));
//Captura o id do cliente
$dados['customer_id'] = $this->request->get['customer_id'];
//Captura a bandeira do cartão
$dados['bandeiraCartao'] = $encryption->encrypt($this->request->get['bandeiraCartao']);
//Captura o nome do titular do cartão
$dados['titularCartao'] = $encryption->encrypt($this->request->get['titularCartao']);
//Captura o número do cartão
$dados['numeroCartao'] = $encryption->encrypt($this->request->get['numeroCartao']);
//Captura a data de validade do cartão
$dados['validadeCartao'] = $encryption->encrypt($this->request->get['validadeCartao']);
//Captura o código de segurança do cartão
$dados['codCartao'] = $encryption->encrypt($this->request->get['codCartao']);
//Captura a data de nascimento do titular
$dados['nascimentoTitular'] = $encryption->encrypt($this->request->get['nascimentoTitular']);
//Captura o telefone do titular
$dados['telefone'] = $encryption->encrypt($this->request->get['telefone']);
//Captura o cpf do titular
$dados['cpf'] = $encryption->encrypt($this->request->get['cpf']);
//Salva os dados do Cartão
$this->model_payment_moip->salvarCartao($dados);
}
public function getCartao () {
//Carrega o model do MoIP
$this->load->model('payment/moip');
//Captura os dados do cartão escolhido
$resultado = $this->model_payment_moip->getCartao($this->request->get['customer_id'],$this->request->get['bandeira']);
//Verifica se foi localizado
if (isset($resultado['localizado']) && $resultado['localizado'] === 'sim'):
echo json_encode($resultado);
else:
echo json_encode(array('error' => 'Nao Localizado'));
endif;
}
private function format_money($total){
if(strlen($total)>2){
$n=strlen($total)-2;
$preco=substr($total,0,$n).".".substr($total,$n);
return $preco;
}else{
return $total;
}
}
private function removeAcentos ($value) {
$acentos = array('Á','À','Â','Ã','É','Ê','Í','Ó','Ô','Õ','Ú','Ç','á','à','â','ã','é','ê','í','ó','ô','õ','ú','ç','æ');
$sAcentos = array('A','A','A','A','E','E','I','O','O','O','U','C','a','a','a','a','e','e','i','o','o','o','u','c','AE');
return str_replace($acentos, $sAcentos, $value);
}
}
?>
\ No newline at end of file
diff --git a/valdeir/moip/documentacao/index.html b/valdeir/moip/documentacao/index.html
index 67eac12..7db459d 100644
--- a/valdeir/moip/documentacao/index.html
+++ b/valdeir/moip/documentacao/index.html
@@ -51,15 +51,24 @@
Projeto
O que é o projeto.
O projeto "MOIP Transparente", foi criado para facilitar a compra para o usuário final. O projeto quando instalado tem a função de tornar a compra mais fácil pois ele 'elimina' o famoso 'redirecionamento'.
-
Changelog 1.3.
+
Changelog
- 1 - Envio do comentário do pedido para o painel do MoIP.
- 2 - Alteração do visual de parcelamento.
- 3 - Correção da acentuação.
- 4 - Correção na instalação para versões anteriores há 1.5.4.
- 5 - Correção nos dados enviados ao lojista (quando a forma de pagamento for Boleto ou Débito).
- 6 - Correção da situação do pedido na página MoIP do painel administrativo.
- 7 - Correção na função de salvar cartão, agora os os cartões de clientes que fechem a compra sem cadastro não irá ser adicionado ao banco de dados
+ 1.4
+
+ 1 - Remoção da etapa 5 (Métodos de Pagamento)
+ 2 - Correção na página Admin > MoIP > MoIP
+
+
+ 1.3
+
+ 1 - Envio do comentário do pedido para o painel do MoIP.
+ 2 - Alteração do visual de parcelamento.
+ 3 - Correção da acentuação.
+ 4 - Correção na instalação para versões anteriores há 1.5.4.
+ 5 - Correção nos dados enviados ao lojista (quando a forma de pagamento for Boleto ou Débito).
+ 6 - Correção da situação do pedido na página MoIP do painel administrativo.
+ 7 - Correção na função de salvar cartão, agora os os cartões de clientes que fechem a compra sem cadastro não irá ser adicionado ao banco de dados
+
Vantagens
@@ -74,7 +83,7 @@
Projeto
Requisitos.
- OpenCart: 1.5.1, 1.5.1.3, 1.5.2.1, 1.5.3, 1.5.3.1, 1.5.4, 1.5.4.1
+ OpenCart: 1.5.1, 1.5.1.3, 1.5.2.1, 1.5.3, 1.5.3.1, 1.5.4, 1.5.4.1, 1.5.5.1 VQmod: Sim jQuery: 1.7 ou superior ColorBox: Sim
diff --git a/valdeir/moip/instalar/steps.php b/valdeir/moip/instalar/steps.php
index 52e3176..196e2b0 100644
--- a/valdeir/moip/instalar/steps.php
+++ b/valdeir/moip/instalar/steps.php
@@ -78,7 +78,7 @@ function editSetting($group, $data, $store_id = 0) {
`codCartao` varchar(1000) NOT NULL,
`nascimentoTitular` varchar(1000) NOT NULL,
`telefoneTitular` varchar(1000) NOT NULL,
- `CPFTitular` varchar(11000) NOT NULL,
+ `CPFTitular` varchar(1000) NOT NULL,
PRIMARY KEY (`id_cartaoCredito`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=24 ;");
$db->query("INSERT INTO " . DB_PREFIX . "extension SET `type` = 'payment', `code` = 'moip'");
@@ -86,6 +86,13 @@ function editSetting($group, $data, $store_id = 0) {
//Captura todas configurações da loja
$config = $db->query('SELECT `key`,`value` FROM `' . DB_PREFIX . 'setting` WHERE `group` = "config" OR `group` = "moip"');
+ //Etapa 5
+ if (isset($_POST['stepFive']) && $_POST['stepFive'] == 1){
+ if (file_exists(DIR_SYSTEM . '../vqmod/xml/pular_etapa5_moip')){
+ rename(DIR_SYSTEM . '../vqmod/xml/pular_etapa5_moip', DIR_SYSTEM . '../vqmod/xml/pular_etapa5_moip.xml');
+ }
+ }
+
//Captura as configurações de email para o envio
for ($i = 0;$i < count($config->rows);$i++) {
@@ -302,6 +309,17 @@ function editSetting($group, $data, $store_id = 0) {
]]> ]]>
]]>data['title'] = $this->document->getTitle();]]>config->get('moip_test')) {
$this->data['MoiPJS'] = 'https://www.moip.com.br/transparente/MoipWidget-v2.js';
} else {
$this->data['MoiPJS'] = 'https://desenvolvedor.moip.com.br/sandbox/transparente/MoipWidget-v2.js';
}]]>
\ No newline at end of file
diff --git a/vqmod/xml/pular_etapa5_moip b/vqmod/xml/pular_etapa5_moip
new file mode 100644
index 0000000..c3579f8
--- /dev/null
+++ b/vqmod/xml/pular_etapa5_moip
@@ -0,0 +1 @@
+
]]>session->data['payment_method']['code'] = 'moip';
$this->session->data['payment_method']['title'] = 'MoIP';
$this->session->data['payment_method']['sort_order'] = '';
]]>]]>
\ No newline at end of file
From b86cbfec24c6032bb61a4477f3f79526cbaf2edd Mon Sep 17 00:00:00 2001
From: valdeir2000
Date: Thu, 28 Feb 2013 19:33:13 -0300
Subject: [PATCH 07/16] Update README.md
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index cde35ce..44386b4 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@ Você pode ter um aumento de até 30% na conversão de suas vendas, uma vez que,
Os dados de pagamento dos seus clientes são direcionados diretamente do navegador para o Moip. Sem passar por seus servidores, assim não precisa se preocupar com a segurança destas informações.
### Requisitos
-* **OpenCart:** 1.5.1, 1.5.1.3, 1.5.2.1, 1.5.3, 1.5.3.1, 1.5.4, 1.5.4.1
+* **OpenCart:** 1.5.1, 1.5.1.3, 1.5.2.1, 1.5.3, 1.5.3.1, 1.5.4, 1.5.4.1, 1.5.5.1
* **VQmod:** Sim
* **jQuery:** 1.7 ou superior
* **ColorBox:** Sim
@@ -128,4 +128,4 @@ Se houver duas configurações com quantidade de parcelas iguais, o sistema vai
[Acessar](https://www.dropbox.com/sh/l4u1y4t292agk3n/WtpXcc3vO8)
Agradecimentos.
-Muito Obrigado a todos.
\ No newline at end of file
+Muito Obrigado a todos.
From cd09cda2f77137b9a2303b548bfaa91cf7d2ae1e Mon Sep 17 00:00:00 2001
From: Rodrigo Rodrigues
Date: Sun, 3 Mar 2013 17:34:25 -0300
Subject: [PATCH 08/16] Update moip.php
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Correção do valor exibido na aba "Detalhes do produto" em Detalhes do pedido # MoIP.
Antes era exibido o valor na forma como gravado no Banco de dados. Com várias casas decimais e separação com pontos.
---
admin/controller/moip/moip.php | 36 +++++++++++++++++++++++-----------
1 file changed, 25 insertions(+), 11 deletions(-)
diff --git a/admin/controller/moip/moip.php b/admin/controller/moip/moip.php
index 35c952e..d7e3856 100644
--- a/admin/controller/moip/moip.php
+++ b/admin/controller/moip/moip.php
@@ -49,7 +49,7 @@ public function getList() {
$filter_total = null;
endif;
- /* Verifica se existe um filtro de busca por data de adio */
+ /* Verifica se existe um filtro de busca por data de adi��o */
if (isset($this->request->get['filter_date_added'])):
$filter_date_added = $this->request->get['filter_date_added'];
$url .= '&filter_date_added='.$this->request->get['filter_date_added'];
@@ -57,7 +57,7 @@ public function getList() {
$filter_date_added = null;
endif;
- /* Verifica se existe um filtro de busca por data de modificao */
+ /* Verifica se existe um filtro de busca por data de modifica��o */
if (isset($this->request->get['filter_date_modified'])):
$filter_date_modified = $this->request->get['filter_date_modified'];
$url .= '&filter_date_modified='.$this->request->get['filter_date_modified'];
@@ -65,7 +65,7 @@ public function getList() {
$filter_date_modified = null;
endif;
- /* Verifica se existe um filtro de reogarnizao por ordem Crescente ou Decrescente */
+ /* Verifica se existe um filtro de reogarniza��o por ordem Crescente ou Decrescente */
if (isset($this->request->get['sort'])):
$sort = $this->request->get['sort'];
$url .= '&sort='.$this->request->get['sort'];
@@ -81,7 +81,7 @@ public function getList() {
$order = null;
endif;
- /* Verifica em qual pgina o usurio est */
+ /* Verifica em qual p�gina o usu�rio est� */
if (isset($this->request->get['page'])):
$page = $this->request->get['page'];
$url .= '&page='.$this->request->get['page'];
@@ -89,7 +89,7 @@ public function getList() {
$page = 1;
endif;
- /* Adiciona as vriaveis acima nas variaveis $this-data[] para ser exibido no arquivo moip_form.tpl */
+ /* Adiciona as v�riaveis acima nas variaveis $this-data[] para ser exibido no arquivo moip_form.tpl */
$this->data['filter_order_id'] = $filter_order_id;
$this->data['filter_customer'] = $filter_customer;
$this->data['filter_status'] = $filter_order_status_id;
@@ -97,7 +97,7 @@ public function getList() {
$this->data['filter_date_added'] = $filter_date_added;
$this->data['filter_date_modified'] = $filter_date_modified;
- /* Adiciona os valores das variaveis acima na variavl $data (variavel responsavel por filtrar os resultados) */
+ /* Adiciona os valores das variaveis acima na variav�l $data (variavel responsavel por filtrar os resultados) */
$data = array(
'filter_order_id' => $filter_order_id,
'filter_customer' => $filter_customer,
@@ -114,10 +114,10 @@ public function getList() {
/* Carrega o model moi/moip */
$this->load->model('moip/moip');
- /* Carrega o model com as informaes de status */
+ /* Carrega o model com as informa��es de status */
$this->load->model('localisation/order_status');
- /* Adiciona os informaes de dados na varivel */
+ /* Adiciona os informa��es de dados na vari�vel */
$this->data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses();
/* Captura todas os pedidos com os filtros definidos mais acima */
@@ -149,7 +149,7 @@ public function getList() {
}
- /* Pginao */
+ /* P�gina��o */
$pagination = new Pagination();
$pagination->total = $order_total;
$pagination->page = $page;
@@ -227,7 +227,21 @@ public function getInfo() {
$this->data['data_order']['date_modified'] = date($this->language->get('datetime'), strtotime($this->data['data_order']['date_modified']));
/* Captura os dados dos produtos da compra */
- $this->data['data_products'] = $this->model_moip_moip->getOrderProducts($order_id);
+ $data_products = $this->model_moip_moip->getOrderProducts($order_id);
+
+ foreach ($data_products as $data_product):
+
+ $this->data['data_products'][] = array(
+
+ 'name' => $data_product['name'],
+ 'model' => $data_product['model'],
+ 'quantity' => $data_product['quantity'],
+ 'price' => $this->currency->format($data_product['price']),
+ 'total' => $this->currency->format($data_product['total'])
+
+ );
+
+ endforeach;
/* Captura o sub-total, valor do frete e valor total */
$this->data['totals_order'] = $this->model_moip_moip->getOrderTotals($order_id);
@@ -315,4 +329,4 @@ private function format_money($total, $simbolo = null){
endif;
}
}
-?>
\ No newline at end of file
+?>
From 6b42f9d237ae84798b02aeab684a751ea948868e Mon Sep 17 00:00:00 2001
From: Rodrigo Rodrigues
Date: Sun, 3 Mar 2013 17:43:24 -0300
Subject: [PATCH 09/16] Update moip_info.tpl
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Linha 19 = Inclusão do número do pedido em exibição no lugar do número fixo #709.
---
admin/view/template/moip/moip_info.tpl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/admin/view/template/moip/moip_info.tpl b/admin/view/template/moip/moip_info.tpl
index acc45e8..5197605 100644
--- a/admin/view/template/moip/moip_info.tpl
+++ b/admin/view/template/moip/moip_info.tpl
@@ -16,7 +16,7 @@
-
Detalhes do Pedido #709
+
Detalhes do Pedido #
Atualizar PedidoCancelar
@@ -340,4 +340,4 @@
-
\ No newline at end of file
+
From 0e4bbe5979d2990b4bec75b4ea22a1da2e8d67e7 Mon Sep 17 00:00:00 2001
From: Rodrigo Rodrigues
Date: Fri, 29 Mar 2013 15:47:59 -0300
Subject: [PATCH 10/16] Update moip.tpl
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
O título "MoIP" estava sobre o ícone, pois o mesmo estava como background no style da tag h1. Uma pequena alteração na linha 29 tornou o texto legível e padronizado.
---
admin/view/template/payment/moip.tpl | 923 ++++++++++++++++++++++++++-
1 file changed, 922 insertions(+), 1 deletion(-)
diff --git a/admin/view/template/payment/moip.tpl b/admin/view/template/payment/moip.tpl
index c884dce..8b778e6 100644
--- a/admin/view/template/payment/moip.tpl
+++ b/admin/view/template/payment/moip.tpl
@@ -1 +1,922 @@
-
-
-
diff --git a/catalog/controller/payment/moip.php b/catalog/controller/payment/moip.php
deleted file mode 100644
index 29b7ec5..0000000
--- a/catalog/controller/payment/moip.php
+++ /dev/null
@@ -1 +0,0 @@
-data['button_continue'] = $this->language->get('button_continue');
//Verifica se está em modo de teste
if (!$this->config->get('moip_test')) {
$this->data['action'] = 'https://www.moip.com.br/ws/alpha/EnviarInstrucao/Unica';
} else {
$this->data['action'] = 'https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica';
}
//Carrega parcelas
$this->data['parcelas_moip'] = $this->config->get('moip_parcelas');
//Carrega o arquivo catalog/model/checkout/order.php
$this->load->model('checkout/order');
//Adiciona os dados da compra no array order_info
$order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
//Captura a 'razão' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['nometranzacao'] = $this->config->get('moip_razao');
//Captura o 'Token' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['apitoken'] = $this->config->get('moip_apitoken');
//Captura a 'Key' cadastrato no módulo de pagamento MoiP no painel administrativo
$this->data['apikey'] = $this->config->get('moip_apikey');
//Captura o ID do Cliente
$this->data['customer_id'] = $order_info['customer_id'];
//Captura o tipo da moeda utilizada na compra
$this->data['currency_code'] = $order_info['currency_code'];
//Captura o valor total
$this->data['amount'] = $this->currency->format($order_info['total'], $order_info['currency_code'], FALSE);
//Captura o primeiro nome do Cliente e remove os caracteres especiais
$this->data['first_name'] = $this->removeAcentos($order_info['payment_firstname']);
//Captura o sobrenome do cliente e remove os caracteres especiais
$this->data['last_name'] = $this->removeAcentos($order_info['payment_lastname']);
//Captura o logadouro do cliente e remove os caracteres especiais
$this->data['address1'] = $this->removeAcentos($order_info['payment_address_1']);
//Captura o bairro do cliente e remove os caracteres especiais
$this->data['address2'] = $this->removeAcentos($order_info['payment_address_2']);
//Captura a cidade do Cliente e remove os caracteres especiais
$this->data['city'] = $this->removeAcentos($order_info['payment_city']);
//Captura o CEP do Cliente
$this->data['zip'] = $order_info['payment_postcode'];
//Captura o País do Cliente
$this->data['country'] = $order_info['payment_country'];
//Inicia a sessão com o id da compra
$this->session->data['order_id'];
//Captura o id da compra
$this->data['codipedido'] = $this->session->data['order_id'];
//Captura o email do Cliente
$this->data['email'] = $order_info['email'];
//Captura Dias de Expiração da configuração do boleto
$this->data['diasCorridosBoleto'] = $this->config->get('moip_diasCorridosBoleto');
//Captura a instrução 1 da configuração do boleto
$this->data['instrucaoUmBoleto'] = $this->config->get('moip_instrucaoUmBoleto');
//Captura a instrução 2 configuração do boleto
$this->data['instrucaoDoisBoleto'] = $this->config->get('moip_instrucaoDoisBoleto');
//Captura a instrução 3 da configuração do boleto
$this->data['instrucaoTresBoleto'] = $this->config->get('moip_instrucaoTresBoleto');
//Captura a url da logo da configuração do boleto
$this->data['urlLogoBoleto'] = $this->config->get('moip_urlLogoBoleto');
//Captura o modo de como o usuário irá visualizar as formas de pagamento
$this->data['modoParcela'] = ucfirst($this->config->get('moip_modoParcelas'));
//Acc Cartão de Crédito
$this->data['accCartaoCredito'] = ucfirst($this->config->get('moip_accCartaoCredito'));
//Acc Boleto
$this->data['accBoleto'] = ucfirst($this->config->get('moip_accBoleto'));
//Acc Débito
$this->data['accDebito'] = ucfirst($this->config->get('moip_accDebito'));
//Verifica se é para exibi o valor total das parcelas
if ($this->config->get('moip_exibiTotalParcela') == '1'):
$this->data['exibiTotalParcela'] = "' = R$' + data.parcelas[i].valor_total + ''";
else:
$this->data['exibiTotalParcela'] = "''";
endif;
//Invoice
$this->data['invoice'] = $this->session->data['order_id'] . ' - ' . $order_info['payment_firstname'] . ' ' . $order_info['payment_lastname'];
/* Pega o id do país */
$this->load->model('localisation/country');
$paises = $this->model_localisation_country->getCountries();
foreach ($paises as $country) {
if($country['name']==$order_info['payment_country']){
$codigodopais = $country['country_id'];
}
}
/* Com id do país pega o code da cidade */
$this->load->model('localisation/zone');
$results = $this->model_localisation_zone->getZonesByCountryId($codigodopais);
foreach ($results as $result) {
if($result['name']==$order_info['payment_zone']){
$this->data['estado'] =$result['code'];
}
}
//Verifica se existe o ddd do cliente
if(isset($order_info['ddd'])){
$this->data['ddd'] = $order_info['ddd'];
} else {
$ntelefone = preg_replace("/[^0-9]/", "", $order_info['telephone']);
if(strlen($ntelefone) >= 10){
$ntelefone = ltrim($ntelefone, "0");
$this->data['ddd'] = substr($ntelefone, 0, 2);
$this->data['telephone'] = substr($ntelefone, 2,11);
} else {
$this->data['telephone'] = substr($ntelefone, 0,11);
}
}
//Adiciona a url que chama a função success na variavel $return
$this->data['return'] = HTTPS_SERVER . 'checkout/success';
//Captura o email cadastrado na página de pagamento MoiP no painel administrativo
$this->data['mailpg'] = $this->config->get('moip_email');
//Captura valor total e multiplica com o valor da moeda escolhida
if ($order_info['currency_code'] != 'BRL'):
$this->data['valorTotalPedido'] = $this->format_money(preg_replace('/[^0-9]/i','',$this->currency->format($order_info['total']*$order_info['currency_value'], $order_info['currency_value'], $this->currency->getValue('BRL'))));
else:
$this->data['valorTotalPedido'] = $order_info['total']*$order_info['currency_value'];
endif;
//var_dump($order_info);
//Link de redirecionamento
$this->data['continue'] = $this->url->link('checkout/success');
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/moip.tpl')) {
$this->template = $this->config->get('config_template') . '/template/payment/moip.tpl';
} else {
$this->template = 'default/template/payment/moip.tpl';
}
$this->render();
}
public function confirm() {
$this->load->language('payment/moip');
$this->load->model('checkout/order');
$comment = $this->language->get('text_instruction') . "\n\n";
$comment .= $this->language->get('text_payment');
$this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('config_order_status_id'), $comment);
$html .= 'Pedido Número: ' . $this->session->data['order_id'] . ' ';
$html .= 'Status Pagamento: ' . $this->request->get['StatusPagamento'] . ' ';
if (!empty($this->request->get['Status']) && $this->request->get['Status'] != "undefined")
$html .= 'Status: ' . $this->request->get['Status'] . ' ';
if (!empty($this->request->get['CodigoMoIP']) && $this->request->get['CodigoMoIP'] != "undefined")
$html .= 'Codigo MoIP: ' . $this->request->get['CodigoMoIP'] . ' ';
if (!empty($this->request->get['TotalPago']) && $this->request->get['TotalPago'] != "undefined")
$html .= 'Total Pago: R$' . $this->request->get['TotalPago'] . ' ';
if (!empty($this->request->get['TotalPago']) && $this->request->get['TaxaMoIP'] != "undefined")
$html .= 'Taxa MoIP: R$' . $this->request->get['TaxaMoIP'] . ' ';
$html .= 'Mensagem: ' . $this->request->get['Mensagem'] . ' ';
if (!empty($this->request->get['CodigoRetorno']) && $this->request->get['CodigoRetorno'] != "undefined"):
$html .= 'Codigo Retorno: ' . $this->request->get['CodigoRetorno'] . ' ';
endif;
if ($this->request->get['Cod_Classificacao'] != 0):
$html .= 'Codigo: ' . $this->request->get['Cod_Classificacao'] . ' ';
$html .= 'Descricao: ' . $this->request->get['Descricao_Classificacao'];
endif;
$html .= '
Sistema desenvolvido por Valdeir S. <valdeirpsr@hotmail.com>';
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($this->config->get('config_name'));
$mail->setSubject('Pedido: #' . $this->session->data['order_id']);
$mail->setHtml($html);
$mail->send();
if (isset($this->session->data['order_id'])) {
$this->cart->clear();
unset($this->session->data['shipping_method']);
unset($this->session->data['shipping_methods']);
unset($this->session->data['payment_method']);
unset($this->session->data['payment_methods']);
unset($this->session->data['comment']);
unset($this->session->data['coupon']);
}
}
public function salvarCartao () {
//Carrega o model do MoiIP
$this->load->model('payment/moip');
//Carrega a livraria de criptografia
$this->load->library('criptografiacartao');
//Instacia um novo objeto de criptografia
$encryption = new CriptografiaCartao($this->config->get('config_encryption'));
//Captura o id do cliente
$dados['customer_id'] = $this->request->get['customer_id'];
//Captura a bandeira do cartão
$dados['bandeiraCartao'] = $encryption->encrypt($this->request->get['bandeiraCartao']);
//Captura o nome do titular do cartão
$dados['titularCartao'] = $encryption->encrypt($this->request->get['titularCartao']);
//Captura o número do cartão
$dados['numeroCartao'] = $encryption->encrypt($this->request->get['numeroCartao']);
//Captura a data de validade do cartão
$dados['validadeCartao'] = $encryption->encrypt($this->request->get['validadeCartao']);
//Captura o código de segurança do cartão
$dados['codCartao'] = $encryption->encrypt($this->request->get['codCartao']);
//Captura a data de nascimento do titular
$dados['nascimentoTitular'] = $encryption->encrypt($this->request->get['nascimentoTitular']);
//Captura o telefone do titular
$dados['telefone'] = $encryption->encrypt($this->request->get['telefone']);
//Captura o cpf do titular
$dados['cpf'] = $encryption->encrypt($this->request->get['cpf']);
//Salva os dados do Cartão
$this->model_payment_moip->salvarCartao($dados);
}
public function getCartao () {
//Carrega o model do MoIP
$this->load->model('payment/moip');
//Captura os dados do cartão escolhido
$resultado = $this->model_payment_moip->getCartao($this->request->get['customer_id'],$this->request->get['bandeira']);
//Verifica se foi localizado
if (isset($resultado['localizado']) && $resultado['localizado'] === 'sim'):
echo json_encode($resultado);
else:
echo json_encode(array('error' => 'Nao Localizado'));
endif;
}
private function format_money($total){
if(strlen($total)>2){
$n=strlen($total)-2;
$preco=substr($total,0,$n).".".substr($total,$n);
return $preco;
}else{
return $total;
}
}
private function removeAcentos ($value) {
$acentos = array('Á','À','Â','Ã','É','Ê','Í','Ó','Ô','Õ','Ú','Ç','á','à','â','ã','é','ê','í','ó','ô','õ','ú','ç','æ');
$sAcentos = array('A','A','A','A','E','E','I','O','O','O','U','C','a','a','a','a','e','e','i','o','o','o','u','c','AE');
return str_replace($acentos, $sAcentos, $value);
}
}
?>
\ No newline at end of file
diff --git a/catalog/language/english/mail/moip.php b/catalog/language/english/mail/moip.php
deleted file mode 100644
index e5c40fd..0000000
--- a/catalog/language/english/mail/moip.php
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/catalog/language/english/payment/moip.php b/catalog/language/english/payment/moip.php
deleted file mode 100644
index 5f5a11a..0000000
--- a/catalog/language/english/payment/moip.php
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/catalog/language/portuguese-br/mail/moip.php b/catalog/language/portuguese-br/mail/moip.php
deleted file mode 100644
index 3794ce2..0000000
--- a/catalog/language/portuguese-br/mail/moip.php
+++ /dev/null
@@ -1,12 +0,0 @@
- Sistema desenvolvido por Valdeir S.'; //5º
-$_['text_method_payment'] = 'Forma pagamento: '; //6º
-
-?>
\ No newline at end of file
diff --git a/catalog/language/portuguese-br/payment/moip.php b/catalog/language/portuguese-br/payment/moip.php
deleted file mode 100644
index 5e38536..0000000
--- a/catalog/language/portuguese-br/payment/moip.php
+++ /dev/null
@@ -1,25 +0,0 @@
-
\ No newline at end of file
diff --git a/catalog/model/payment/moip.php b/catalog/model/payment/moip.php
deleted file mode 100644
index c052a87..0000000
--- a/catalog/model/payment/moip.php
+++ /dev/null
@@ -1,85 +0,0 @@
-load->language('payment/moip');
-
- if ($this->config->get('moip_status')) {
- $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('moip_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')");
-
- if (!$this->config->get('moip_geo_zone_id')) {
- $status = TRUE;
- } elseif ($query->num_rows) {
- $status = TRUE;
- } else {
- $status = FALSE;
- }
- } else {
- $status = FALSE;
- }
-
- $method_data = array();
-
- if ($status) {
- $method_data = array(
- 'code' => 'moip',
- 'title' => $this->language->get('text_title'),
- 'sort_order' => $this->config->get('moip_sort_order')
- );
- }
-
- return $method_data;
- }
-
- public function salvarCartao($dados) {
- $sql = "INSERT INTO `cartaocredito`
- (
- `customer_id`,
- `bandeiraCartao`,
- `titularCartao`,
- `numeroCartao`,
- `validadeCartao`,
- `codCartao`,
- `nascimentoTitular`,
- `telefoneTitular`,
- `CPFTitular`)
- VALUES (
- '".$dados['customer_id']."',
- '".$dados['bandeiraCartao']."',
- '".$dados['titularCartao']."',
- '".$dados['numeroCartao']."',
- '".$dados['validadeCartao']."',
- '".$dados['codCartao']."',
- '".$dados['nascimentoTitular']."',
- '".$dados['telefone']."',
- '".$dados['cpf']."');";
-
- $this->db->query($sql);
- }
-
- public function getCartao($customer_id, $bandeira) {
-
- $this->load->library('criptografiacartao');
- $encryption = new CriptografiaCartao($this->config->get('config_encryption'));
-
- $bandeira = $encryption->encrypt($bandeira);
-
- $sql = "SELECT * FROM `cartaocredito` WHERE `customer_id` = ".$customer_id." AND `bandeiraCartao` = '".$bandeira."'";
- $dados = $this->db->query($sql);
- if (!empty($dados->rows)):
- $retorno['localizado'] = 'sim';
- $retorno['customer_id'] = $dados->row['customer_id'];
- $retorno['bandeiraCartao'] = $encryption->decrypt($dados->row['bandeiraCartao']);
- $retorno['titularCartao'] = $encryption->decrypt($dados->row['titularCartao']);
- $retorno['numeroCartao'] = $encryption->decrypt($dados->row['numeroCartao']);
- $retorno['validadeCartao'] = $encryption->decrypt($dados->row['validadeCartao']);
- $retorno['codCartao'] = $encryption->decrypt($dados->row['codCartao']);
- $retorno['nascimentoTitular'] = $encryption->decrypt($dados->row['nascimentoTitular']);
- $retorno['telefoneTitular'] = $encryption->decrypt($dados->row['telefoneTitular']);
- $retorno['CPFTitular'] = $encryption->decrypt($dados->row['CPFTitular']);
- else:
- $retorno['localizado'] = 'nao';
- endif;
- return $retorno;
- }
-}
-?>
diff --git a/catalog/view/javascript/jquery.meio.mask.js b/catalog/view/javascript/jquery.meio.mask.js
deleted file mode 100644
index 1910758..0000000
--- a/catalog/view/javascript/jquery.meio.mask.js
+++ /dev/null
@@ -1,682 +0,0 @@
-/**
- * jquery.meio.mask.js
- * @author: fabiomcosta
- * @version: 1.1.3
- *
- * Created by Fabio M. Costa on 2008-09-16. Please report any bug at http://www.meiocodigo.com
- *
- * Copyright (c) 2008 Fabio M. Costa http://www.meiocodigo.com
- *
- * The MIT License (http://www.opensource.org/licenses/mit-license.php)
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-(function($){
-
- var isIphone = (window.orientation != undefined),
- // browsers like firefox2 and before and opera doenst have the onPaste event, but the paste feature can be done with the onInput event.
- pasteEvent = (($.browser.opera || ($.browser.mozilla && parseFloat($.browser.version.substr(0,3)) < 1.9 ))? 'input': 'paste');
-
- $.event.special.paste = {
- setup: function() {
- if(this.addEventListener)
- this.addEventListener(pasteEvent, pasteHandler, false);
- else if (this.attachEvent)
- this.attachEvent(pasteEvent, pasteHandler);
- },
-
- teardown: function() {
- if(this.removeEventListener)
- this.removeEventListener(pasteEvent, pasteHandler, false);
- else if (this.detachEvent)
- this.detachEvent(pasteEvent, pasteHandler);
- }
- };
-
- // the timeout is set because we can't get the value from the input without it
- function pasteHandler(e){
- var self = this;
- e = $.event.fix(e || window.e);
- e.type = 'paste';
- // Execute the right handlers by setting the event type to paste
- setTimeout(function(){ $.event.handle.call(self, e); }, 1);
- };
-
- $.extend({
- mask : {
-
- // the mask rules. You may add yours!
- // number rules will be overwritten
- rules : {
- 'z': /[a-z]/,
- 'Z': /[A-Z]/,
- 'a': /[a-zA-Z]/,
- '*': /[0-9a-zA-Z]/,
- '@': /[0-9a-zA-ZçÇáàãâéèêíìóòôõúùü]/
- },
-
- // these keys will be ignored by the mask.
- // all these numbers where obtained on the keydown event
- keyRepresentation : {
- 8 : 'backspace',
- 9 : 'tab',
- 13 : 'enter',
- 16 : 'shift',
- 17 : 'control',
- 18 : 'alt',
- 27 : 'esc',
- 33 : 'page up',
- 34 : 'page down',
- 35 : 'end',
- 36 : 'home',
- 37 : 'left',
- 38 : 'up',
- 39 : 'right',
- 40 : 'down',
- 45 : 'insert',
- 46 : 'delete',
- 116 : 'f5',
- 123 : 'f12',
- 224 : 'command'
- },
-
- iphoneKeyRepresentation : {
- 10 : 'go',
- 127 : 'delete'
- },
-
- signals : {
- '+' : '',
- '-' : '-'
- },
-
- // default settings for the plugin
- options : {
- attr: 'alt', // an attr to look for the mask name or the mask itself
- mask: null, // the mask to be used on the input
- type: 'fixed', // the mask of this mask
- maxLength: -1, // the maxLength of the mask
- defaultValue: '', // the default value for this input
- signal: false, // this should not be set, to use signal at masks put the signal you want ('-' or '+') at the default value of this mask.
- // See the defined masks for a better understanding.
-
- textAlign: true, // use false to not use text-align on any mask (at least not by the plugin, you may apply it using css)
- selectCharsOnFocus: true, // select all chars from input on its focus
- autoTab: true, // auto focus the next form element when you type the mask completely
- setSize: false, // sets the input size based on the length of the mask (work with fixed and reverse masks only)
- fixedChars : '[(),.:/ -]', // fixed chars to be used on the masks. You may change it for your needs!
-
- onInvalid : function(){},
- onValid : function(){},
- onOverflow : function(){}
- },
-
- // masks. You may add yours!
- // Ex: $.fn.setMask.masks.msk = {mask: '999'}
- // and then if the 'attr' options value is 'alt', your input should look like:
- //
- masks : {
- 'phone' : { mask : '(99) 9999-9999' },
- 'phone-us' : { mask : '(999) 999-9999' },
- 'cpf' : { mask : '999.999.999-99' }, // cadastro nacional de pessoa fisica
- 'cnpj' : { mask : '99.999.999/9999-99' },
- 'date' : { mask : '39/19/9999' }, //uk date
- 'date-us' : { mask : '19/39/9999' },
- 'cep' : { mask : '99999-999' },
- 'time' : { mask : '29:59' },
- 'cc' : { mask : '9999 9999 9999 9999' }, //credit card mask
- 'integer' : { mask : '999.999.999.999', type : 'reverse' },
- 'decimal' : { mask : '99,999.999.999.999', type : 'reverse', defaultValue : '000' },
- 'decimal-us' : { mask : '99.999,999,999,999', type : 'reverse', defaultValue : '000' },
- 'signed-decimal' : { mask : '99,999.999.999.999', type : 'reverse', defaultValue : '+000' },
- 'signed-decimal-us' : { mask : '99,999.999.999.999', type : 'reverse', defaultValue : '+000' }
- },
-
- init : function(){
- // if has not inited...
- if( !this.hasInit ){
-
- var self = this, i,
- keyRep = (isIphone)? this.iphoneKeyRepresentation: this.keyRepresentation;
-
- this.ignore = false;
-
- // constructs number rules
- for(i=0; i<=9; i++) this.rules[i] = new RegExp('[0-'+i+']');
-
- this.keyRep = keyRep;
- // ignore keys array creation for iphone or the normal ones
- this.ignoreKeys = [];
- $.each(keyRep,function(key){
- self.ignoreKeys.push( parseInt(key) );
- });
-
- this.hasInit = true;
- }
- },
-
- set: function(el,options){
-
- var maskObj = this,
- $el = $(el),
- mlStr = 'maxLength';
-
- options = options || {};
- this.init();
-
- return $el.each(function(){
-
- if(options.attr) maskObj.options.attr = options.attr;
-
- var $this = $(this),
- o = $.extend({}, maskObj.options),
- attrValue = $this.attr(o.attr),
- tmpMask = '';
-
- // then we look for the 'attr' option
- tmpMask = (typeof options == 'string')? options: (attrValue != '')? attrValue: null;
- if(tmpMask) o.mask = tmpMask;
-
- // then we see if it's a defined mask
- if(maskObj.masks[tmpMask]) o = $.extend(o, maskObj.masks[tmpMask]);
-
- // then it looks if the options is an object, if it is we will overwrite the actual options
- if(typeof options == 'object' && options.constructor != Array) o = $.extend(o, options);
-
- //then we look for some metadata on the input
- if($.metadata) o = $.extend(o, $this.metadata());
-
- if(o.mask != null){
-
- if($this.data('mask')) maskObj.unset($this);
-
- var defaultValue = o.defaultValue,
- reverse = (o.type=='reverse'),
- fixedCharsRegG = new RegExp(o.fixedChars, 'g');
-
- if(o.maxLength == -1) o.maxLength = $this.attr(mlStr);
-
- o = $.extend({}, o,{
- fixedCharsReg: new RegExp(o.fixedChars),
- fixedCharsRegG: fixedCharsRegG,
- maskArray: o.mask.split(''),
- maskNonFixedCharsArray: o.mask.replace(fixedCharsRegG, '').split('')
- });
-
- //setSize option (this is not removed from the input (while removing the mask) since this would be kind of funky)
- if((o.type=='fixed' || reverse) && o.setSize && !$this.attr('size')) $this.attr('size', o.mask.length);
-
- //sets text-align right for reverse masks
- if(reverse && o.textAlign) $this.css('text-align', 'right');
-
- if(this.value!='' || defaultValue!=''){
- // apply mask to the current value of the input or to the default value
- var val = maskObj.string((this.value!='')? this.value: defaultValue, o);
- //setting defaultValue fixes the reset button from the form
- this.defaultValue = val;
- $this.val(val);
- }
-
- // compatibility patch for infinite mask, that is now repeat
- if(o.type=='infinite') o.type = 'repeat';
-
- $this.data('mask', o);
-
- // removes the maxLength attribute (it will be set again if you use the unset method)
- $this.removeAttr(mlStr);
-
- // setting the input events
- $this.bind('keydown.mask', {func:maskObj._onKeyDown, thisObj:maskObj}, maskObj._onMask)
- .bind('keypress.mask', {func:maskObj._onKeyPress, thisObj:maskObj}, maskObj._onMask)
- .bind('keyup.mask', {func:maskObj._onKeyUp, thisObj:maskObj}, maskObj._onMask)
- .bind('paste.mask', {func:maskObj._onPaste, thisObj:maskObj}, maskObj._onMask)
- .bind('focus.mask', maskObj._onFocus)
- .bind('blur.mask', maskObj._onBlur)
- .bind('change.mask', maskObj._onChange);
- }
- });
- },
-
- //unsets the mask from el
- unset : function(el){
- var $el = $(el);
-
- return $el.each(function(){
- var $this = $(this);
- if($this.data('mask')){
- var maxLength = $this.data('mask').maxLength;
- if(maxLength != -1) $this.attr('maxLength', maxLength);
- $this.unbind('.mask')
- .removeData('mask');
- }
- });
- },
-
- //masks a string
- string : function(str, options){
- this.init();
- var o={};
- if(typeof str != 'string') str = String(str);
- switch(typeof options){
- case 'string':
- // then we see if it's a defined mask
- if(this.masks[options]) o = $.extend(o, this.masks[options]);
- else o.mask = options;
- break;
- case 'object':
- o = options;
- }
- if(!o.fixedChars) o.fixedChars = this.options.fixedChars;
-
- var fixedCharsReg = new RegExp(o.fixedChars),
- fixedCharsRegG = new RegExp(o.fixedChars, 'g');
-
- // insert signal if any
- if( (o.type=='reverse') && o.defaultValue ){
- if( typeof this.signals[o.defaultValue.charAt(0)] != 'undefined' ){
- var maybeASignal = str.charAt(0);
- o.signal = (typeof this.signals[maybeASignal] != 'undefined') ? this.signals[maybeASignal] : this.signals[o.defaultValue.charAt(0)];
- o.defaultValue = o.defaultValue.substring(1);
- }
- }
-
- return this.__maskArray(str.split(''),
- o.mask.replace(fixedCharsRegG, '').split(''),
- o.mask.split(''),
- o.type,
- o.maxLength,
- o.defaultValue,
- fixedCharsReg,
- o.signal);
- },
-
- // all the 3 events below are here just to fix the change event on reversed masks.
- // It isn't fired in cases that the keypress event returns false (needed).
- _onFocus: function(e){
- var $this = $(this), dataObj = $this.data('mask');
- dataObj.inputFocusValue = $this.val();
- dataObj.changed = false;
- if(dataObj.selectCharsOnFocus) $this.select();
- },
-
- _onBlur: function(e){
- var $this = $(this), dataObj = $this.data('mask');
- if(dataObj.inputFocusValue != $this.val() && !dataObj.changed)
- $this.trigger('change');
- },
-
- _onChange: function(e){
- $(this).data('mask').changed = true;
- },
-
- _onMask : function(e){
- var thisObj = e.data.thisObj,
- o = {};
- o._this = e.target;
- o.$this = $(o._this);
- // if the input is readonly it does nothing
- if(o.$this.attr('readonly')) return true;
- o.data = o.$this.data('mask');
- o[o.data.type] = true;
- o.value = o.$this.val();
- o.nKey = thisObj.__getKeyNumber(e);
- o.range = thisObj.__getRange(o._this);
- o.valueArray = o.value.split('');
- return e.data.func.call(thisObj, e, o);
- },
-
- _onKeyDown : function(e,o){
- // lets say keypress at desktop == keydown at iphone (theres no keypress at iphone)
- this.ignore = $.inArray(o.nKey, this.ignoreKeys) > -1 || e.ctrlKey || e.metaKey || e.altKey;
- if(this.ignore){
- var rep = this.keyRep[o.nKey];
- o.data.onValid.call(o._this, rep? rep: '', o.nKey);
- }
- return isIphone ? this._keyPress(e, o) : true;
- },
-
- _onKeyUp : function(e, o){
- //9=TAB_KEY 16=SHIFT_KEY
- //this is a little bug, when you go to an input with tab key
- //it would remove the range selected by default, and that's not a desired behavior
- if(o.nKey==9 || o.nKey==16) return true;
-
- if(o.data.type=='repeat'){
- this.__autoTab(o);
- return true;
- }
-
- return this._onPaste(e, o);
- },
-
- _onPaste : function(e,o){
- // changes the signal at the data obj from the input
- if(o.reverse) this.__changeSignal(e.type, o);
-
- var $thisVal = this.__maskArray(
- o.valueArray,
- o.data.maskNonFixedCharsArray,
- o.data.maskArray,
- o.data.type,
- o.data.maxLength,
- o.data.defaultValue,
- o.data.fixedCharsReg,
- o.data.signal
- );
-
- o.$this.val( $thisVal );
- // this makes the caret stay at first position when
- // the user removes all values in an input and the plugin adds the default value to it (if it haves one).
- if( !o.reverse && o.data.defaultValue.length && (o.range.start==o.range.end) )
- this.__setRange(o._this, o.range.start, o.range.end);
-
- //fix so ie's and safari's caret won't go to the end of the input value.
- if( ($.browser.msie || $.browser.safari) && !o.reverse)
- this.__setRange(o._this,o.range.start,o.range.end);
-
- if(this.ignore) return true;
-
- this.__autoTab(o);
- return true;
- },
-
- _onKeyPress: function(e, o){
-
- if(this.ignore) return true;
-
- // changes the signal at the data obj from the input
- if(o.reverse) this.__changeSignal(e.type, o);
-
- var c = String.fromCharCode(o.nKey),
- rangeStart = o.range.start,
- rawValue = o.value,
- maskArray = o.data.maskArray;
-
- if(o.reverse){
- // the input value from the range start to the value start
- var valueStart = rawValue.substr(0, rangeStart),
- // the input value from the range end to the value end
- valueEnd = rawValue.substr(o.range.end, rawValue.length);
-
- rawValue = valueStart+c+valueEnd;
- //necessary, if not decremented you will be able to input just the mask.length-1 if signal!=''
- //ex: mask:99,999.999.999 you will be able to input 99,999.999.99
- if(o.data.signal && (rangeStart-o.data.signal.length > 0)) rangeStart-=o.data.signal.length;
- }
-
- var valueArray = rawValue.replace(o.data.fixedCharsRegG, '').split(''),
- // searches for fixed chars begining from the range start position, till it finds a non fixed
- extraPos = this.__extraPositionsTill(rangeStart, maskArray, o.data.fixedCharsReg);
-
- o.rsEp = rangeStart+extraPos;
-
- if(o.repeat) o.rsEp = 0;
-
- // if the rule for this character doesnt exist (value.length is bigger than mask.length)
- // added a verification for maxLength in the case of the repeat type mask
- if( !this.rules[maskArray[o.rsEp]] || (o.data.maxLength != -1 && valueArray.length >= o.data.maxLength && o.repeat)){
- // auto focus on the next input of the current form
- o.data.onOverflow.call(o._this, c, o.nKey);
- return false;
- }
-
- // if the new character is not obeying the law... :P
- else if( !this.rules[maskArray[o.rsEp]].test( c ) ){
- o.data.onInvalid.call(o._this, c, o.nKey);
- return false;
- }
-
- else o.data.onValid.call(o._this, c, o.nKey);
-
- var $thisVal = this.__maskArray(
- valueArray,
- o.data.maskNonFixedCharsArray,
- maskArray,
- o.data.type,
- o.data.maxLength,
- o.data.defaultValue,
- o.data.fixedCharsReg,
- o.data.signal,
- extraPos
- );
-
- o.$this.val( $thisVal );
-
- return (o.reverse)? this._keyPressReverse(e, o): (o.fixed)? this._keyPressFixed(e, o): true;
- },
-
- _keyPressFixed: function(e, o){
-
- if(o.range.start==o.range.end){
- // the 0 thing is cause theres a particular behavior i wasnt liking when you put a default
- // value on a fixed mask and you select the value from the input the range would go to the
- // end of the string when you enter a char. with this it will overwrite the first char wich is a better behavior.
- // opera fix, cant have range value bigger than value length, i think it loops thought the input value...
- if((o.rsEp==0 && o.value.length==0) || o.rsEp < o.value.length)
- this.__setRange(o._this, o.rsEp, o.rsEp+1);
- }
- else
- this.__setRange(o._this, o.range.start, o.range.end);
-
- return true;
- },
-
- _keyPressReverse: function(e, o){
- //fix for ie
- //this bug was pointed by Pedro Martins
- //it fixes a strange behavior that ie was having after a char was inputted in a text input that
- //had its content selected by any range
- if($.browser.msie && ((o.range.start==0 && o.range.end==0) || o.range.start != o.range.end ))
- this.__setRange(o._this, o.value.length);
- return false;
- },
-
- __autoTab: function(o){
- if(o.data.autoTab
- && (
- (
- o.$this.val().length >= o.data.maskArray.length
- && !o.repeat
- ) || (
- o.data.maxLength != -1
- && o.valueArray.length >= o.data.maxLength
- && o.repeat
- )
- )
- ){
- var nextEl = this.__getNextInput(o._this, o.data.autoTab);
- if(nextEl){
- o.$this.trigger('blur');
- nextEl.focus().select();
- }
- }
- },
-
- // changes the signal at the data obj from the input
- __changeSignal : function(eventType,o){
- if(o.data.signal!==false){
- var inputChar = (eventType=='paste')? o.value.charAt(0): String.fromCharCode(o.nKey);
- if( this.signals && (typeof this.signals[inputChar] != 'undefined') ){
- o.data.signal = this.signals[inputChar];
- }
- }
- },
-
- __getKeyNumber : function(e){
- return (e.charCode||e.keyCode||e.which);
- },
-
- // this function is totaly specific to be used with this plugin, youll never need it
- // it gets the array representing an unmasked string and masks it depending on the type of the mask
- __maskArray : function(valueArray, maskNonFixedCharsArray, maskArray, type, maxlength, defaultValue, fixedCharsReg, signal, extraPos){
- if(type == 'reverse') valueArray.reverse();
- valueArray = this.__removeInvalidChars(valueArray, maskNonFixedCharsArray, type=='repeat'||type=='infinite');
- if(defaultValue) valueArray = this.__applyDefaultValue.call(valueArray, defaultValue);
- valueArray = this.__applyMask(valueArray, maskArray, extraPos, fixedCharsReg);
- switch(type){
- case 'reverse':
- valueArray.reverse();
- return (signal || '')+valueArray.join('').substring(valueArray.length-maskArray.length);
- case 'infinite': case 'repeat':
- var joinedValue = valueArray.join('');
- return (maxlength != -1 && valueArray.length >= maxlength)? joinedValue.substring(0, maxlength): joinedValue;
- default:
- return valueArray.join('').substring(0, maskArray.length);
- }
- return '';
- },
-
- // applyes the default value to the result string
- __applyDefaultValue : function(defaultValue){
- var defLen = defaultValue.length,thisLen = this.length,i;
- //removes the leading chars
- for(i=thisLen-1;i>=0;i--){
- if(this[i]==defaultValue.charAt(0)) this.pop();
- else break;
- }
- // apply the default value
- for(i=0;i 0 || formEl.offsetHeight > 0)
- && formEl.nodeName != 'FIELDSET'
- && (selector === true || (typeof selector == 'string' && $formEl.is(selector)));
- },
-
- // http://www.bazon.net/mishoo/articles.epl?art_id=1292
- __setRange : function(input, start, end) {
- if(typeof end == 'undefined') end = start;
- if (input.setSelectionRange){
- input.setSelectionRange(start, end);
- }
- else{
- // assumed IE
- var range = input.createTextRange();
- range.collapse();
- range.moveStart('character', start);
- range.moveEnd('character', end - start);
- range.select();
- }
- },
-
- // adaptation from http://digitarald.de/project/autocompleter/
- __getRange : function(input){
- if (!$.browser.msie) return {start: input.selectionStart, end: input.selectionEnd};
- var pos = {start: 0, end: 0},
- range = document.selection.createRange();
- pos.start = 0 - range.duplicate().moveStart('character', -100000);
- pos.end = pos.start + range.text.length;
- return pos;
- },
-
- //deprecated
- unmaskedVal : function(el){
- return $(el).val().replace($.mask.fixedCharsRegG, '');
- }
-
- }
- });
-
- $.fn.extend({
- setMask : function(options){
- return $.mask.set(this, options);
- },
- unsetMask : function(){
- return $.mask.unset(this);
- },
- //deprecated
- unmaskedVal : function(){
- return $.mask.unmaskedVal(this[0]);
- }
- });
-})(jQuery);
diff --git a/catalog/view/theme/default/template/payment/moip.tpl b/catalog/view/theme/default/template/payment/moip.tpl
deleted file mode 100644
index 88112cc..0000000
--- a/catalog/view/theme/default/template/payment/moip.tpl
+++ /dev/null
@@ -1 +0,0 @@
-
*
* @version 1.0.0
*/
?>
'.$parcela['de'].''.$parcela['para'].''.$parcela['juros'].'
';
else:
$moip_parcelas .= ''.$parcela['de'].''.$parcela['para'].''.$parcela['juros'].'';
endif;
}
// Captura o comentário do cliente
if (!empty($this->session->data['comment'])):
$moip_mensagem = '';
$moip_mensagem .= '' . $this->session->data['comment'] . '';
$moip_mensagem .= '';
else:
$moip_mensagem = '';
endif;
// Inicia cURL
$ch = curl_init();
$header[] = "Authorization: Basic " . base64_encode($apitoken.':'.$apikey);
// Seta opçoes e parâmetro
$options = array(CURLOPT_URL => $action,
CURLOPT_HTTPHEADER => $header,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => utf8_encode('
'.$nometranzacao.''.$valorTotalPedido.''.$codipedido.''.$nome.''.$email.''.$codipedido.''.$endereco.''.$numero.'Desconhecido'.$endereco2.''.$cidade.''.strtoupper($estado).'BRA'.$cep.''.$dddtelefone.''.$diasCorridosBoleto.''.$instrucaoUmBoleto.''.$instrucaoDoisBoleto.''.$instrucaoTresBoleto.''.$urlLogoBoleto.''.
$moip_parcelas
.''.
$moip_mensagem
.'
'),
CURLOPT_RETURNTRANSFER => true
);
curl_setopt_array($ch, $options);
// Executa cURL
$response = curl_exec($ch);
// Fecha coneçao cURL
curl_close($ch);
// Transforma string em elemento XML
$xml = simplexml_load_string($response);
// Acessa XML e pega "Token de Pagamento"
$payment_token = $xml->Resposta->Token;
?>
ERRO Token de Segurança
Sucesso
Pagar Com Cartão de Crédito
Nome:
Conforme escrito no cartão
Número do cartão:
Apenas números
Validade
Apenas números
Código de Segurança:
Apenas números
Data de nascimento:
Apenas números
Telefone:
Apenas números
Nº CPF':
Apenas números
Desejo parcelar em:
session->data['customer_id'])): ?>
Desejo Armazenar as informações:
Pagar Com Boleto
Pagar Com Débito em Conta
\ No newline at end of file
diff --git a/image/flags_moip.jpg b/image/flags_moip.jpg
deleted file mode 100644
index f9075db15d563b256792b5c75660ebbdbf04c70f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 17999
zcmeHubzD?U*yvdr>BgW11gTweK}5QwQ$Uf0rD2IB4MY(Hq+3EtQcAj2N<~B(BqXF;
z5Cn;Pc2VEg?|bk4Zv5`={&C;g-#lmLsd=7f=A4;1XZCpbcoLvgQ&Lp|AUF`
z08B^-E(sNq6cT2I2}ufzOA3jDvH)&6V*p6U`K2G?mX7+gPmG5KjPL;&ZvZo;S&b$|+Z1tW5DJ^p(vF*uNVyb6$FeKMEV0C0}i
z0CH>%u)2qlJRSuC08%0%B4Q#^Vq#J%l2as9bQGkd6m*OJKBJjmjvK<2X;J`wAf};Bo{%$IZ)0lH(p{83^Th)$g&2J+#n)MA
zF@|1)Y2?@PfR;XwnJp#m*zAWDajpGdwx3nD4a|NswDt^)u3oZAssHnQ;wO31D5
z7@FUu0&s9ZYw@r)5fb2wVohL!QsaRZxU$pW!~COYF&4bi?b#4MkC<}1A1$v(XX!4o
z$w`1QfRIb{buVZ{7K4?dffyP&{o929z6IQWnQ;6GAjQSDNd?FN!}|*`!R5;7{;k^W
z%1V)%%8U+H{W-(WPI@OG+bs0)^kKwo!%bZA16nq#i2%QMmCNCjbp&A@sfF8U)eX)Bdrhn
zOwFlBUJHJoBED1n2s;L@8_O7be>e*JAh>l5d^kKSlX(oZ_@y5MAKN0jUHr0LTnBFH
zP0j2{RPOnyj~@e~E60G!?wu0k6NXi_lDV_umy3`x7tg%Uid{(vRYbft=chZQXNY|7
z;JAA?`atqfN~YzS*H$RQ^5{zQ@&nfu*B9}=q)3I-bQy=|4)S-y4=272-SiUW+b$TJz1+V}O4KZ1JGuyUhGi)KSzy1lD4muljCV0T9N`nW@KDZ6Y27
znw=94!jtfp$y>NB*0^B4SG#oAucwLX#|Mw^-nnPyNwri$iug+hm3D>HC%T?BBexw7
z50A2BWcp2x0bLl1#mKiyZpblj(821EMbD+&X3aO*=%U}2r{C2{KdEiM<-(f%sAJ&K
z!TQ2y%@02N{71>h0Ld}ndJIe+a=LsbJqAX)QESzE?{*aZ59WAhWQGnL;^G~>b1?xCG>Lg?Yy
zz{4jE9W6ORzh
zbIoA4d|dyI`VnyqcqH(8vka_ndVM@nK6-4DBp6CToY1v2MKv{5@-;b>##
zuHaJB!y^ILAl?1u0ZC7d!E&ad%5)|Z=IBN#Y}@BYNnH8ZmhTJ*i?7-)?*-$u