shop.balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

bluepay_hosted.php (4718B)


      1 <?php
      2 class ControllerExtensionPaymentBluePayHosted extends Controller {
      3 	public function index() {
      4 		$this->load->language('extension/payment/bluepay_hosted');
      5 		$this->load->model('checkout/order');
      6 		$this->load->model('extension/payment/bluepay_hosted');
      7 
      8 		$order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
      9 
     10 		$data['ORDER_ID'] = $this->session->data['order_id'];
     11 		$data['NAME1'] = $order_info['payment_firstname'];
     12 		$data['NAME2'] = $order_info['payment_lastname'];
     13 		$data['ADDR1'] = $order_info['payment_address_1'];
     14 		$data['ADDR2'] = $order_info['payment_address_2'];
     15 		$data['CITY'] = $order_info['payment_city'];
     16 		$data['STATE'] = $order_info['payment_zone'];
     17 		$data['ZIPCODE'] = $order_info['payment_postcode'];
     18 		$data['COUNTRY'] = $order_info['payment_country'];
     19 		$data['PHONE'] = $order_info['telephone'];
     20 		$data['EMAIL'] = $order_info['email'];
     21 
     22 		$data['SHPF_FORM_ID'] = 'opencart01';
     23 		$data['DBA'] = $this->config->get('payment_bluepay_hosted_account_name');
     24 		$data['MERCHANT'] = $this->config->get('payment_bluepay_hosted_account_id');
     25 		$data['SHPF_ACCOUNT_ID'] = $this->config->get('payment_bluepay_hosted_account_id');
     26 		$data["TRANSACTION_TYPE"] = $this->config->get('payment_bluepay_hosted_transaction');
     27 		$data["MODE"] = strtoupper($this->config->get('payment_bluepay_hosted_test'));
     28 
     29 		$data['CARD_TYPES'] = 'vi-mc';
     30 
     31 		if ($this->config->get('payment_bluepay_hosted_discover') == 1) {
     32 			$data['CARD_TYPES'] .= '-di';
     33 		}
     34 
     35 		if ($this->config->get('payment_bluepay_hosted_amex') == 1) {
     36 			$data['CARD_TYPES'] .= '-am';
     37 		}
     38 
     39 		$data["AMOUNT"] = $this->currency->format($order_info['total'], $order_info['currency_code'], false, false);
     40 		$data['APPROVED_URL'] = $this->url->link('extension/payment/bluepay_hosted/callback', '', true);
     41 		$data['DECLINED_URL'] = $this->url->link('extension/payment/bluepay_hosted/callback', '', true);
     42 		$data['MISSING_URL'] = $this->url->link('extension/payment/bluepay_hosted/callback', '', true);
     43 		$data['REDIRECT_URL'] = $this->url->link('extension/payment/bluepay_hosted/callback', '', true);
     44 
     45 		$data['TPS_DEF'] = "MERCHANT APPROVED_URL DECLINED_URL MISSING_URL MODE TRANSACTION_TYPE TPS_DEF AMOUNT";
     46 		$data['TAMPER_PROOF_SEAL'] = md5($this->config->get('payment_bluepay_hosted_secret_key') . $data['MERCHANT'] . $data['APPROVED_URL'] . $data['DECLINED_URL'] . $data['MISSING_URL'] . $data['MODE'] . $data['TRANSACTION_TYPE'] . $data['TPS_DEF'] . $data['AMOUNT']);
     47 
     48 		$data['SHPF_TPS_DEF'] = "SHPF_FORM_ID SHPF_ACCOUNT_ID DBA TAMPER_PROOF_SEAL CARD_TYPES TPS_DEF SHPF_TPS_DEF AMOUNT";
     49 		$data['SHPF_TPS'] = md5($this->config->get('payment_bluepay_hosted_secret_key') . $data['SHPF_FORM_ID'] . $data['SHPF_ACCOUNT_ID'] . $data['DBA'] . $data['TAMPER_PROOF_SEAL'] . $data['CARD_TYPES'] . $data['TPS_DEF'] . $data['SHPF_TPS_DEF'] . $data['AMOUNT']);
     50 
     51 		$data['button_confirm'] = $this->language->get('button_confirm');
     52 		$data['text_loading'] = $this->language->get('text_loading');
     53 
     54 		return $this->load->view('extension/payment/bluepay_hosted', $data);
     55 	}
     56 
     57 	public function callback() {
     58 		$this->load->language('extension/payment/bluepay_hosted');
     59 
     60 		$this->load->model('checkout/order');
     61 
     62 		$this->load->model('extension/payment/bluepay_hosted');
     63 
     64 		$response_data = $this->request->get;
     65 
     66 		if (isset($this->session->data['order_id'])) {
     67 			$order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
     68 
     69 			if ($response_data['Result'] == 'APPROVED') {
     70 				$bluepay_hosted_order_id = $this->model_extension_payment_bluepay_hosted->addOrder($order_info, $response_data);
     71 
     72 				if ($this->config->get('payment_bluepay_hosted_transaction') == 'SALE') {
     73 					$this->model_extension_payment_bluepay_hosted->addTransaction($bluepay_hosted_order_id, 'payment', $order_info);
     74 				} else {
     75 					$this->model_extension_payment_bluepay_hosted->addTransaction($bluepay_hosted_order_id, 'auth', $order_info);
     76 				}
     77 
     78 				$this->model_checkout_order->addOrderHistory($this->session->data['order_id'], $this->config->get('payment_bluepay_hosted_order_status_id'));
     79 
     80 				$this->response->redirect($this->url->link('checkout/success', '', true));
     81 			} else {
     82 				$this->session->data['error'] = $response_data['Result'] . ' : ' . $response_data['MESSAGE'];
     83 
     84 				$this->response->redirect($this->url->link('checkout/checkout', '', true));
     85 			}
     86 		} else {
     87 			$this->response->redirect($this->url->link('account/login', '', true));
     88 		}
     89 	}
     90 
     91 	public function adminCallback() {
     92 		$this->response->addHeader('Content-Type: application/json');
     93 		$this->response->setOutput(json_encode($this->request->get));
     94 	}
     95 }