public function generateToken() { if ($this->request->server['HTTPS']) { $server = $this->config->get('config_ssl'); } else { $server = $this->config->get('config_url'); } if ($this->config->get('masterpass_ambiente')) { $settings['requesturl'] = "https://api.mastercard.com/oauth/consumer/v1/request_token"; $settings['shoppingcarturl'] = "https://api.mastercard.com/masterpass/v6/shopping-cart"; $settings['accessurl'] = "https://api.mastercard.com/oauth/consumer/v1/access_token"; $settings['postbackurl'] = "https://api.mastercard.com/masterpass/v6/transaction"; $settings['precheckouturl'] = "https://api.mastercard.com/masterpass/v6/precheckout"; $settings['merchantiniturl'] = "https://api.mastercard.com/masterpass/v6/merchant-initialization"; $settings['lightboxurl'] = "https://masterpass.com/lightbox/Switch/integration/MasterPass.client.js"; } else { $settings['requesturl'] = "https://sandbox.api.mastercard.com/oauth/consumer/v1/request_token"; $settings['shoppingcarturl'] = "https://sandbox.api.mastercard.com/masterpass/v6/shopping-cart"; $settings['accessurl'] = "https://sandbox.api.mastercard.com/oauth/consumer/v1/access_token"; $settings['postbackurl'] = "https://sandbox.api.mastercard.com/masterpass/v6/transaction"; $settings['precheckouturl'] = "https://sandbox.api.mastercard.com/masterpass/v6/precheckout"; $settings['merchantiniturl'] = "https://sandbox.api.mastercard.com/masterpass/v6/merchant-initialization"; $settings['lightboxurl'] = "https://sandbox.masterpass.com/lightbox/Switch/integration/MasterPass.client.js"; } $settings['callbackdomain'] = $server; $settings['pairingcallbackpath'] = "/masterpass_paring_callback"; $settings['cartcallbackpath'] = "/masterpass_review_order"; $settings['callbackpath'] = "/masterpass_callback"; $settings['connectedcallbackpath'] = "/masterpass_callback&connect=true"; $settings['consumerkey'] = $this->config->get('masterpass_consumer_key'); $settings['checkoutidentifier'] = $this->config->get('masterpass_checkout_indentifier'); $settings['keystorepath'] = "Certs/MCOpenAPI.p12"; $settings['keystorepassword'] = "******"; $settings['realm'] = "eWallet"; $settings['auth_level_basic'] = "false"; $settings['xmlVersion'] = "v6"; $settings['shippingSuppression'] = "false"; $settings['shippingprofiles'] = "BR,BRA"; $settings['standbycallback'] = "http://ech-0a9d8282.corp.mastercard.test"; $settings['allowedloyaltyprograms'] = "4878508, 4735583"; require_once DIR_SYSTEM . 'library/masterpass/WalletWebContent/Controller/MasterPassController.php'; $sad = new MasterPassData($settings); $controller = new MasterPassController($sad); // GetRequestToken try { $sad = $controller->getRequestToken(); } catch (Exception $e) { exit($e->getMessage()); } // ShoppingCart try { $xml = ''; $this->load->model('tool/image'); if ($this->cart->hasProducts()) { $xml .= '<ShoppingCartRequest>'; $xml .= '<OAuthToken></OAuthToken>'; $xml .= '<ShoppingCart>'; $xml .= '<CurrencyCode>BRL</CurrencyCode>'; $xml .= '<Subtotal>' . str_replace('.', '', str_replace(',', '', str_replace('R$ ', '', $this->currency->format($this->cart->getSubTotal())))) . '</Subtotal>'; foreach ($this->cart->getProducts() as $product) { if ($product['image']) { $image = $this->model_tool_image->resize($product['image'], 400, 400); } else { $image = $this->model_tool_image->resize('placeholder.png', 400, 400); } $xml .= '<ShoppingCartItem>'; $xml .= '<Description>' . $product['name'] . '</Description>'; $xml .= '<Quantity>' . $product['quantity'] . '</Quantity>'; $xml .= '<Value>' . str_replace('.', '', str_replace(',', '', str_replace('R$ ', '', $this->currency->format($product['price'])))) . '</Value>'; $xml .= '<ImageURL>' . $image . '</ImageURL>'; $xml .= '</ShoppingCartItem>'; } $xml .= '</ShoppingCart>'; $xml .= '<OriginUrl></OriginUrl>'; $xml .= '</ShoppingCartRequest>'; } $sad = $controller->postShoppingCart($xml); } catch (Exception $e) { exit($e->getMessage()); } $this->session->data['sad'] = serialize($sad); exit('var fileref = document.createElement(\'script\');fileref.setAttribute("type", "text/javascript");fileref.setAttribute("src", "' . $sad->lightboxUrl . '");fileref.onload = function() {MasterPass.client.checkout({"requestToken":"' . $sad->requestToken . '","callbackUrl":"' . $sad->callbackUrl . '","merchantCheckoutId":"' . $sad->checkoutIdentifier . '","allowedCardTypes":["master,amex,diners,visa"],"version":"v6"});};document.getElementsByTagName(\'body\')[0].appendChild(fileref);'); }
public function index() { $this->document->setPage('success'); $this->load->language('checkout/success'); $this->load->model('account/order'); $this->load->model('checkout/order'); if (isset($this->session->data['order_id'])) { $this->cart->clear(); } else { $this->response->redirect($this->url->link('common/home', '', 'SSL')); } if (!isset($this->session->data['payment_method'])) { $this->response->redirect($this->url->link('common/home', '', 'SSL')); } $this->document->setTitle($this->language->get('heading_title')); $order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']); $order_products = $this->model_account_order->getOrderProducts($this->session->data['order_id']); $data['payment_method'] = $this->session->data['payment_method']['code']; $params['order_id'] = $this->session->data['order_id']; $params['order_total_conversion'] = number_format($order_info['total'], 2, ".", ""); $shipping = $this->model_checkout_order->getOrderTotal($this->session->data['order_id'], 'shipping'); $params['shipping_total_conversion'] = number_format($shipping['value'], 2, ".", ""); $params['city'] = $order_info['payment_city']; $params['zone'] = $order_info['payment_zone']; $params['products'] = $order_products; $data['ecommerce_conversion'] = $this->load->controller('script/ecommerce_conversion', $params); $data['adwords_conversion'] = $this->load->controller('script/adwords_conversion', $params); $data['bing_conversion'] = $this->load->controller('script/bing_conversion', $params); if (isset($this->session->data['sad']) && isset($this->session->data['checkoutObjectCard'])) { require_once DIR_SYSTEM . 'library/masterpass/WalletWebContent/Controller/MasterPassController.php'; $sad = unserialize($this->session->data['sad']); $controller = new MasterPassController($sad); $errorMessage = null; try { $xml = ''; $this->load->model('tool/image'); if ($order_products) { $subtotal = 0; foreach ($order_products as $product) { $subtotal += $product['price'] * $product['quantity']; } $xml .= '<ShoppingCartRequest>'; $xml .= '<OAuthToken></OAuthToken>'; $xml .= '<ShoppingCart>'; $xml .= '<CurrencyCode>BRL</CurrencyCode>'; $xml .= '<Subtotal>' . str_replace('.', '', str_replace(',', '', str_replace('R$ ', '', $this->currency->format($subtotal)))) . '</Subtotal>'; foreach ($order_products as $product) { if (isset($product['image']) && $product['image']) { $image = $this->model_tool_image->resize($product['image'], 400, 400); } else { $image = $this->model_tool_image->resize('placeholder.png', 400, 400); } $xml .= '<ShoppingCartItem>'; $xml .= '<Description>' . $product['name'] . '</Description>'; $xml .= '<Quantity>' . $product['quantity'] . '</Quantity>'; $xml .= '<Value>' . str_replace('.', '', str_replace(',', '', str_replace('R$ ', '', $this->currency->format($product['price'])))) . '</Value>'; $xml .= '<ImageURL>' . $image . '</ImageURL>'; $xml .= '</ShoppingCartItem>'; } $xml .= '</ShoppingCart>'; $xml .= '<OriginUrl></OriginUrl>'; $xml .= '</ShoppingCartRequest>'; } //Success or Failure $sad = $controller->logTransaction($this->session->data['checkoutObjectCard']['TransactionId'], $xml, 'Success', str_replace('.', '', str_replace(',', '', str_replace('R$ ', '', $this->currency->format($order_info['total']))))); } catch (Exception $e) { exit($e->getCode() . '<br>' . $e->getMessage()); } } $data['msg_success_left'] = $data['msg_success_right'] = ''; if ($this->session->data['payment_method']['code'] == 'stelo') { $this->load->model('payment/stelo'); $stelo = $this->model_payment_stelo->getTransaction($this->session->data['order_id']); $data['urlWallet'] = $stelo['link_wallet']; $data['msg_success_right'] = $this->makeTextCard('right', 'Aguarde um momento enquanto carrega a tela do ambiente Stelo, para que você possa prosseguir com o pagamento. <br/>Lembre-se estamos aguardando confirmação do pagamento para preparar seu produto para envio.'); } if ($this->session->data['payment_method']['code'] == 'pagseguro_billet') { if (isset($this->session->data['paymentLink'])) { $data['msg_success_left'] = $this->makeTextBillet('pagseguro_billet', 'left', $this->session->data['paymentLink']); } $data['msg_success_right'] = $this->makeTextBillet('pagseguro_billet', 'right'); } if ($this->session->data['payment_method']['code'] == 'pagseguro_card') { $data['msg_success_right'] = $this->makeTextCard('right', 'Estamos aguardando o retorno de autorização da operadora de seu cartão para preparar seu produto para envio. <br/>Isso pode demorar alguns minutos ou algumas horas.'); } if ($this->session->data['payment_method']['code'] == 'paypal_plus') { $data['msg_success_right'] = $this->makeTextCard('right', 'Estamos aguardando o retorno de autorização da operadora de seu cartão para preparar seu produto para envio. <br/>Isso pode demorar alguns minutos ou algumas horas.'); } if ($this->session->data['payment_method']['code'] == 'mercadopago_billet') { if (isset($this->session->data['paymentLink'])) { $data['msg_success_left'] = $this->makeTextBillet('mercadopago_billet', 'left', $this->session->data['paymentLink']); } $data['msg_success_right'] = $this->makeTextBillet('mercadopago_billet', 'right'); } if ($this->session->data['payment_method']['code'] == 'mercadopago_card') { $data['msg_success_right'] = $this->makeTextCard('right', 'Estamos aguardando o retorno de autorização da operadora de seu cartão para preparar seu produto para envio. <br/>Isso pode demorar alguns minutos ou algumas horas.'); } if ($this->session->data['payment_method']['code'] == 'cielows') { $data['msg_success_right'] = $this->makeTextCard('right', 'Estamos aguardando o retorno de autorização da operadora de seu cartão para preparar seu produto para envio. <br/>Isso pode demorar alguns minutos ou algumas horas.'); } if ($this->session->data['payment_method']['code'] == 'redecardws') { $data['msg_success_right'] = $this->makeTextCard('right', 'Estamos aguardando o retorno de autorização da operadora de seu cartão para preparar seu produto para envio. <br/>Isso pode demorar alguns minutos ou algumas horas.'); } if ($this->session->data['payment_method']['code'] == 'braspag_card') { $data['msg_success_right'] = $this->makeTextCard('right', 'Estamos aguardando o retorno de autorização da operadora de seu cartão para preparar seu produto para envio. <br/>Isso pode demorar alguns minutos ou algumas horas.'); } if ($this->session->data['payment_method']['code'] == 'braspag_billet') { $this->load->model('payment/braspag_billet'); $braspag_billet = $this->model_payment_braspag_billet->getTransaction($this->session->data['order_id']); $data['msg_success_left'] = $this->makeTextBillet('braspag_billet', 'left', $braspag_billet['url']); $data['msg_success_right'] = $this->makeTextBillet('braspag_billet', 'right'); } if ($this->session->data['payment_method']['code'] == 'boldcron_card') { $data['msg_success_right'] = $this->makeTextCard('right', 'Estamos aguardando o retorno de autorização da operadora de seu cartão para preparar seu produto para envio. <br/>Isso pode demorar alguns minutos ou algumas horas.'); } if ($this->session->data['payment_method']['code'] == 'boldcron_billet') { $this->load->model('payment/boldcron_billet'); $braspag_billet = $this->model_payment_boldcron_billet->getTransaction($this->session->data['order_id']); $data['msg_success_left'] = $this->makeTextBillet('boldcron_billet', 'left', $braspag_billet['url']); $data['msg_success_right'] = $this->makeTextBillet('boldcron_billet', 'right'); } if ($this->session->data['payment_method']['code'] == 'braspag_card_debit') { $this->load->model('payment/braspag_card_debit'); $braspag_billet = $this->model_payment_braspag_card_debit->getTransaction($this->session->data['order_id']); $data['msg_success_left'] = $this->makeTextCardDebit('left', $braspag_billet['url']); $data['msg_success_right'] = $this->makeTextCardDebit('right'); } if ($this->session->data['payment_method']['code'] == 'moip_card') { $data['msg_success_right'] = $this->makeTextCard('right', 'Estamos aguardando o retorno de autorização da operadora de seu cartão para preparar seu produto para envio. <br/>Isso pode demorar alguns minutos ou algumas horas.'); unset($this->session->data['method']); unset($this->session->data['code']); unset($this->session->data['status']); unset($this->session->data['codigo_moip']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'moip_billet') { $boleto_moip = $this->model_checkout_order->getTransacaoMoipBillet($this->session->data['order_id']); $data['msg_success_left'] = $this->makeTextBillet('moip_billet', 'left', $boleto_moip['url']); $data['msg_success_right'] = $this->makeTextBillet('moip_billet', 'right'); unset($this->session->data['method']); unset($this->session->data['code']); unset($this->session->data['status']); unset($this->session->data['codigo_moip']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'moip_debit') { $debito_moip = $this->model_checkout_order->getTransacaoMoipDebit($this->session->data['order_id']); $data['msg_success_left'] = '<ul style="font-size:13px;margin-top:15px">'; $data['msg_success_left'] .= '<li>'; $data['msg_success_left'] .= '<p style="text-align:center;color:#000;font-weight:bold">Clique no logo abaixo para abrir a área do banco</p><br/>'; $data['msg_success_left'] .= '</li>'; $data['msg_success_left'] .= '</ul>'; $data['msg_success_left'] .= '<div style="text-align:center"><a href="' . $debito_moip['url'] . '" target="_blank"><img src="image/payment/moip/transferencia_bancaria.jpg"></a></div><br/>'; $data['msg_success_left'] .= '<div style="text-align:center"><p>O link também será enviado para o e-mail: <b>' . $this->customer->getEmail() . '</b></p></div>'; $data['msg_success_right'] = '<ul style="font-size:13px;text-align:center;">'; $data['msg_success_right'] .= '<li>'; $data['msg_success_right'] .= '<p style="text-align:center;color:#000;font-size:17px;font-weight:500">Pedido Concluído</p><br/>'; $data['msg_success_right'] .= '</li>'; $data['msg_success_right'] .= '<li>'; $data['msg_success_right'] .= '<h4 style="color:#000;">Local para pagamento:</h4>'; $data['msg_success_right'] .= '<p style="color:#000;font-size:15px;font-weight:600;">Seu pedido pode ser pago via internet banking (Débito Online)</p>'; $data['msg_success_right'] .= '</li>'; $data['msg_success_right'] .= '<li>'; $data['msg_success_right'] .= '<p style="color:#000;font-size:15px;font-weight:600;">Lembre-se estamos aguardando confirmação do pagamento para preparar seu produto para envio.</p><br/>'; $data['msg_success_right'] .= '</li>'; $data['msg_success_right'] .= '<li>'; $data['msg_success_right'] .= '<p style="font-size:16px;">Obrigado por comprar na <b>' . $this->config->get('config_name') . '!</b></p><br/>'; $data['msg_success_right'] .= '</li>'; $data['msg_success_right'] .= '</ul>'; unset($this->session->data['method']); unset($this->session->data['code']); unset($this->session->data['status']); unset($this->session->data['codigo_moip']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'bcash_card') { $data['msg_success_right'] = $this->makeTextCard('right', 'Estamos aguardando o retorno de autorização da operadora de seu cartão para preparar seu produto para envio. <br/>Isso pode demorar alguns minutos ou algumas horas.'); unset($this->session->data['transactionld']); unset($this->session->data['status']); unset($this->session->data['message']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'bcash_billet') { $boleto_bcash = $this->model_checkout_order->getTransacaoBcashBillet($this->session->data['order_id']); $data['msg_success_left'] = $this->makeTextBillet('bcash_billet', 'left', $boleto_bcash['url']); $data['msg_success_right'] = $this->makeTextBillet('bcash_billet', 'right'); unset($this->session->data['transactionld']); unset($this->session->data['status']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'bcash_debit') { $debito_bcash = $this->model_checkout_order->getTransacaoBcashDebit($this->session->data['order_id']); $data['msg_success_left'] = '<ul style="font-size:13px;margin-top:15px">'; $data['msg_success_left'] .= '<li>'; $data['msg_success_left'] .= '<p style="text-align:center;color:#000;font-weight:bold">Clique no logo abaixo para abrir a área do banco</p><br/>'; $data['msg_success_left'] .= '</li>'; $data['msg_success_left'] .= '</ul>'; $data['msg_success_left'] .= '<div style="text-align:center"><a href="' . $debito_bcash['url'] . '" target="_blank"><img src="image/payment/bcash/transferencia_bancaria.jpg"></a></div><br/>'; $data['msg_success_left'] .= '<div style="text-align:center"><p>O link também será enviado para o e-mail: <b>' . $this->customer->getEmail() . '</b></p></div>'; $data['msg_success_right'] = '<ul style="font-size:13px;text-align:center;">'; $data['msg_success_right'] .= '<li>'; $data['msg_success_right'] .= '<p style="text-align:center;color:#000;font-size:17px;font-weight:500">Pedido Concluído</p><br/>'; $data['msg_success_right'] .= '</li>'; $data['msg_success_right'] .= '<li>'; $data['msg_success_right'] .= '<h4 style="color:#000;">Local para pagamento:</h4>'; $data['msg_success_right'] .= '<p style="color:#000;font-size:15px;font-weight:600;">Seu pedido pode ser pago via internet banking (Débito Online)</p>'; $data['msg_success_right'] .= '</li>'; $data['msg_success_right'] .= '<li>'; $data['msg_success_right'] .= '<p style="color:#000;font-size:15px;font-weight:600;">Lembre-se estamos aguardando confirmação do pagamento para preparar seu produto para envio.</p><br/>'; $data['msg_success_right'] .= '</li>'; $data['msg_success_right'] .= '<li>'; $data['msg_success_right'] .= '<p style="font-size:16px;">Obrigado por comprar na <b>' . $this->config->get('config_name') . '!</b></p><br/>'; $data['msg_success_right'] .= '</li>'; $data['msg_success_right'] .= '</ul>'; unset($this->session->data['transactionld']); unset($this->session->data['status']); unset($this->session->data['paymentmethod_code_bcash']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'payu_billet') { $boleto_payu = $this->model_checkout_order->getTransacaoPayuBillet($this->session->data['order_id']); $data['msg_success_left'] = $this->makeTextBillet('payu_billet', 'left', $boleto_payu['url']); $data['msg_success_right'] = $this->makeTextBillet('payu_billet', 'right'); unset($this->session->data['transactionld']); unset($this->session->data['orderld']); unset($this->session->data['status']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'payu_card') { if ($this->session->data['status'] == "APPROVED") { $data['msg_success_right'] = $this->makeTextCard('right', 'Pedido autorizado pera operadora do seu cartão, estaremos preparando seu produto para envio.'); } else { if ($this->session->data['status'] == "DECLINED" || $this->session->data['status'] == "SUBMITTED" || $this->session->data['status'] == "ERROR" || $this->session->data['status'] == "EXPIRED") { $this->model_checkout_order->addOrderHistory($this->session->data['order_id'], $this->config->get('config_status_canceled'), 'Pedido negado pela autorizadora!', true, '', true, 'payu_card'); // função que volta os produtos do pedido para o estoque $this->cart->backProductsStock($this->session->data['order_id']); $this->session->data['error_transaction'] = true; ?> <script type="text/javascript"> top.window.location.href = '<?php echo URL_CHECKOUT; ?> '; </script> <?php } else { if ($this->session->data['status'] == "PENDING") { $data['msg_success_right'] = $this->makeTextCard('right', 'Estamos aguardando o retorno de autorização da operadora de seu cartão para preparar seu produto para envio. <br/>Isso pode demorar alguns minutos ou algumas horas.'); } } } unset($this->session->data['transactionld']); unset($this->session->data['orderld']); unset($this->session->data['status']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'bradesco_billet') { $this->load->model('payment/bradesco_billet'); $this->model_payment_bradesco_billet->addTransactionBradescoBillet($this->session->data['order_id'], $this->session->data['url']); $data['msg_success_left'] = $this->makeTextBillet('bradesco_billet', 'left', $this->session->data['url']); $data['msg_success_right'] = $this->makeTextBillet('bradesco_billet', 'right'); unset($this->session->data['method']); unset($this->session->data['code']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'itau_billet') { $this->load->model('payment/itau_billet'); $this->model_payment_itau_billet->addTransactionItauBillet($this->session->data['order_id'], $this->session->data['url']); $data['msg_success_left'] .= '<div>' . $this->session->data['url'] . '</div><br/>'; $data['msg_success_left'] .= '<div><a onclick="generateBillet(' . $this->session->data['order_id'] . ');" target="_blank" class="btn btn-finaly btn-lg link_print"> IMPRIMIR BOLETO</a></div><br/>'; $data['msg_success_left'] .= '<div style="text-align:center"><p>O boleto também será enviado para o e-mail: <b>' . $this->customer->getEmail() . '</b></p></div>'; $data['msg_success_left'] .= '<div style="text-align:center"><a onclick="generateBillet(' . $this->session->data['order_id'] . ');" target="_blank" class="btn btn-finaly btn-md link_visualize"> Visualizar Boleto</a></div><br/>'; $data['msg_success_right'] = $this->makeTextBillet('itau_billet', 'right'); unset($this->session->data['method']); unset($this->session->data['code']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'bb_billet') { $this->load->model('payment/bb_billet'); $this->model_payment_bb_billet->addTransactionBbBillet($this->session->data['order_id'], $this->session->data['url']); $data['msg_success_left'] .= '<div>' . $this->session->data['url'] . '</div><br/>'; $data['msg_success_left'] .= '<div><a onclick="generateBillet(' . $this->session->data['order_id'] . ');" target="_blank" class="btn btn-finaly btn-lg link_print"> IMPRIMIR BOLETO</a></div><br/>'; $data['msg_success_left'] .= '<div style="text-align:center"><p>O boleto também será enviado para o e-mail: <b>' . $this->customer->getEmail() . '</b></p></div>'; $data['msg_success_left'] .= '<div style="text-align:center"><a onclick="generateBillet(' . $this->session->data['order_id'] . ');" target="_blank" class="btn btn-finaly btn-md link_visualize"> Visualizar Boleto</a></div><br/>'; $data['msg_success_right'] = $this->makeTextBillet('bb_billet', 'right'); unset($this->session->data['method']); unset($this->session->data['code']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'hsbc_generic_billet') { $this->load->model('payment/hsbc_generic_billet'); $this->model_payment_hsbc_generic_billet->addTransactionHsbcGenericBillet($this->session->data['order_id'], $this->session->data['url']); $data['msg_success_left'] = $this->makeTextBillet('hsbc_generic_billet', 'left', $this->session->data['url']); $data['msg_success_right'] = $this->makeTextBillet('hsbc_generic_billet', 'right'); unset($this->session->data['method']); unset($this->session->data['code']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'bb_generic_billet') { $this->load->model('payment/bb_generic_billet'); $this->model_payment_bb_generic_billet->addTransactionBbGenericBillet($this->session->data['order_id'], $this->session->data['url']); $data['msg_success_left'] = $this->makeTextBillet('bb_generic_billet', 'left', $this->session->data['url']); $data['msg_success_right'] = $this->makeTextBillet('bb_generic_billet', 'right'); unset($this->session->data['method']); unset($this->session->data['code']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'caixa_generic_billet') { $this->load->model('payment/caixa_generic_billet'); $this->model_payment_caixa_generic_billet->addTransactionCaixaGenericBillet($this->session->data['order_id'], $this->session->data['url']); $data['msg_success_left'] = $this->makeTextBillet('caixa_generic_billet', 'left', $this->session->data['url']); $data['msg_success_right'] = $this->makeTextBillet('caixa_generic_billet', 'right'); unset($this->session->data['method']); unset($this->session->data['code']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'santander_generic_billet') { $this->load->model('payment/santander_generic_billet'); $this->model_payment_santander_generic_billet->addTransactionSantanderGenericBillet($this->session->data['order_id'], $this->session->data['url']); $data['msg_success_left'] = $this->makeTextBillet('santander_generic_billet', 'left', $this->session->data['url']); $data['msg_success_right'] = $this->makeTextBillet('santander_generic_billet', 'right'); unset($this->session->data['method']); unset($this->session->data['code']); unset($this->session->data['session_id']); } if ($this->session->data['payment_method']['code'] == 'deposit') { $data['msg_success_left'] = '<ul style="font-size:13px;">'; $data['msg_success_left'] .= '<li>'; $data['msg_success_left'] .= '<h4 style="color:#000;">Efetuar pagamento:</h4>'; $data['msg_success_left'] .= '<p>Efetue o depósito na conta corrente à seguir e nos envie o comprovante com número do seu pedido para o e-mail <span><b>' . $this->config->get('config_email') . '</b></span> desta forma podemos agilizar o processo de envio de seu produto.</p>'; $data['msg_success_left'] .= '</li>'; $data['msg_success_left'] .= '</ul>'; $data['msg_success_right'] = '<div>'; $data['msg_success_right'] .= '<p id="text_dadosdeposit"><b style="color:#000;">DADOS PARA DEPOSÍTO OU TRANSFÊRENCIA: <span id="print_dadosdeposit" onclick="javascript:print();"><img src="image/deposito_print.png" style="vertical-align:middle;"> imprimir os dados</span></b></p>'; $data['msg_success_right'] .= '<p id="deposit_data">'; $data['msg_success_right'] .= html_entity_decode($this->config->get('deposit_data')); $data['msg_success_right'] .= '<br/><b>Total a pagar: </b>' . $this->currency->format($order_info['total']); $data['msg_success_right'] .= '</p>'; $data['msg_success_right'] .= '</div>'; $data['msg_success_right'] .= '<p>Lembre-se estamos aguardando confirmação do pagamento para preparar seu produto para envio.</p>'; } unset($this->session->data['coupon']); unset($this->session->data['voucher']); unset($this->session->data['login_aps']); unset($this->session->data['pdv']); //Variaveis Masterpass unset($this->session->data['checkoutObjectCard']); unset($this->session->data['sad']); unset($this->session->data['EmailCpfDetected']); $data['total'] = $this->currency->format($order_info['total']); $data['total_conversion'] = number_format($order_info['total'], 2, ".", ""); $data['email'] = $this->customer->getEmail(); $data['telephone'] = $this->config->get('config_telephone'); $data['name_store'] = $this->config->get('config_name'); $data['firstname'] = $this->customer->getFirstName(); $data['order_id'] = $this->session->data['order_id']; $data['email_order'] = $this->config->get('config_email'); $data['seal_banner_ebit'] = html_entity_decode($this->config->get('seal_banner_ebit')); $data['column_left'] = $this->load->controller('common/column_left'); $data['column_right'] = $this->load->controller('common/column_right'); $data['content_top'] = $this->load->controller('common/content_top'); $data['content_bottom'] = $this->load->controller('common/content_bottom'); $data['footer'] = $this->load->controller('common/footer'); $data['header'] = $this->load->controller('common/header'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/checkout/success.tpl')) { $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/checkout/success.tpl', $data)); } else { $this->response->setOutput($this->load->view('default/template/checkout/success.tpl', $data)); } }
public function index() { if ($this->request->server['HTTPS']) { $server = $this->config->get('config_ssl'); } else { $server = $this->config->get('config_url'); } require_once DIR_SYSTEM . 'library/masterpass/WalletWebContent/Controller/MasterPassController.php'; require_once DIR_SYSTEM . 'library/masterpass/WalletWebContent/Controller/MasterPassHelper.php'; $sad = unserialize($this->session->data['sad']); $controller = new MasterPassController($sad); $sad = $controller->setCallbackParameters($this->request->get); $connect = false; if (isset($this->request->get['connect'])) { $connect = $this->request->get['connect'] === "true"; } if (isset($this->request->get[MasterPassService::PAIRING_TOKEN]) && isset($this->request->get[MasterPassService::PAIRING_VERIFIER])) { $pairing = true; $sad = $controller->setPairingToken($this->request->get[MasterPassService::PAIRING_TOKEN]); $sad = $controller->setPairingVerifier($this->request->get[MasterPassService::PAIRING_VERIFIER]); $sad = $controller->getLongAccessToken(); if (!empty($sad->longAccessToken)) { setcookie('longAccessToken', $sad->longAccessToken, time() + 60 * 60 * 24 * 7); } } // GetaccessToken try { $sad = $controller->getAccessToken(); } catch (Exception $e) { $errorMessage = MasterPassHelper::formatError($e->getMessage()); } // ProccessCheckout $checkoutObject = ""; try { $sad = $controller->getCheckoutData(); $checkoutObject = MasterPassHelper::formatResource($sad->checkoutData); } catch (Exception $e) { $errorMessage = MasterPassHelper::formatError($e->getMessage()); } $this->load->model('account/customer'); //Verifica se o email ja possui cadastro $customer_email = $this->model_account_customer->getTotalCustomersByEmail($checkoutObject->Contact->EmailAddress); //Verifica se o CPF ja possui cadastro $customer_cpf = $this->model_account_customer->getTotalCustomersByCpfCnjpj($checkoutObject->Contact->NationalID); $cpf_detected = false; if ($customer_email) { $this->model_account_customer->updateAddressMasterPass($checkoutObject, $checkoutObject->Contact->EmailAddress); } else { if ($customer_cpf['total']) { $cpf_detected = $customer_cpf['email']; $this->model_account_customer->updateAddressMasterPass($checkoutObject, $customer_cpf['email']); } else { if (!empty($checkoutObject->Contact->EmailAddress)) { $password = substr(sha1(date('dmYHis')), 0, 8); $this->model_account_customer->addCustomerMasterPass($checkoutObject, $password); //EMAIL $template = new Template(); $template->data['url_store'] = $this->config->get('config_url'); $template->data['name_store'] = $this->config->get('config_name'); $template->data['logo_store'] = $template->data['url_store'] . 'image/' . $this->config->get('config_logo'); $template->data['url_password'] = $server . URL_PASSWORD; $template->data['password'] = $password; $this->load->model('tool/image'); if ($this->config->get('config_mail_header') && is_file(DIR_IMAGE . $this->config->get('config_mail_header'))) { $template->data['config_mail_header'] = $this->model_tool_image->resize($this->config->get('config_mail_header'), 600, 120); } else { $template->data['config_mail_header'] = $this->model_tool_image->resize('no_image.png', 600, 120); } if ($this->config->get('config_mail_footer') && is_file(DIR_IMAGE . $this->config->get('config_mail_footer'))) { $template->data['config_mail_footer'] = $this->model_tool_image->resize($this->config->get('config_mail_footer'), 600, 120); } else { $template->data['config_mail_footer'] = $this->model_tool_image->resize('no_image.png', 600, 120); } if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/mail/customer.tpl')) { $html = $template->fetch($this->config->get('config_template') . '/template/mail/customer.tpl'); } else { $html = $template->fetch('default/template/mail/customer.tpl'); } $mail = new Mail($this->config->get('config_mail')); $mail->setTo($checkoutObject->Contact->EmailAddress); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject("Seu cadastro foi concluido com sucesso!"); $mail->setHtml(html_entity_decode($html, ENT_QUOTES, 'UTF-8')); $mail->send(); if ($this->config->get('config_account_mail')) { $mail->setTo($this->config->get('config_email')); $mail->send(); $emails = explode(',', $this->config->get('config_mail_alert')); if ($emails) { foreach ($emails as $email) { if ($email && preg_match('/^[^\\@]+@.*.[a-z]{2,15}$/i', $email)) { $mail->setTo($email); $mail->send(); } } } } //EMAIL } } } $data['script_script'] = $this->load->controller('script/script'); $data['sad'] = serialize($sad); $data['EmailCpfDetected'] = $cpf_detected; $data['CardHolderName'] = $checkoutObject->Card->CardHolderName; $data['AccountNumber'] = $checkoutObject->Card->AccountNumber; $data['ExpiryMonth'] = $checkoutObject->Card->ExpiryMonth; $data['ExpiryYear'] = $checkoutObject->Card->ExpiryYear; $data['BrandName'] = $checkoutObject->Card->BrandName; $data['EmailAddress'] = $checkoutObject->Contact->EmailAddress; $data['TransactionId'] = $checkoutObject->TransactionId; if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/wallet/masterpass_callback.tpl')) { $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/wallet/masterpass_callback.tpl', $data)); } else { $this->response->setOutput($this->load->view('default/template/wallet/masterpass_callback.tpl', $data)); } }
public function index() { $this->document->setPage('checkout'); $this->language->load('onestepcheckout/checkout'); if (!$this->request->server['HTTPS'] && $this->config->get('config_secure')) { $this->response->redirect(HTTPS_SERVER . URL_CHECKOUT); } if ($this->request->server['HTTPS']) { $server = $this->config->get('config_ssl'); } else { $server = $this->config->get('config_url'); } // VALIDAÇÃO VALOR/QUANTIDADE MINIMA PARA COMPRA NO VAREJO $minimum_purchase = $this->cart->hasMinimumPurchase(); if ($minimum_purchase && (isset($minimum_purchase['requirements']) && !$minimum_purchase['requirements'])) { $this->response->redirect($server . URL_CART); } if (isset($this->session->data['recovered']) && $this->session->data['recovered'] && $this->customer->isLogged()) { $this->response->redirect($server . URL_CART); } // VALIDAÇÃO VALOR/QUANTIDADE MINIMA PARA COMPRA NO VAREJO // Validate cart has products and has stock. if (!$this->cart->hasProducts() && empty($this->session->data['vouchers']) || !$this->cart->hasStock() && !$this->config->get('config_stock_checkout')) { $this->response->redirect($server . URL_CART); } if (!$this->customer->isLogged() && !isset($this->session->data['login_register'])) { $this->session->data['redirect'] = $server . URL_CHECKOUT; $this->response->redirect($server . URL_LOGIN); } $data['contact_url'] = $server . URL_CONTACT; $data['cart_url'] = $server . URL_CART; if (isset($this->session->data['login_register'])) { $data['login_register'] = $this->session->data['login_register']; } else { $data['login_register'] = ''; } if (isset($this->session->data['error_transaction'])) { if (isset($this->session->data['order_id'])) { $this->load->model('account/order'); $this->load->model('checkout/order'); $order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']); $order_products = $this->model_account_order->getOrderProducts($this->session->data['order_id']); if (isset($this->session->data['sad'])) { require_once DIR_SYSTEM . 'library/masterpass/WalletWebContent/Controller/MasterPassController.php'; $sad = unserialize($this->session->data['sad']); $controller = new MasterPassController($sad); $errorMessage = null; try { $xml = ''; $this->load->model('tool/image'); if ($order_products) { $subtotal = 0; foreach ($order_products as $product) { $subtotal += $product['price'] * $product['quantity']; } $xml .= '<ShoppingCartRequest>'; $xml .= '<OAuthToken></OAuthToken>'; $xml .= '<ShoppingCart>'; $xml .= '<CurrencyCode>BRL</CurrencyCode>'; $xml .= '<Subtotal>' . str_replace('.', '', str_replace(',', '', str_replace('R$ ', '', $this->currency->format($subtotal)))) . '</Subtotal>'; foreach ($order_products as $product) { if (isset($product['image']) && $product['image']) { $image = $this->model_tool_image->resize($product['image'], 400, 400); } else { $image = $this->model_tool_image->resize('placeholder.png', 400, 400); } $xml .= '<ShoppingCartItem>'; $xml .= '<Description>' . $product['name'] . '</Description>'; $xml .= '<Quantity>' . $product['quantity'] . '</Quantity>'; $xml .= '<Value>' . str_replace('.', '', str_replace(',', '', str_replace('R$ ', '', $this->currency->format($product['price'])))) . '</Value>'; $xml .= '<ImageURL>' . $image . '</ImageURL>'; $xml .= '</ShoppingCartItem>'; } $xml .= '</ShoppingCart>'; $xml .= '<OriginUrl></OriginUrl>'; $xml .= '</ShoppingCartRequest>'; } //Success or Failure $sad = $controller->logTransaction($this->session->data['checkoutObjectCard']['TransactionId'], $xml, 'Failure', str_replace('.', '', str_replace(',', '', str_replace('R$ ', '', $this->currency->format($order_info['total']))))); } catch (Exception $e) { exit($e->getCode() . '<br>' . $e->getMessage()); } } } $data['error_transaction'] = true; } //Masterpass if (isset($this->session->data['EmailCpfDetected'])) { $data['EmailCpfDetected'] = $this->session->data['EmailCpfDetected']; $data['EmailMasterpass'] = $this->session->data['checkoutObjectCard']['EmailAddress']; } else { $data['EmailCpfDetected'] = false; } if (isset($this->session->data['checkoutObjectCard'])) { $data['masterpass'] = true; } else { unset($this->session->data['sad']); $data['masterpass'] = false; } //Masterpass $data['button_confirm'] = $this->language->get('button_confirm'); $data['button_continue'] = $this->language->get('button_continue'); $products = $this->cart->getProducts(); foreach ($products as $product) { $product_total = 0; foreach ($products as $product_2) { if ($product_2['product_id'] == $product['product_id']) { $product_total += $product_2['quantity']; } } if ($product['minimum'] > $product_total) { $this->response->redirect($this->url->link('checkout/cart')); } } if (isset($this->session->data['error'])) { $data['error_warning'] = $this->session->data['error']; unset($this->session->data['error']); } else { $data['error_warning'] = ''; } unset($this->session->data['guest']); unset($this->session->data['postcode_logout']); unset($this->session->data['zone_id_logout']); unset($this->session->data['shipping_zone_id']); unset($this->session->data['shipping_postcode']); $this->document->setTitle($this->language->get('heading_title')); $this->document->addScript('catalog/view/javascript/jquery/tooltip/jquery.tooltip.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/tooltip/jquery.tooltip.css'); $this->document->addScript('catalog/view/javascript/jquery/magnific/jquery.magnific-popup.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/magnific/magnific-popup.css'); $this->document->addScript('catalog/view/javascript/jquery/jquery.complexify.js'); $this->document->addStyle('catalog/view/theme/default/stylesheet/onestepcheckout.css?v=2'); $this->document->addScript('catalog/view/javascript/pagseguro/pagseguroapi.js'); $this->document->addScript('https://www.paypalobjects.com/webstatic/ppplusdcc/ppplusdcc.min.js'); $this->document->addScript('https://secure.mlstatic.com/sdk/javascript/v1/mercadopago.js'); $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array('text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false); $data['breadcrumbs'][] = array('text' => $this->language->get('text_cart'), 'href' => $this->url->link('checkout/cart'), 'separator' => $this->language->get('text_separator')); $data['breadcrumbs'][] = array('text' => $this->language->get('heading_title'), 'href' => $this->url->link('onestepcheckout/checkout', '', 'SSL'), 'separator' => $this->language->get('text_separator')); $data['heading_title'] = $this->language->get('heading_title'); $data['text_checkout_option'] = $this->language->get('text_checkout_option'); $data['text_checkout_account'] = $this->language->get('text_checkout_account'); $data['text_checkout_payment_address'] = $this->language->get('text_checkout_payment_address'); $data['text_checkout_shipping_address'] = $this->language->get('text_checkout_shipping_address'); $data['text_checkout_shipping_method'] = $this->language->get('text_checkout_shipping_method'); $data['text_checkout_payment_method'] = $this->language->get('text_checkout_payment_method'); $data['text_checkout_confirm'] = $this->language->get('text_checkout_confirm'); $data['text_modify'] = $this->language->get('text_modify'); $data['text_your_details'] = $this->language->get('text_your_details'); $data['text_alredy_registred'] = $this->language->get('text_alredy_registred'); $data['text_ckb_delivery'] = $this->language->get('text_ckb_delivery'); $data['text_delivery_addresses'] = $this->language->get('text_delivery_addresses'); $data['text_ckb_billing'] = $this->language->get('text_ckb_billing'); $data['text_billing_adresses'] = $this->language->get('text_billing_adresses'); $data['text_create_account'] = $this->language->get('text_create_account'); $data['text_shipping_meth'] = $this->language->get('text_shipping_meth'); $data['text_payment_meth'] = $this->language->get('text_payment_meth'); $data['text_confirm_order'] = $this->language->get('text_confirm_order'); $data['text_express_checkout'] = $this->language->get('text_express_checkout'); $data['text_header_info'] = $this->language->get('text_header_info'); $data['order_now'] = $this->language->get('order_now'); $data['style_div'] = ""; $data['placeholder_firstname'] = $this->language->get('placeholder_firstname'); $data['placeholder_razao'] = $this->language->get('placeholder_razao'); $data['placeholder_lastname'] = $this->language->get('placeholder_lastname'); $data['placeholder_fantasy'] = $this->language->get('placeholder_fantasy'); $data['placeholder_cpf'] = $this->language->get('placeholder_cpf'); $data['placeholder_cnpj'] = $this->language->get('placeholder_cnpj'); $data['placeholder_birthday'] = $this->language->get('placeholder_birthday'); $data['placeholder_cellphone'] = $this->language->get('placeholder_cellphone'); $data['placeholder_telephone'] = $this->language->get('placeholder_telephone'); $data['placeholder_email'] = $this->language->get('placeholder_email'); $data['placeholder_password'] = $this->language->get('placeholder_password'); $data['placeholder_confirm'] = $this->language->get('placeholder_confirm'); $data['placeholder_postcode'] = $this->language->get('placeholder_postcode'); $data['placeholder_address_1'] = $this->language->get('placeholder_address_1'); $data['placeholder_number_home'] = $this->language->get('placeholder_number_home'); $data['placeholder_address_2'] = $this->language->get('placeholder_address_2'); $data['placeholder_neighborhood'] = $this->language->get('placeholder_neighborhood'); $data['placeholder_city'] = $this->language->get('placeholder_city'); $data['placeholder_rg'] = $this->language->get('placeholder_rg'); $data['placeholder_ie'] = $this->language->get('placeholder_ie'); $setting = $this->config->get("onestepcheckout"); if (!empty($setting)) { if (!empty($setting[$this->config->get('config_language_id')]["header_title"])) { $data['text_express_checkout'] = trim($setting[$this->config->get('config_language_id')]["header_title"]); } if (!empty($setting[$this->config->get('config_language_id')]["header_info"])) { $data['text_header_info'] = trim($setting[$this->config->get('config_language_id')]["header_info"]); } if (!empty($setting[$this->config->get('config_language_id')]["background_color"])) { $data['style_div'] = "background-color: " . trim($setting[$this->config->get('config_language_id')]["background_color"]) . ";"; } } $data['entry_firstname'] = $this->language->get('entry_firstname'); $data['entry_lastname'] = $this->language->get('entry_lastname'); $data['entry_email_address'] = $this->language->get('entry_email_address'); $data['entry_telephone'] = $this->language->get('entry_telephone'); $data['entry_address_1'] = $this->language->get('entry_address_1'); $data['entry_address_2'] = $this->language->get('entry_address_2'); $data['entry_cellphone'] = $this->language->get('entry_cellphone'); $data['entry_country'] = $this->language->get('entry_country'); $data['entry_postcode'] = $this->language->get('entry_postcode'); $data['entry_city'] = $this->language->get('entry_city'); $data['entry_zone'] = $this->language->get('entry_zone'); $data['entry_password'] = $this->language->get('entry_password'); $data['entry_confirm'] = $this->language->get('entry_confirm'); $data['entry_customer_group'] = $this->language->get('entry_customer_group'); $data['entry_newsletter'] = sprintf($this->language->get('entry_newsletter'), $this->config->get('config_name')); $data['text_comments'] = $this->language->get('text_comments'); $data['action'] = $this->url->link('account/forgotten', '', 'SSL'); $this->language->load('account/forgotten'); $data['text_your_email'] = $this->language->get('text_your_email'); $data['text_email'] = $this->language->get('text_email'); $data['entry_email'] = $this->language->get('entry_email'); $data['button_continue'] = $this->language->get('button_continue'); $data['button_back'] = $this->language->get('button_back'); $data['text_select'] = $this->language->get('text_select'); $data['text_none'] = $this->language->get('text_none'); $data['type_login'] = $this->config->get('config_type_login'); $data['parcel_simulator'] = $this->config->get('config_parcel_simulator'); $data['cash_discount'] = $this->config->get('config_cash_discount'); //Agree text if ($this->config->get('config_checkout_id')) { $this->load->model('catalog/information'); $information_info = $this->model_catalog_information->getInformation($this->config->get('config_checkout_id')); if ($information_info) { $data['checkout_text_agree'] = sprintf($this->language->get('text_agree'), $this->url->link('information/information/info', 'information_id=' . $this->config->get('config_checkout_id'), 'SSL'), $information_info['title'], $information_info['title']); } else { $data['checkout_text_agree'] = ''; } } else { $data['checkout_text_agree'] = ''; } if ($this->config->get('config_account_id')) { $this->load->model('catalog/information'); $information_info = $this->model_catalog_information->getInformation($this->config->get('config_account_id')); if ($information_info) { $data['account_text_agree'] = sprintf($this->language->get('text_agree'), $this->url->link('information/information/info', 'information_id=' . $this->config->get('config_account_id'), 'SSL'), $information_info['title'], $information_info['title']); } else { $data['account_text_agree'] = ''; } } else { $data['account_text_agree'] = ''; } if (isset($this->session->data['checkout_agree'])) { $data['checkout_agree'] = $this->session->data['checkout_agree']; } else { $data['checkout_agree'] = ''; } if (isset($this->session->data['account_agree'])) { $data['account_agree'] = $this->session->data['account_agree']; } else { $data['account_agree'] = ''; } //Addresses $data['text_address_new'] = $this->language->get('text_address_new'); $this->load->model('account/address'); $acount_addresses = $this->model_account_address->getAddresses(); $addresses = array(); $form_dell = array(); $form_bill = array(); $address_id = ""; foreach ($acount_addresses as $key => $address) { $address_id = $key; break; } foreach ($acount_addresses as $key => $address) { $name = $address['firstname'] . " " . $address['lastname'] . " - " . $address['address_1'] . ", " . $address['number_home'] . " " . $address['neighborhood'] . " - " . $address['city'] . "/" . $address['zone'] . ' (' . $address['postcode'] . ')'; $postcode = $address['postcode']; $addresses[$key]['name'] = $name; $form_dell[$key] = $name; $form_bill[$key] = $name; } if (isset($this->session->data['shipping_address_id'])) { $data['address_id'] = $this->session->data['shipping_address_id']; } else { $data['address_id'] = $address_id; } $data['shipping_addresses'] = array(); $data['selected_shipping'] = ""; $data['form_dell'] = "[]"; if (isset($this->session->data['shipping_temp'])) { $data['shipping_addresses'] = $addresses + $this->session->data['shipping_temp']; if (isset($this->session->data['shipping_temp']['active'])) { $data['selected_shipping'] = $this->session->data['shipping_temp']['active']; } foreach ($this->session->data['shipping_temp'] as $key => $val) { if (isset($val["name"])) { $form_dell[$key] = $val["name"]; } } } else { $data['shipping_addresses'] = $addresses; } $data['form_dell'] = json_encode($form_dell); $data['payment_addresses'] = array(); $data['selected_payment'] = ""; $data['form_bill'] = "[]"; if (isset($this->session->data['payment_temp'])) { $data['payment_addresses'] = $addresses + $this->session->data['payment_temp']; if (isset($this->session->data['payment_temp']['active'])) { $data['selected_payment'] = $this->session->data['payment_temp']['active']; } foreach ($this->session->data['payment_temp'] as $key => $val) { if (isset($val['name'])) { $form_bill[$key] = $val['name']; } } } else { $data['payment_addresses'] = $addresses; } $data['form_bill'] = json_encode($form_bill); $data['address_1'] = ""; $data['cellphone'] = ""; $data['neighborhood'] = ""; $data['number_home'] = ""; $data['address_2'] = ""; $data['country_id'] = ""; $data['zone_id'] = ""; $data['city'] = ""; $data['postcode'] = ""; $data['type_person'] = ""; $data['cpf_cnpj'] = ""; $data['rg_ie'] = ""; $data['sex'] = ""; $data['birthday'] = ""; $data['password'] = ""; $data['confirm'] = ""; $data['firstname_address'] = ''; $data['lastname_address'] = ''; $data['collection_address_format'] = ''; if ($this->customer->isLogged()) { $data['is_logged'] = true; $data['firstname'] = $this->customer->getFirstname(); $data['lastname'] = $this->customer->getLastname(); $data['email'] = $this->customer->getEmail(); $data['telephone'] = $this->customer->getTelephone(); $data['cellphone'] = $this->customer->getCellphone(); $data['type_person'] = $this->customer->getTypePerson(); $data['cpf_cnpj'] = $this->customer->getCpfCnpj(); $data['rg_ie'] = $this->customer->getRgIe(); $data['sex'] = $this->customer->getSex(); $data['birthday'] = $this->customer->getBirthday(); $this->session->data['shipping_address_id'] = $this->customer->getAddressId(); $this->session->data['payment_address_id'] = $this->customer->getAddressId(); $this->load->model('account/address'); $address_info = $this->model_account_address->getAddress($this->customer->getAddressId()); if ($address_info) { if ($this->config->get('config_tax_customer') == 'shipping') { $this->session->data['shipping_country_id'] = $address_info['country_id']; $this->session->data['shipping_zone_id'] = $address_info['zone_id']; $this->session->data['shipping_postcode'] = $address_info['postcode']; } if ($this->config->get('config_tax_customer') == 'payment') { $this->session->data['payment_country_id'] = $address_info['country_id']; $this->session->data['payment_zone_id'] = $address_info['zone_id']; } $data['firstname_address'] = $address_info["firstname"]; $data['lastname_address'] = $address_info["lastname"]; $data['address_1'] = $address_info["address_1"]; $data['neighborhood'] = $address_info["neighborhood"]; $data['number_home'] = $address_info["number_home"]; $data['address_2'] = $address_info["address_2"]; $data['country_id'] = $address_info["country_id"]; $data['zone_id'] = $address_info["zone_id"]; $data['zone_code'] = $address_info["zone_code"]; $data['city'] = $address_info["city"]; $data['postcode'] = $address_info["postcode"]; $collection_address_format = '<b>' . $data['firstname_address'] . ' ' . $data['lastname_address'] . '</b><br/>'; $collection_address_format .= $data['address_1'] . ', ' . $data['number_home'] . ' ' . $data['address_2'] . '<br/>'; $collection_address_format .= $data['neighborhood'] . ' - ' . $data['city'] . '/' . $data['zone_code'] . '<br/>'; $collection_address_format .= $address_info["postcode"] . '<br/>'; $data['collection_address_format'] = $collection_address_format; } } else { $data['is_logged'] = false; if (isset($this->session->data['guest']['firstname'])) { $data['firstname'] = $this->session->data['guest']['firstname']; } else { $data['firstname'] = ''; } if (isset($this->session->data['guest']['lastname'])) { $data['lastname'] = $this->session->data['guest']['lastname']; } else { $data['lastname'] = ''; } if (isset($this->session->data['email_login'])) { $data['email'] = $this->session->data['email_login']; unset($this->session->data['email_login']); } else { $data['email'] = ''; } if (isset($this->session->data['guest']['telephone'])) { $data['telephone'] = $this->session->data['guest']['telephone']; } else { $data['telephone'] = ''; } if (isset($this->session->data['guest']['cellphone'])) { $data['cellphone'] = $this->session->data['guest']['cellphone']; } else { $data['cellphone'] = ''; } if (isset($this->session->data['cpf_cnpj_login'])) { $data['cpf_cnpj'] = $this->session->data['cpf_cnpj_login']; unset($this->session->data['cpf_cnpj_login']); } else { $data['cpf_cnpj'] = ''; } if (isset($this->session->data['type_person_login'])) { $data['type_person'] = $this->session->data['type_person_login']; unset($this->session->data['type_person_login']); } else { $data['type_person'] = ''; } } if (isset($this->session->data['comment'])) { $data['comment'] = $this->session->data['comment']; } else { $data['comment'] = ''; } $this->load->model('localisation/country'); $data['countries'] = $this->model_localisation_country->getCountries(); $this->load->model('localisation/zone'); $zone = $this->model_localisation_zone->getZonesByCountryId($data['country_id']); $data['zone_html'] = ''; if (!empty($zone)) { $html = ""; foreach ($zone as $key => $val) { $html .= '<option value="' . $val['zone_id'] . '"'; if ($val['zone_id'] == $data['zone_id']) { $html .= ' selected="selected"'; } $html .= '>' . $val["name"] . '</option>'; } } else { $html = '<option value="0" selected="selected">' . $data["text_none"] . '</option>'; } $data['zone_html'] = $html; $data['logged'] = $this->customer->isLogged(); $data['shipping_required'] = $this->cart->hasShipping(); $points = 0; $data['entry_coupon'] = $this->language->get('entry_coupon'); $data['text_use_coupon'] = $this->language->get('text_use_coupon'); $data['text_use_voucher'] = $this->language->get('text_use_voucher'); $data['entry_voucher'] = $this->language->get('entry_voucher'); $data['text_use_reward'] = ''; $data['entry_reward'] = ''; if ($this->cart->hasProducts() || !empty($this->session->data['vouchers'])) { $this->language->load('checkout/cart'); $points = $this->customer->getRewardPoints(); $points_total = 0; foreach ($this->cart->getProducts() as $product) { if ($product['points']) { $points_total += $product['points']; } } $data['text_use_reward'] = sprintf($this->language->get('text_use_reward'), $points); $data['entry_reward'] = sprintf($this->language->get('entry_reward'), $points_total); } $this->load->model('account/customer_group'); $data['customer_groups'] = array(); if (is_array($this->config->get('config_customer_group_display'))) { $this->load->model('account/customer_group'); $customer_groups = $this->model_account_customer_group->getCustomerGroups(); foreach ($customer_groups as $customer_group) { if (in_array($customer_group['customer_group_id'], $this->config->get('config_customer_group_display'))) { $data['customer_groups'][] = $customer_group; } } } if (isset($this->session->data['guest']['customer_group_id'])) { $data['customer_group_id'] = $this->session->data['guest']['customer_group_id']; } else { $data['customer_group_id'] = $this->config->get('config_customer_group_id'); } if (isset($this->session->data['guest']['payment']['country_id'])) { $data['country_id'] = $this->session->data['guest']['payment']['country_id']; } elseif (isset($this->session->data['shipping_country_id'])) { $data['country_id'] = $this->session->data['shipping_country_id']; } else { $data['country_id'] = $this->config->get('config_country_id'); } if (isset($this->session->data['guest']['payment']['zone_id'])) { $data['zone_id'] = $this->session->data['guest']['payment']['zone_id']; } elseif (isset($this->session->data['shipping_zone_id'])) { $data['zone_id'] = $this->session->data['shipping_zone_id']; } else { $data['zone_id'] = ''; } $this->load->model('checkout/coupon'); $data['coupon_activate'] = $this->model_checkout_coupon->getCouponActivate(); $data['coupon_status'] = $this->config->get('coupon_status'); if (isset($this->request->post['coupon'])) { $data['coupon'] = $this->request->post['coupon']; } elseif (isset($this->session->data['coupon'])) { $data['coupon'] = $this->session->data['coupon']; } else { $data['coupon'] = ''; } $this->load->model('checkout/voucher'); $data['voucher_activate'] = $this->model_checkout_voucher->getVoucherActivate(); $data['voucher_status'] = $this->config->get('voucher_status'); if (isset($this->request->post['voucher'])) { $data['voucher'] = $this->request->post['voucher']; } elseif (isset($this->session->data['voucher'])) { $data['voucher'] = $this->session->data['voucher']; } else { $data['voucher'] = ''; } $data['points_customer'] = $this->customer->getRewardPoints(); $data['reward_status'] = $points && $points_total && $this->config->get('config_points_fidelity'); if (isset($this->request->post['reward'])) { $data['reward'] = $this->request->post['reward']; } elseif (isset($this->session->data['reward'])) { $data['reward'] = $this->session->data['reward']; } else { $data['reward'] = ''; } $data['column_left'] = $this->load->controller('common/column_left'); $data['column_right'] = $this->load->controller('common/column_right'); $data['content_top'] = $this->load->controller('common/content_top'); $data['content_bottom'] = $this->load->controller('common/content_bottom'); $data['footer'] = $this->load->controller('common/footer'); $data['header'] = $this->load->controller('common/header'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/onestepcheckout/checkout.tpl')) { $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/onestepcheckout/checkout.tpl', $data)); } else { $this->response->setOutput($this->load->view('default/template/onestepcheckout/checkout.tpl', $data)); } }