diff --git a/epay/api.php b/epay/api.php
new file mode 100644
index 0000000..59a9a6f
--- /dev/null
+++ b/epay/api.php
@@ -0,0 +1,149 @@
+_soapcall()->capture($epay_params);
+
+ return $result;
+ }
+
+ public function moveascaptured($merchantnumber, $transactionid)
+ {
+ $epay_params = array();
+ $epay_params['merchantnumber'] = $merchantnumber;
+ $epay_params['transactionid'] = $transactionid;
+ $epay_params['epayresponse'] = "-1";
+ $epay_params['pwd'] = strval(Configuration::get('EPAY_REMOTE_API_PASSWORD'));
+
+ $result = $this->_soapcall()->move_as_captured($epay_params);
+
+ return $result;
+ }
+
+ public function credit($merchantnumber, $transactionid, $amount)
+ {
+ $epay_params = array();
+ $epay_params['merchantnumber'] = $merchantnumber;
+ $epay_params['transactionid'] = $transactionid;
+ $epay_params['amount'] = $amount;
+ $epay_params['pwd'] = strval(Configuration::get('EPAY_REMOTE_API_PASSWORD'));
+ $epay_params['epayresponse'] = "-1";
+ $epay_params['pbsresponse'] = "-1";
+
+ $result = $this->_soapcall()->credit($epay_params);
+
+ return $result;
+ }
+
+ public function delete($merchantnumber, $transactionid)
+ {
+ $epay_params = array();
+ $epay_params['merchantnumber'] = $merchantnumber;
+ $epay_params['transactionid'] = $transactionid;
+ $epay_params['pwd'] = strval(Configuration::get('EPAY_REMOTE_API_PASSWORD'));
+ $epay_params['epayresponse'] = "-1";
+
+ $result = $this->_soapcall()->delete($epay_params);
+
+ return $result;
+ }
+
+ public function getEpayError($merchantnumber, $epay_response_code)
+ {
+ $epay_params = array();
+ $epay_params['merchantnumber'] = $merchantnumber;
+ $epay_params['language'] = 2;
+ $epay_params['epayresponsecode'] = $epay_response_code;
+ $epay_params['epayresponse'] = "-1";
+
+ $result = $this->_soapcall()->getEpayError($epay_params);
+
+ if ($result->getEpayErrorResult == "true")
+ echo '';
+
+ return $result;
+ }
+
+ public function getPbsError($merchantnumber, $pbs_response_code)
+ {
+ $epay_params = array();
+ $epay_params['merchantnumber'] = $merchantnumber;
+ $epay_params['language'] = 2;
+ $epay_params['pbsresponsecode'] = $pbs_response_code;
+ $epay_params['pwd'] = strval(Configuration::get('EPAY_REMOTE_API_PASSWORD'));
+ $epay_params['epayresponse'] = "-1";
+
+ $result = $this->_soapcall()->getPbsError($epay_params);
+
+ if ($result->getPbsErrorResult == "true")
+ echo '';
+
+ return $result;
+ }
+
+ public function gettransaction($merchantnumber, $transactionid)
+ {
+ $epay_params = array();
+ $epay_params['merchantnumber'] = $merchantnumber;
+ $epay_params['transactionid'] = $transactionid;
+ $epay_params['pwd'] = strval(Configuration::get('EPAY_REMOTE_API_PASSWORD'));
+ $epay_params["epayresponse"] = "-1";
+
+ $result = $this->_soapcall()->gettransaction($epay_params);
+
+ return $result;
+ }
+
+ public function gettransactionInformation($merchantnumber, $transactionid)
+ {
+ $epay_params = array();
+ $epay_params['merchantnumber'] = $merchantnumber;
+ $epay_params['transactionid'] = $transactionid;
+ $epay_params['pwd'] = strval(Configuration::get('EPAY_REMOTE_API_PASSWORD'));
+ $epay_params["epayresponse"] = "-1";
+
+ $result = $this->_soapcall()->gettransaction($epay_params);
+
+ if ($result->gettransactionResult == true)
+ return $result->transactionInformation;
+ else
+ return false;
+ }
+
+ public function getcardinfo($merchantnumber, $cardno_prefix, $amount, $currency, $acquirer)
+ {
+ $epay_params = array();
+ $epay_params['merchantnumber'] = $merchantnumber;
+ $epay_params['cardno_prefix'] = $cardno_prefix;
+ $epay_params['amount'] = $amount;
+ $epay_params['currency'] = $currency;
+ $epay_params['acquirer'] = $acquirer;
+ $epay_params['pwd'] = strval(Configuration::get('EPAY_REMOTE_API_PASSWORD'));
+ $epay_params["epayresponse"] = "-1";
+
+ $result = $this->_soapcall()->getcardinfo($epay_params);
+
+ return $result;
+ }
+
+ private function _soapcall()
+ {
+ $client = new SoapClient('https://ssl.ditonlinebetalingssystem.dk/remote/payment.asmx?WSDL');
+
+ return $client;
+ }
+}
+?>
\ No newline at end of file
diff --git a/epay/config.xml b/epay/config.xml
new file mode 100644
index 0000000..be5552e
--- /dev/null
+++ b/epay/config.xml
@@ -0,0 +1,12 @@
+
+
+ epay
+
+
+
+
+
+ 1
+ 1
+
+
\ No newline at end of file
diff --git a/epay/controllers/front/index.php b/epay/controllers/front/index.php
new file mode 100644
index 0000000..3f6561f
--- /dev/null
+++ b/epay/controllers/front/index.php
@@ -0,0 +1,35 @@
+
+* @copyright 2007-2013 PrestaShop SA
+* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+* International Registered Trademark & Property of PrestaShop SA
+*/
+
+header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
+
+header("Cache-Control: no-store, no-cache, must-revalidate");
+header("Cache-Control: post-check=0, pre-check=0", false);
+header("Pragma: no-cache");
+
+header("Location: ../");
+exit;
\ No newline at end of file
diff --git a/epay/controllers/front/validation.php b/epay/controllers/front/validation.php
new file mode 100644
index 0000000..1f11fa1
--- /dev/null
+++ b/epay/controllers/front/validation.php
@@ -0,0 +1,114 @@
+ $value)
+ {
+ if($key != "hash" && $key != "controller")
+ {
+ $mailVars['{epay_' . $key . '}'] = $value;
+ $var .= $value;
+ }
+ }
+
+ if(strlen(Configuration::get('EPAY_MD5KEY')) > 0)
+ {
+ $genstamp = md5($var . Configuration::get('EPAY_MD5KEY'));
+
+ if($genstamp != $_REQUEST["hash"])
+ die(Tools::displayError('Error in MD5 data! Please review your passwords in both ePay and your Prestashop admin!'));
+ }
+
+ $total = $cart->getOrderTotal(true, Cart::BOTH);
+
+ if($cart->OrderExists() == 0)
+ {
+ if($this->module->validateOrder((int)$id_cart, Configuration::get('PS_OS_PAYMENT'), $total, $this->module->displayName, null, $mailVars, null, false, $cart->secure_key))
+ {
+ $this->module->recordTransaction(null, $id_cart, $_GET["txnid"], $cardid, $cardnopostfix, $currency, Tools::getValue('amount'), $transfee, $fraud);
+
+ $order = new Order($this->module->currentOrder);
+
+ $payment = $order->getOrderPayments();
+ $payment[0]->transaction_id = Tools::getValue('txnid');
+ $payment[0]->amount = $amount;
+
+ if($transfee > 0)
+ {
+ $payment[0]->amount = $payment[0]->amount + number_format($transfee / 100, 2, ".", "");
+
+ if(Configuration::get('EPAY_ADDFEETOSHIPPING'))
+ {
+ $order->total_paid = $order->total_paid + number_format($transfee / 100, 2, ".", "");
+ $order->total_paid_tax_incl = $order->total_paid_tax_incl + number_format($transfee / 100, 2, ".", "");
+ $order->total_paid_tax_excl = $order->total_paid_tax_excl + number_format($transfee / 100, 2, ".", "");
+ $order->total_paid_real = $order->total_paid_real + number_format($transfee / 100, 2, ".", "");
+ $order->total_shipping = $order->total_shipping + number_format($transfee / 100, 2, ".", "");
+ $order->total_shipping_tax_incl = $order->total_shipping_tax_incl + number_format($transfee / 100, 2, ".", "");
+ $order->total_shipping_tax_excl = $order->total_shipping_tax_excl + number_format($transfee / 100, 2, ".", "");
+ $order->save();
+
+ $invoice = $payment[0]->getOrderInvoice($epay->currentOrder);
+ $invoice->total_paid_tax_incl = $invoice->total_paid_tax_incl + number_format($transfee / 100, 2, ".", "");
+ $invoice->total_paid_tax_excl = $invoice->total_paid_tax_excl + number_format($transfee / 100, 2, ".", "");
+ $invoice->total_shipping_tax_incl = $invoice->total_shipping_tax_incl + number_format($transfee / 100, 2, ".", "");
+ $invoice->total_shipping_tax_excl = $invoice->total_shipping_tax_excl + number_format($transfee / 100, 2, ".", "");
+
+ $invoice->save();
+ }
+
+ $payment[0]->save();
+ }
+ }
+ }
+
+ $id_order = Order::getOrderByCartId($id_cart);
+
+ if(Tools::getValue('callback') != "1")
+ Tools::redirectLink(__PS_BASE_URI__.'order-confirmation.php?key='.$cart->secure_key.'&id_cart='.(int)$cart->id.'&id_module='.(int)$this->module->id.'&id_order='.(int)$id_order);
+ }
+
+ /**
+ * @see FrontController::initContent()
+ */
+ public function initContent()
+ {
+ parent::initContent();
+
+ $this->context->smarty->assign(array(
+ 'total' => $this->context->cart->getOrderTotal(true, Cart::BOTH),
+ 'this_path' => $this->module->getPathUri(),//keep for retro compat
+ 'this_path_cod' => $this->module->getPathUri(),
+ 'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->module->name.'/'
+ ));
+
+ $this->setTemplate('validation.tpl');
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/epay/controllers/index.php b/epay/controllers/index.php
new file mode 100644
index 0000000..3f6561f
--- /dev/null
+++ b/epay/controllers/index.php
@@ -0,0 +1,35 @@
+
+* @copyright 2007-2013 PrestaShop SA
+* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+* International Registered Trademark & Property of PrestaShop SA
+*/
+
+header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
+
+header("Cache-Control: no-store, no-cache, must-revalidate");
+header("Cache-Control: post-check=0, pre-check=0", false);
+header("Pragma: no-cache");
+
+header("Location: ../");
+exit;
\ No newline at end of file
diff --git a/epay/epay.php b/epay/epay.php
new file mode 100644
index 0000000..6d4ff2e
--- /dev/null
+++ b/epay/epay.php
@@ -0,0 +1,910 @@
+name = 'epay';
+ $this->version = 4.7;
+ $this->author = "ePay - Michael Korsgaard";
+ $this->tab = 'payments_gateways';
+
+ $this->currencies = true;
+ $this->currencies_mode = 'checkbox';
+
+ parent::__construct();
+
+ if(Configuration::get('EPAY_ENABLE_REMOTE_API') == 1 && !class_exists("SOAPClient"))
+ $this->warning = $this->l('You must have SoapClient installed to use Remote API. Contact your hosting provider for further information.');
+
+ $this->displayName = 'ePay';
+ $this->description = $this->l('Accept Dankort, eDankort, VISA, Electron, MasterCard, Maestro, JCB, Diners, AMEX, Nordea and Danske Bank payments by ePay / Payment Solutions');
+ }
+
+ public function install()
+ {
+ if(!parent::install() OR !Configuration::updateValue('EPAY_GOOGLE_PAGEVIEW', '0') OR !Configuration::updateValue('EPAY_INTEGRATION', '1') OR !Configuration::updateValue('EPAY_ENABLE_INVOICE', '0') OR !$this->registerHook('payment') OR !$this->registerHook('rightColumn') OR !$this->registerHook('adminOrder') OR !$this->registerHook('paymentReturn') OR !$this->registerHook('footer'))
+ return false;
+
+ if(!$this->_createEpayTable())
+ return false;
+
+ return true;
+ }
+
+ public function uninstall()
+ {
+ return parent::uninstall();
+ }
+
+ function _createEpayTable()
+ {
+ $table_name = _DB_PREFIX_ . 'epay_transactions';
+
+ $columns = array
+ (
+ 'id_order' => 'int(10) unsigned NOT NULL',
+ 'id_cart' => 'int(10) unsigned NOT NULL',
+ 'epay_transaction_id' => 'int(10) unsigned NOT NULL',
+ 'card_type' => 'int(4) unsigned NOT NULL DEFAULT 1',
+ 'cardnopostfix' => 'int(4) unsigned NOT NULL DEFAULT 1',
+ 'currency' => 'int(4) unsigned NOT NULL DEFAULT 0',
+ 'amount' => 'int(10) unsigned NOT NULL',
+ 'amount_captured' => 'int(10) unsigned NOT NULL DEFAULT 0',
+ 'amount_credited' => 'int(10) unsigned NOT NULL DEFAULT 0',
+ 'transfee' => 'int(10) unsigned NOT NULL DEFAULT 0',
+ 'fraud' => 'tinyint(1) NOT NULL DEFAULT 0',
+ 'captured' => 'tinyint(1) NOT NULL DEFAULT 0',
+ 'credited' => 'tinyint(1) NOT NULL DEFAULT 0',
+ 'deleted' => 'tinyint(1) NOT NULL DEFAULT 0',
+ 'date_add' => 'datetime NOT NULL'
+ );
+
+ $query = 'CREATE TABLE IF NOT EXISTS `' . $table_name . '` (';
+
+ foreach ($columns as $column_name => $options)
+ {
+ $query .= '`' . $column_name . '` ' . $options . ', ';
+ }
+ $query .= ' PRIMARY KEY (`epay_transaction_id`) )';
+
+ if(!Db::getInstance()->Execute($query))
+ return false;
+
+ $i = 0;
+ $previous_column = '';
+ $query = ' ALTER TABLE `' . $table_name . '` ';
+ /* Check the database fields */
+ foreach ($columns as $column_name => $options)
+ {
+ if(!$this->_mysql_column_exists($table_name, $column_name))
+ {
+ $query .= ($i > 0 ? ', ' : '') . 'ADD `' . $column_name . '` ' . $options . ($previous_column != '' ? ' AFTER `' . $previous_column . '`' : ' FIRST');
+ $i++;
+ }
+ $previous_column = $column_name;
+ }
+
+ if($i > 0)
+ if(!Db::getInstance()->Execute($query))
+ return false;
+
+ return true;
+ }
+
+ static function _mysql_column_exists($table_name, $column_name, $link = false)
+ {
+ $result = Db::getInstance()->executeS("SHOW COLUMNS FROM $table_name LIKE '$column_name'", $link);
+
+ return (count($result) > 0);
+ }
+
+ function recordTransaction($id_order, $id_cart = 0, $transaction_id = 0, $cardid = 0, $cardnopostfix = 0, $currency = 0, $amount = 0, $transfee = 0, $fraud = 0)
+ {
+ if($id_cart)
+ $id_order = Order::getOrderByCartId($id_cart);
+ if(!$id_order)
+ $id_order = 0;
+
+ $captured = (Configuration::get('EPAY_INSTANTCAPTURE') ? 1 : 0);
+
+ /* Tilføj transaktionsid til ordren */
+ $query = 'INSERT INTO ' . _DB_PREFIX_ . 'epay_transactions
+ (id_order, id_cart, epay_transaction_id, card_type, cardnopostfix, currency, amount, transfee, fraud, captured, date_add)
+ VALUES
+ (' . $id_order . ', ' . $id_cart . ', ' . $transaction_id . ', ' . $cardid . ', ' . $cardnopostfix . ', ' . $currency . ', ' . $amount . ', ' . $transfee . ', ' . $fraud . ', ' . $captured . ', NOW() )';
+
+ if(!Db::getInstance()->Execute($query))
+ return false;
+
+ return true;
+ }
+
+ function setCaptured($transaction_id, $amount)
+ {
+ $query = ' UPDATE ' . _DB_PREFIX_ . 'epay_transactions SET `captured` = 1, `amount` = ' . $amount . ' WHERE `epay_transaction_id` = ' . $transaction_id;
+ if(!Db::getInstance()->Execute($query))
+ return false;
+ return true;
+ }
+
+ function setCredited($transaction_id, $amount)
+ {
+ $query = ' UPDATE ' . _DB_PREFIX_ . 'epay_transactions SET `credited` = 1, `amount` = `amount` - ' . $amount . ' WHERE `epay_transaction_id` = ' . $transaction_id;
+ if(!Db::getInstance()->Execute($query))
+ return false;
+ return true;
+ }
+
+ function deleteTransaction($transaction_id)
+ {
+ $query = ' UPDATE ' . _DB_PREFIX_ . 'epay_transactions SET `deleted` = 1' . ' WHERE `epay_transaction_id` = ' . $transaction_id;
+ if(!Db::getInstance()->Execute($query))
+ return false;
+ return true;
+ }
+
+ public function getContent()
+ {
+ $output = null;
+
+ if (Tools::isSubmit('submit'.$this->name))
+ {
+ $epay_merchantnumber = strval(Tools::getValue('EPAY_MERCHANTNUMBER'));
+ if (!$epay_merchantnumber || empty($epay_merchantnumber) || !Validate::isGenericName($epay_merchantnumber))
+ $output .= $this->displayError( $this->l('Merchantnumber is required. If you don\'t have one please contact ePay on support@epay.dk in order to obtain one!') );
+ else
+ {
+ Configuration::updateValue('EPAY_MERCHANTNUMBER', Tools::getValue("EPAY_MERCHANTNUMBER"));
+ Configuration::updateValue('EPAY_WINDOWSTATE', Tools::getValue("EPAY_WINDOWSTATE"));
+ Configuration::updateValue('EPAY_WINDOWID', Tools::getValue("EPAY_WINDOWID"));
+ Configuration::updateValue('EPAY_ENABLE_REMOTE_API', Tools::getValue("EPAY_ENABLE_REMOTE_API"));
+ Configuration::updateValue('EPAY_REMOTE_API_PASSWORD', Tools::getValue("EPAY_REMOTE_API_PASSWORD"));
+ Configuration::updateValue('EPAY_INSTANTCAPTURE', Tools::getValue("EPAY_INSTANTCAPTURE"));
+ Configuration::updateValue('EPAY_GROUP', Tools::getValue("EPAY_GROUP"));
+ Configuration::updateValue('EPAY_AUTHMAIL', Tools::getValue("EPAY_AUTHMAIL"));
+ Configuration::updateValue('EPAY_ADDFEETOSHIPPING', Tools::getValue("EPAY_ADDFEETOSHIPPING"));
+ Configuration::updateValue('EPAY_MD5KEY', Tools::getValue("EPAY_MD5KEY"));
+ Configuration::updateValue('EPAY_OWNRECEIPT', Tools::getValue("EPAY_OWNRECEIPT"));
+ Configuration::updateValue('EPAY_GOOGLE_PAGEVIEW', Tools::getValue("EPAY_GOOGLE_PAGEVIEW"));
+ Configuration::updateValue('EPAY_ENABLE_INVOICE', Tools::getValue("EPAY_ENABLE_INVOICE"));
+ $output .= $this->displayConfirmation($this->l('Settings updated'));
+ }
+ }
+
+ return $output.$this->displayForm();
+ }
+
+ public function displayForm()
+ {
+ // Get default Language
+ $default_lang = (int)Configuration::get('PS_LANG_DEFAULT');
+
+ // Init Fields form array
+ $fields_form[0]['form'] = array(
+ 'legend' => array(
+ 'title' => $this->l('Settings'),
+ 'image' => $this->_path.'logo_small.gif'
+ ),
+ 'input' => array(
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('Merchant number'),
+ 'name' => 'EPAY_MERCHANTNUMBER',
+ 'size' => 20,
+ 'required' => true
+ ),
+ array(
+ 'type' => 'radio',
+ 'label' => $this->l('Window state'),
+ 'name' => 'EPAY_WINDOWSTATE',
+ 'class' => 't',
+ 'values' => array(
+ array(
+ 'id' => 'windowstate_overlay',
+ 'value' => 1,
+ 'label' => $this->l('Overlay')
+ ),
+ array(
+ 'id' => 'windowstate_fullscreen',
+ 'value' => 3,
+ 'label' => $this->l('Full screen')
+ )
+ ),
+ 'required' => true
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('Window ID'),
+ 'name' => 'EPAY_WINDOWID',
+ 'size' => 20,
+ 'required' => false
+ ),
+ array(
+ 'type' => 'radio',
+ 'label' => $this->l('Enable Remote API'),
+ 'name' => 'EPAY_ENABLE_REMOTE_API',
+ 'size' => 20,
+ 'class' => 't',
+ 'is_bool' => true,
+ 'required' => true,
+ 'values' => array(
+ array(
+ 'id' => 'remoteapi_yes',
+ 'value' => 1,
+ 'label' => $this->l('Yes')
+ ),
+ array(
+ 'id' => 'remoteapi_no',
+ 'value' => 0,
+ 'label' => $this->l('No')
+ )
+ ),
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('Remote API password'),
+ 'name' => 'EPAY_REMOTE_API_PASSWORD',
+ 'size' => 20,
+ 'required' => false
+ ),
+ array(
+ 'type' => 'radio',
+ 'label' => $this->l('Use own receipt'),
+ 'name' => 'EPAY_OWNRECEIPT',
+ 'size' => 20,
+ 'class' => 't',
+ 'is_bool' => true,
+ 'required' => true,
+ 'values' => array(
+ array(
+ 'id' => 'ownreceipt_yes',
+ 'value' => 1,
+ 'label' => $this->l('Yes')
+ ),
+ array(
+ 'id' => 'ownreceipt_no',
+ 'value' => 0,
+ 'label' => $this->l('No')
+ )
+ ),
+ ),
+ array(
+ 'type' => 'radio',
+ 'label' => $this->l('Use instant capture'),
+ 'name' => 'EPAY_INSTANTCAPTURE',
+ 'size' => 20,
+ 'class' => 't',
+ 'is_bool' => true,
+ 'required' => true,
+ 'values' => array(
+ array(
+ 'id' => 'instantcapture_yes',
+ 'value' => 1,
+ 'label' => $this->l('Yes')
+ ),
+ array(
+ 'id' => 'instantcapture_no',
+ 'value' => 0,
+ 'label' => $this->l('No')
+ )
+ ),
+ ),
+ array(
+ 'type' => 'radio',
+ 'label' => $this->l('Add transaction fee to shipping'),
+ 'name' => 'EPAY_ADDFEETOSHIPPING',
+ 'size' => 20,
+ 'class' => 't',
+ 'is_bool' => true,
+ 'required' => true,
+ 'values' => array(
+ array(
+ 'id' => 'addfeetoshipping_yes',
+ 'value' => 1,
+ 'label' => $this->l('Yes')
+ ),
+ array(
+ 'id' => 'addfeetoshipping_no',
+ 'value' => 0,
+ 'label' => $this->l('No')
+ )
+ ),
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('Group'),
+ 'name' => 'EPAY_GROUP',
+ 'size' => 20,
+ 'required' => false
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('Auth mail'),
+ 'name' => 'EPAY_AUTHMAIL',
+ 'size' => 20,
+ 'required' => false
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('MD5 Key'),
+ 'name' => 'EPAY_MD5KEY',
+ 'size' => 20,
+ 'required' => false
+ ),
+ array(
+ 'type' => 'radio',
+ 'label' => $this->l('Use Google Pageview Tracking'),
+ 'name' => 'EPAY_GOOGLE_PAGEVIEW',
+ 'size' => 20,
+ 'class' => 't',
+ 'is_bool' => true,
+ 'required' => true,
+ 'values' => array(
+ array(
+ 'id' => 'googlepageview_yes',
+ 'value' => 1,
+ 'label' => $this->l('Yes')
+ ),
+ array(
+ 'id' => 'googlepageview_no',
+ 'value' => 0,
+ 'label' => $this->l('No')
+ )
+ ),
+ ),
+ array(
+ 'type' => 'radio',
+ 'label' => $this->l('Enable invoice data'),
+ 'name' => 'EPAY_ENABLE_INVOICE',
+ 'size' => 20,
+ 'class' => 't',
+ 'is_bool' => true,
+ 'required' => true,
+ 'values' => array(
+ array(
+ 'id' => 'invoicedata_yes',
+ 'value' => 1,
+ 'label' => $this->l('Yes')
+ ),
+ array(
+ 'id' => 'invoicedata_no',
+ 'value' => 0,
+ 'label' => $this->l('No')
+ )
+ ),
+ )
+ ),
+ 'submit' => array(
+ 'title' => $this->l('Save'),
+ 'class' => 'button'
+ )
+ );
+
+ $helper = new HelperForm();
+
+ // Module, t oken and currentIndex
+ $helper->module = $this;
+ $helper->name_controller = $this->name;
+ $helper->token = Tools::getAdminTokenLite('AdminModules');
+ $helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name;
+
+ // Language
+ $helper->default_form_language = $default_lang;
+ $helper->allow_employee_form_lang = $default_lang;
+
+ // Title and toolbar
+ $helper->title = $this->displayName . " v" . $this->version;
+ $helper->show_toolbar = true; // false -> remove toolbar
+ $helper->toolbar_scroll = true; // yes - > Toolbar is always visible on the top of the screen.
+ $helper->submit_action = 'submit'.$this->name;
+ $helper->toolbar_btn = array(
+ 'save' =>
+ array(
+ 'desc' => $this->l('Save'),
+ 'href' => AdminController::$currentIndex.'&configure='.$this->name.'&save'.$this->name.
+ '&token='.Tools::getAdminTokenLite('AdminModules'),
+ ),
+ 'back' => array(
+ 'href' => AdminController::$currentIndex.'&token='.Tools::getAdminTokenLite('AdminModules'),
+ 'desc' => $this->l('Back to list')
+ )
+ );
+
+ // Load current value
+ $helper->fields_value['EPAY_MERCHANTNUMBER'] = Configuration::get('EPAY_MERCHANTNUMBER');
+ $helper->fields_value['EPAY_WINDOWSTATE'] = Configuration::get('EPAY_WINDOWSTATE');
+ $helper->fields_value['EPAY_WINDOWID'] = Configuration::get('EPAY_WINDOWID');
+ $helper->fields_value['EPAY_ENABLE_REMOTE_API'] = Configuration::get('EPAY_ENABLE_REMOTE_API');
+ $helper->fields_value['EPAY_REMOTE_API_PASSWORD'] = Configuration::get('EPAY_REMOTE_API_PASSWORD');
+ $helper->fields_value['EPAY_OWNRECEIPT'] = Configuration::get('EPAY_OWNRECEIPT');
+ $helper->fields_value['EPAY_INSTANTCAPTURE'] = Configuration::get('EPAY_INSTANTCAPTURE');
+ $helper->fields_value['EPAY_ADDFEETOSHIPPING'] = Configuration::get('EPAY_ADDFEETOSHIPPING');
+ $helper->fields_value['EPAY_GROUP'] = Configuration::get('EPAY_GROUP');
+ $helper->fields_value['EPAY_AUTHMAIL'] = Configuration::get('EPAY_AUTHMAIL');
+ $helper->fields_value['EPAY_MD5KEY'] = Configuration::get('EPAY_MD5KEY');
+ $helper->fields_value['EPAY_GOOGLE_PAGEVIEW'] = Configuration::get('EPAY_GOOGLE_PAGEVIEW');
+ $helper->fields_value['EPAY_ENABLE_INVOICE'] = Configuration::get('EPAY_ENABLE_INVOICE');
+
+ return "
" . $helper->generateForm($fields_form);
+ }
+
+ function getEPayLanguage($strlan)
+ {
+ switch($strlan)
+ {
+ case "dk":
+ return 1;
+ case "da":
+ return 1;
+ case "en":
+ return 2;
+ case "se":
+ return 3;
+ case "sv":
+ return 3;
+ case "no":
+ return 4;
+ case "gl":
+ return 5;
+ case "is":
+ return 6;
+ case "de":
+ return 7;
+ }
+
+ return 0;
+ }
+
+ private function getInvoiceData($customer, $summary, $forHash = false)
+ {
+ $invoice["customer"]["email"] = $customer->email;
+ $invoice["customer"]["name"] = $summary["invoice"]->firstname . ' ' . $summary["invoice"]->lastname;
+ $invoice["customer"]["address"] = $summary["invoice"]->address1;
+ $invoice["customer"]["zip"] = intval((string)$summary["invoice"]->postcode);
+ $invoice["customer"]["city"] = $summary["invoice"]->city;
+ $invoice["customer"]["country"] = $summary["invoice"]->country;
+
+ $invoice["shippingaddress"]["name"] = $summary["delivery"]->firstname . ' ' . $summary["delivery"]->lastname;
+ $invoice["shippingaddress"]["address"] = $summary["delivery"]->address1;
+ $invoice["shippingaddress"]["zip"] = intval((string)$summary["delivery"]->postcode);
+ $invoice["shippingaddress"]["city"] = $summary["delivery"]->city;
+ $invoice["shippingaddress"]["country"] = $summary["delivery"]->country;
+
+ $invoice["lines"] = array();
+
+ foreach ($summary["products"] as $product)
+ {
+ $invoice["lines"][] = array
+ (
+ "id" => ($product["reference"] == "" ? $product["id_product"] : $product["reference"]),
+ "description" => addslashes($product["name"] . ($product["attributes_small"] ? (" " . $product["attributes_small"]) : "")),
+ "quantity" => intval((string)$product["cart_quantity"]),
+ "price" => round((string)$product["price"],2)*100,
+ "vat" => (float)round((string)((round($product["price_wt"],2)-round($product["price"],2))/round((string)$product["price"],2))*100, 2)
+ );
+ }
+
+ $invoice["lines"][] = array
+ (
+ "id" => $this->l('shipping'),
+ "description" => $this->l('Shipping'),
+ "quantity" => 1,
+ "price" => intval((string)round($summary["total_shipping_tax_exc"],2)*100),
+ "vat" => ($summary["total_shipping_tax_exc"] > 0 ? ((float)round((string)((round($summary["total_shipping"],2)-round($summary["total_shipping_tax_exc"],2))/round((string)$summary["total_shipping_tax_exc"],2))*100, 2)) : 0)
+ );
+
+ foreach ($summary["discounts"] as $discount)
+ {
+ $invoice["lines"][] = array
+ (
+ "id" => $discount["id_discount"],
+ "description" => $discount["description"],
+ "quantity" => 1,
+ "price" => -intval(round((string)$discount["value_tax_exc"],2)*100),
+ "vat" => (float)round((string)((round($discount["value_real"],2)-round($discount["value_tax_exc"],2))/round((string)$discount["value_tax_exc"],2))*100, 2)
+ );
+ }
+
+ return $invoice;
+ }
+
+ private function jsonRemoveUnicodeSequences($struct)
+ {
+ return preg_replace("/\\\\u([a-f0-9]{4})/e", "iconv('UCS-4LE','UTF-8',pack('V', hexdec('U$1')))", json_encode($struct));
+ }
+
+ public function hookPayment($params)
+ {
+ if (!$this->active)
+ return;
+ if (!$this->checkCurrency($this->context->cart))
+ return;
+
+ $parameters = array();
+
+ $parameters["epay_encoding"] = "UTF-8";
+ $parameters["epay_merchantnumber"] = Configuration::get('EPAY_MERCHANTNUMBER');
+ $parameters["epay_cms"] = 'prestashop' . $this->version;
+ $parameters["epay_windowstate"] = Configuration::get('EPAY_WINDOWSTATE');
+
+ if(Configuration::get('EPAY_WINDOWID'))
+ $parameters["epay_windowid"] = Configuration::get('EPAY_WINDOWID');
+
+ $parameters["epay_instantcapture"] = Configuration::get('EPAY_INSTANTCAPTURE');
+ $parameters["epay_group"] = Configuration::get('EPAY_GROUP');
+ $parameters["epay_mailreceipt"] = Configuration::get('EPAY_MAILRECEIPT');
+ $parameters["epay_ownreceipt"] = Configuration::get('EPAY_OWNRECEIPT');
+ $parameters["epay_currency"] = $this->context->currency->iso_code;
+ $parameters["epay_language"] = $this->getEPayLanguage(Language::getIsoById($this->context->language->id));
+ $parameters["epay_amount"] = $this->context->cart->getOrderTotal()*100;
+ $parameters["epay_orderid"] = $this->context->cart->id;
+
+ if(Configuration::get('EPAY_ENABLE_INVOICE'))
+ $parameters["epay_invoice"] = $this->getInvoiceData($this->context->customer, $this->context->cart->getSummaryDetails());
+
+ $parameters["epay_cancelurl"] = $this->context->link->getPageLink('order', true, NULL, "step=3");
+
+ $parameters["epay_accepturl"] = $this->context->link->getModuleLink('epay', 'validation', array(), true);
+ $parameters["epay_callbackurl"] = $this->context->link->getModuleLink('epay', 'validation', array('callback' => 1), true);
+
+ if(Configuration::get('EPAY_GOOGLE_PAGEVIEW'))
+ $parameters["epay_googletracker"] = Configuration::get('GANALYTICS_ID');
+
+ $hash = "";
+ foreach($parameters as $key => $value)
+ {
+ $hash .= $value;
+ }
+
+ $parameters["epay_hash"] = md5($hash . Configuration::get('EPAY_MD5KEY'));
+
+ $this->context->smarty->assign(array('parameters' => $parameters, 'this_path_epay' => $this->_path));
+
+ return $this->display(__FILE__ , "payment.tpl");
+ }
+
+ function hookFooter($params)
+ {
+ $output = '';
+
+ if(Configuration::get('EPAY_GOOGLE_PAGEVIEW') == 1 and strlen(Configuration::get('GANALYTICS_ID')) > 0)
+ {
+ $output .= '
+ ';
+ }
+
+ return $output;
+ }
+
+ public function checkCurrency($cart)
+ {
+ $currency_order = new Currency((int)($cart->id_currency));
+ $currencies_module = $this->getCurrency((int)$cart->id_currency);
+
+ if (is_array($currencies_module))
+ foreach ($currencies_module as $currency_module)
+ if ($currency_order->id == $currency_module['id_currency'])
+ return true;
+ return false;
+ }
+
+ public function hookPaymentReturn($params)
+ {
+ if(!$this->active)
+ return;
+
+ $result = Db::getInstance()->getRow('
+ SELECT o.`id_order`, o.`module`, e.`id_cart`, e.`epay_transaction_id`,
+ e.`card_type`, e.`cardnopostfix`, e.`currency`, e.`amount`, e.`transfee`,
+ e.`fraud`, e.`captured`, e.`credited`, e.`deleted`,
+ e.`date_add`
+ FROM ' . _DB_PREFIX_ . 'epay_transactions e
+ LEFT JOIN ' . _DB_PREFIX_ . 'orders o ON e.`id_cart` = o.`id_cart`
+ WHERE o.`id_order` = ' . intval($_GET["id_order"]));
+
+ if($result["cardnopostfix"] > 1)
+ $this->context->smarty->assign(array('postfix' => $result["cardnopostfix"]));
+
+ return $this->display(__FILE__ , 'payment_return.tpl');
+ }
+
+ function hookLeftColumn($params)
+ {
+ $merchantnumber = Configuration::get('EPAY_MERCHANTNUMBER');
+ $this->context->smarty->assign(array('merchantnumber' => $merchantnumber));
+
+ return $this->display(__FILE__ , 'blockepaymentlogo.tpl');
+ }
+
+ function hookRightColumn($params)
+ {
+ return $this->hookLeftColumn($params);
+ }
+
+ function hookAdminOrder($params)
+ {
+ $message = '';
+ $activate_api = false;
+
+ $result = Db::getInstance()->getRow('
+ SELECT o.`id_order`, o.`module`, e.`id_cart`, e.`epay_transaction_id`,
+ e.`card_type`, e.`cardnopostfix`, e.`currency`, e.`amount`, e.`transfee`,
+ e.`fraud`, e.`captured`, e.`credited`, e.`deleted`,
+ e.`date_add`
+ FROM ' . _DB_PREFIX_ . 'epay_transactions e
+ LEFT JOIN ' . _DB_PREFIX_ . 'orders o ON e.`id_cart` = o.`id_cart`
+ WHERE o.`id_order` = ' . intval($params["id_order"]));
+
+ $currency = new Currency(Currency::getIdByIsoCodeNum($result["currency"]));
+ $currency_code = $currency->iso_code;
+
+ if(!isset($result["epay_transaction_id"]) OR $result["module"] != "epay")
+ return '';
+ else
+ {
+ /* Process remote capture/credit/delete */
+ if(Configuration::get('EPAY_ENABLE_REMOTE_API'))
+ {
+ require_once (dirname(__FILE__ ) . '/api.php');
+
+ try
+ {
+ $remote_result = $this->_procesRemote($params);
+ $message = '';
+ if(@$remote_result->captureResult == "true")
+ $message .= $this->l('Payment captured') . '
';
+ elseif(@$remote_result->creditResult == "true")
+ $message .= $this->l('Payment credited') . '';
+ elseif(@$remote_result->deleteResult == "true")
+ $message .= $this->l('Payment deleted') . '';
+ elseif(@$remote_result->move_as_capturedResult == "true")
+ $message .= $this->l('Payment closed') . '';
+ else
+ $message = '';
+
+ $activate_api = true;
+ }
+ catch (Exception $e)
+ {
+ $activate_api = false;
+ $message = $this->displayError($e->getMessage());
+ }
+ }
+
+ $html = '
+
+
+ ' . $this->l('ePay info') . '
+
+ ' . $message . '
+
+
+
+ ' . $this->l('ePay control panel:') . '
+
+
+ .../admin/login.asp
+ ' . '
+
+
+
+
+ ' . $this->l('ePay transaction ID:') . '
+
+
+ ' . $result["epay_transaction_id"] . ' ' . '
+
+
+
+
+ ' . $this->l('ePay "Order ID":') . '
+
+
+ ' . $result["id_cart"] . ' (id_cart)' . '
+
+ ';
+ if($result["cardnopostfix"] > 1)
+ {
+ $html .= '
+
+ ' . $this->l('Postfix :') . '
+
+
+ XXXX XXXX XXXX ' . $result["cardnopostfix"] . ' ' . ($result["fraud"] ? '
+
+
+
+ ' . $this->l('Suspicious Payment!') . ' ' : '') . '
+
+ ';
+ }
+ $html .= '
+
+ ';
+
+ if(Configuration::get('EPAY_ENABLE_REMOTE_API') && $activate_api)
+ {
+ try
+ {
+ $api = new EPayApi();
+ $soap_result = $api->gettransactionInformation(Configuration::get('EPAY_MERCHANTNUMBER'), $result["epay_transaction_id"]);
+
+ if(!$soap_result->capturedamount or $soap_result->capturedamount == $soap_result->authamount)
+ {
+ $epay_amount = number_format($soap_result->authamount / 100, 2, ".", "");
+ }
+ elseif($soap_result->status == 'PAYMENT_CAPTURED')
+ {
+ $epay_amount = number_format(($soap_result->capturedamount) / 100, 2, ".", "");
+ }
+ else
+ {
+ $epay_amount = number_format(($soap_result->authamount - $soap_result->capturedamount) / 100, 2, ".", "");
+ }
+
+ if($soap_result->status != 'PAYMENT_DELETED' AND !$soap_result->creditedamount)
+ {
+ $html .= '';
+ }
+ else
+ {
+ $html .= $currency_code . ' ' . $epay_amount;
+ $html .= ($soap_result->status == 'PAYMENT_DELETED' ? ' ' . $this->l('Deleted') . ' ' : '');
+ }
+
+ $html .= '
+
' . $this->l('Date') . ' ' . $this->l('Event') . ' ';
+
+ $historyArray = $soap_result->history->TransactionHistoryInfo;
+
+ if(!array_key_exists(0, $soap_result->history->TransactionHistoryInfo))
+ {
+ $historyArray = array($soap_result->history->TransactionHistoryInfo);
+ // convert to array
+ }
+
+ for($i = 0; $i < count($historyArray); $i++)
+ {
+ $html .= "" . str_replace("T", " ", $historyArray[$i]->created) . " ";
+ $html .= "";
+ if(strlen($historyArray[$i]->username) > 0)
+ {
+ $html .= ($historyArray[$i]->username . ": ");
+ }
+ $html .= $historyArray[$i]->eventMsg . " ";
+ }
+
+
+ $html .= '
';
+ }
+ catch (Exception $e)
+ {
+ $activate_api = false;
+ $this->displayError($e->getMessage());
+ }
+
+ }
+
+ if(!$activate_api)
+ $html .= $currency_code . ' ' . number_format(($result["amount"] + $result["transfee"]) / 100, 2, ",", "");
+
+ $html .= '
+ ';
+
+ return $html;
+ }
+ }
+
+ function _procesRemote($params)
+ {
+ if((Tools::isSubmit('epay_capture') OR Tools::isSubmit('epay_move_as_captured') OR Tools::isSubmit('epay_credit') OR Tools::isSubmit('epay_delete')) AND Tools::getIsset('epay_transaction_id'))
+ {
+ require_once (dirname(__FILE__) . '/api.php');
+
+ $api = new EPayApi();
+
+ if(Tools::isSubmit('epay_capture'))
+ $result = $api->capture(Configuration::get('EPAY_MERCHANTNUMBER'), Tools::getValue('epay_transaction_id'), floatval(Tools::getValue('epay_amount')) * 100);
+ elseif(Tools::isSubmit('epay_credit'))
+ $result = $api->credit(Configuration::get('EPAY_MERCHANTNUMBER'), Tools::getValue('epay_transaction_id'), floatval(Tools::getValue('epay_amount')) * 100);
+ elseif(Tools::isSubmit('epay_delete'))
+ $result = $api->delete(Configuration::get('EPAY_MERCHANTNUMBER'), Tools::getValue('epay_transaction_id'));
+ elseif(Tools::isSubmit('epay_move_as_captured'))
+ $result = $api->moveascaptured(Configuration::get('EPAY_MERCHANTNUMBER'), Tools::getValue('epay_transaction_id'));
+
+ if(@$result->captureResult == "true")
+ $this->setCaptured(Tools::getValue('epay_transaction_id'), floatval(Tools::getValue('epay_amount')) * 100);
+ elseif(@$result->creditResult == "true")
+ $this->setCredited(Tools::getValue('epay_transaction_id'), floatval(Tools::getValue('epay_amount')) * 100);
+ elseif(@$result->deleteResult == "true")
+ $this->deleteTransaction(Tools::getValue('epay_transaction_id'));
+ elseif(@$result->move_as_capturedResult == "true")
+ {
+ //Do nothing
+ }
+ else
+ {
+ if(Tools::isSubmit('epay_capture'))
+ $pbsresponse = $result->pbsResponse;
+ elseif(!Tools::isSubmit('epay_delete') && !Tools::isSubmit('epay_move_as_captured'))
+ $pbsresponse = $result->pbsresponse;
+
+ $api->getEpayError(Configuration::get('EPAY_MERCHANTNUMBER'), $result->epayresponse);
+
+ if(!Tools::isSubmit('epay_delete') && !Tools::isSubmit('epay_move_as_captured'))
+ $api->getPbsError(Configuration::get('EPAY_MERCHANTNUMBER'), $pbsresponse);
+ }
+
+ return $result;
+ }
+ }
+
+ static function getCardNameById($cardid)
+ {
+ switch($cardid)
+ {
+ case 1:
+ return 'Dankort / VISA/Dankort';
+ case 2:
+ return 'eDankort';
+ case 3:
+ return 'VISA / VISA Electron';
+ case 4:
+ return 'MasterCard';
+ case 6:
+ return 'JCB';
+ case 7:
+ return 'Maestro';
+ case 8:
+ return 'Diners Club';
+ case 9:
+ return 'American Express';
+ case 10:
+ return 'ewire';
+ case 12:
+ return 'Nordea e-betaling';
+ case 13:
+ return 'Danske Netbetalinger';
+ case 14:
+ return 'PayPal';
+ case 16:
+ return 'MobilPenge';
+ case 17:
+ return 'Klarna';
+ case 18:
+ return 'Svea';
+ }
+
+ return 'Unknown';
+ }
+}
+
+?>
diff --git a/epay/epay.png b/epay/epay.png
new file mode 100644
index 0000000..39b0605
Binary files /dev/null and b/epay/epay.png differ
diff --git a/epay/img/1.png b/epay/img/1.png
new file mode 100644
index 0000000..1e8865a
Binary files /dev/null and b/epay/img/1.png differ
diff --git a/epay/img/10.png b/epay/img/10.png
new file mode 100644
index 0000000..a18e98f
Binary files /dev/null and b/epay/img/10.png differ
diff --git a/epay/img/11.png b/epay/img/11.png
new file mode 100644
index 0000000..7840dad
Binary files /dev/null and b/epay/img/11.png differ
diff --git a/epay/img/12.png b/epay/img/12.png
new file mode 100644
index 0000000..6febd93
Binary files /dev/null and b/epay/img/12.png differ
diff --git a/epay/img/13.png b/epay/img/13.png
new file mode 100644
index 0000000..3fe8746
Binary files /dev/null and b/epay/img/13.png differ
diff --git a/epay/img/14.png b/epay/img/14.png
new file mode 100644
index 0000000..f5c4702
Binary files /dev/null and b/epay/img/14.png differ
diff --git a/epay/img/16.png b/epay/img/16.png
new file mode 100644
index 0000000..fd8ac1f
Binary files /dev/null and b/epay/img/16.png differ
diff --git a/epay/img/17.png b/epay/img/17.png
new file mode 100644
index 0000000..433edca
Binary files /dev/null and b/epay/img/17.png differ
diff --git a/epay/img/18.png b/epay/img/18.png
new file mode 100644
index 0000000..7f84299
Binary files /dev/null and b/epay/img/18.png differ
diff --git a/epay/img/2.png b/epay/img/2.png
new file mode 100644
index 0000000..2133461
Binary files /dev/null and b/epay/img/2.png differ
diff --git a/epay/img/3.png b/epay/img/3.png
new file mode 100644
index 0000000..b77b94d
Binary files /dev/null and b/epay/img/3.png differ
diff --git a/epay/img/4.png b/epay/img/4.png
new file mode 100644
index 0000000..386118f
Binary files /dev/null and b/epay/img/4.png differ
diff --git a/epay/img/6.png b/epay/img/6.png
new file mode 100644
index 0000000..1583552
Binary files /dev/null and b/epay/img/6.png differ
diff --git a/epay/img/7.png b/epay/img/7.png
new file mode 100644
index 0000000..53a84f1
Binary files /dev/null and b/epay/img/7.png differ
diff --git a/epay/img/8.png b/epay/img/8.png
new file mode 100644
index 0000000..1932611
Binary files /dev/null and b/epay/img/8.png differ
diff --git a/epay/img/9.png b/epay/img/9.png
new file mode 100644
index 0000000..1bbe6ff
Binary files /dev/null and b/epay/img/9.png differ
diff --git a/epay/logo.png b/epay/logo.png
new file mode 100644
index 0000000..0897ddc
Binary files /dev/null and b/epay/logo.png differ
diff --git a/epay/logo_small.gif b/epay/logo_small.gif
new file mode 100644
index 0000000..670ea98
Binary files /dev/null and b/epay/logo_small.gif differ
diff --git a/epay/translations/da.php b/epay/translations/da.php
new file mode 100644
index 0000000..dfa1ff6
--- /dev/null
+++ b/epay/translations/da.php
@@ -0,0 +1,21 @@
+epay_31211b6813083b13df997b9e3abbbd2b'] = 'levering';
+$_MODULE['<{epay}default>epay_ea9cf7e47ff33b2be14e6dd07cbcefc6'] = 'Levering';
+$_MODULE['<{epay}default>epay_878c9cfae6779e0c60568a94b4c77a57'] = 'Betaling hævet';
+$_MODULE['<{epay}default>epay_7a68d0e53be91b1dff60c7e1adc0aff0'] = 'Betaling krediteret';
+$_MODULE['<{epay}default>epay_2865c62239a8a439963b4e3d42fa1b25'] = 'Betaling slettet';
+$_MODULE['<{epay}default>epay_7319aa25b8e2d98243fa2a8ea23a4dcd'] = 'Betaling lukket';
+$_MODULE['<{epay}default>epay_0f91ee0941e61fb068e4583673323324'] = 'Mistænkelig betaling';
+$_MODULE['<{epay}default>epay_44a50f07b4bdc57740901280f9eddaf5'] = 'Hæv';
+$_MODULE['<{epay}default>epay_f2a6c498fb90ee345d997f888fce3b18'] = 'Slet';
+$_MODULE['<{epay}default>epay_6f4e69b8c12697659a0555393fb95cfb'] = 'Vil du virkelig slette?';
+$_MODULE['<{epay}default>epay_34f5759d35725fea3a4e7396146fc17d'] = 'Luk transaktion';
+$_MODULE['<{epay}default>epay_0a90b1bc4078f74b6f0d117ec7df65af'] = 'Kreditér';
+$_MODULE['<{epay}default>epay_e80592d6eed1cd99117bbf627f702db1'] = 'Vil du kreditere:';
+$_MODULE['<{epay}default>epay_5fe6005bf6e415c950c011fb65f12b8f'] = 'Slettet';
+$_MODULE['<{epay}default>epay_44749712dbec183e983dcd78a7736c41'] = 'Dato';
+$_MODULE['<{epay}default>epay_a4ecfc70574394990cf17bd83df499f7'] = 'Handling';
+$_MODULE['<{epay}default>payment_d2792b17b0ebab214d6a1ca38b362906'] = 'Betal med ePay';
diff --git a/epay/translations/de.php b/epay/translations/de.php
new file mode 100644
index 0000000..4c98628
--- /dev/null
+++ b/epay/translations/de.php
@@ -0,0 +1,117 @@
+EpaySoap_774d16eb5087a154a17494b786eb7ba7'] = 'Fehler:';
+$_MODULE['<{epay}prestashop>epay_bba990e170100d574529530ca9ced349'] = 'Akzeptieren Dankort, eDankort, VISA, Electron, MasterCard, Maestro, JCB, Diners, AMEX, Ewire, Nordea und Danske Bank Zahlungen von ePay Secure Online Payment System';
+$_MODULE['<{epay}prestashop>epay_f4d1ea475eaa85102e2b4e6d95da84bd'] = 'Bestätigung';
+$_MODULE['<{epay}prestashop>epay_c888438d14855d7d96a2724ee9c306bd'] = 'Einstellungen aktualisiert';
+$_MODULE['<{epay}prestashop>epay_6357d3551190ec7e79371a8570121d3a'] = 'Es gibt';
+$_MODULE['<{epay}prestashop>epay_4ce81305b7edb043d0a7a5c75cab17d0'] = 'Es ist';
+$_MODULE['<{epay}prestashop>epay_07213a0161f52846ab198be103b5ab43'] = 'Fehler';
+$_MODULE['<{epay}prestashop>epay_cb5e100e5a9a3e7f6d1fd97512215282'] = 'Fehler';
+$_MODULE['<{epay}prestashop>epay_cab8b7b59ce36ebd0bea0e92882354cb'] = 'Merchantnumber (forretningsnummer):';
+$_MODULE['<{epay}prestashop>epay_773638d65c368e04bde3165f7e691e90'] = 'URL-decode cookie in relay-script:';
+$_MODULE['<{epay}prestashop>epay_93cba07454f06a4a960172bbd6e2a435'] = 'Ja';
+$_MODULE['<{epay}prestashop>epay_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Nein';
+$_MODULE['<{epay}prestashop>epay_098a760f41b25e234acefdd0633ce8d1'] = 'Remote API (erfordert \"ePay Business\"):';
+$_MODULE['<{epay}prestashop>epay_72b56b77e1c7f0275d63d0f9b3dd7456'] = 'MD5 mode:';
+$_MODULE['<{epay}prestashop>epay_b9f5c797ebbf55adccdd8539a65a0241'] = 'Behinderte';
+$_MODULE['<{epay}prestashop>epay_f86f90b7468b01402354e6588bfbe74a'] = 'Zurück aus ePay (verschlüsselt)';
+$_MODULE['<{epay}prestashop>epay_bbc5b9ce3ecba39942800736529b139d'] = 'An beiden Daten epay und wieder zurück (meist kostenlos)';
+$_MODULE['<{epay}prestashop>epay_5fac17ce43ad1251415751894b9c6aed'] = 'MD5-Schlüssel (Passwort auch Setup in ePay admin):';
+$_MODULE['<{epay}prestashop>epay_cdb8fc358578537a11d66415ad6b944c'] = 'Group (Add-Transaktionen zu einer speziellen Gruppe):';
+$_MODULE['<{epay}prestashop>epay_46994516816994d6d0c55fad56891810'] = 'Auth SMS (SMS erhalten, da die Zahlung genehmigt wird):';
+$_MODULE['<{epay}prestashop>epay_d53da70a169a17071cc12c946e4069e3'] = 'Auth MAIL (eine E-Mail, da die Zahlung genehmigt wird):';
+$_MODULE['<{epay}prestashop>epay_94af65fb74455ef29637dce5ded24899'] = 'Karteninhaber zahlt die Transaktionsgebühr:';
+$_MODULE['<{epay}prestashop>epay_82402998e77b7322da015eccd3296ce1'] = 'Schreibe Transaktionsgebühr für die Schifffahrt';
+$_MODULE['<{epay}prestashop>epay_64778507b3fd0f1339e0fa34e2b5e19b'] = 'Splitpayment (mehrere Sendungen gleichen Reihenfolge):';
+$_MODULE['<{epay}prestashop>epay_9811eaaa328339d7ef25255bb1956533'] = 'Instant erfassen:';
+$_MODULE['<{epay}prestashop>epay_c93ac388ea38a6c24461da58afaf976b'] = 'Erhältlich Zahlungen:';
+$_MODULE['<{epay}prestashop>epay_9ea6e1f018076d531db4da63b64636f2'] = 'Annehmende Dankort, VISA / Dankort og eDankort:';
+$_MODULE['<{epay}prestashop>epay_26dcbf87943e5b7ab3c11f66f63e786f'] = 'Akzeptieren VISA, Electron, MasterCard, Maestro und JCB:';
+$_MODULE['<{epay}prestashop>epay_5a1cac4389e66a4fd28005412f392bf7'] = 'Annehmende Diners Club:';
+$_MODULE['<{epay}prestashop>epay_62d1d184a2c41a76739cf3653b8e6ae2'] = 'Annehmende American Express:';
+$_MODULE['<{epay}prestashop>epay_3c68838a20aa01bfac9585998a03cad9'] = 'Annehmende Forbrugsforeningen:';
+$_MODULE['<{epay}prestashop>epay_6185928dd1282f0815dec9da20f66c4d'] = 'Annehmende EWIRE:';
+$_MODULE['<{epay}prestashop>epay_4d2d5a6f286480bfb31a060669835f22'] = 'Annehmende NORDEA:';
+$_MODULE['<{epay}prestashop>epay_1a473e539b7a0f88f45cfad459d7f77d'] = 'Annehmende Danske Bank:';
+$_MODULE['<{epay}prestashop>epay_9316eca85d572de0b8de9f9adb66b316'] = 'Mit dem relay-script:';
+$_MODULE['<{epay}prestashop>epay_d732b84022c29c732bcea48c8b14226b'] = 'Require Name des Karteninhabers';
+$_MODULE['<{epay}prestashop>epay_5171288de7208ffee644e5fd1396d8f8'] = 'Show logo \"ePay powered by\":';
+$_MODULE['<{epay}prestashop>epay_32d92753d3d49b865ee8fac23990866d'] = 'Show um Zusammenfassung auf Zahlung vor Ort';
+$_MODULE['<{epay}prestashop>epay_7119eb02457cc0760509b15e48285b5a'] = '[PhoneNumber]:';
+$_MODULE['<{epay}prestashop>epay_f8507cd0c664ad49b447d24385748d11'] = '[Name der Firma]:';
+$_MODULE['<{epay}prestashop>epay_a82be0f551b8708bc08eb33cd9ded0cf'] = 'Information';
+$_MODULE['<{epay}prestashop>epay_878c9cfae6779e0c60568a94b4c77a57'] = 'Die Zahlung erfasst';
+$_MODULE['<{epay}prestashop>epay_7a68d0e53be91b1dff60c7e1adc0aff0'] = 'Gutgeschrieben';
+$_MODULE['<{epay}prestashop>epay_2865c62239a8a439963b4e3d42fa1b25'] = 'Die Zahlung gelöscht';
+$_MODULE['<{epay}prestashop>epay_d6a433ece2dac188ba2a455081e0e8a6'] = 'ePay info';
+$_MODULE['<{epay}prestashop>epay_4ca84e34a4ea19aba2684546004d0314'] = 'ePay Bedienfeld:';
+$_MODULE['<{epay}prestashop>epay_89b15abbe4e1e1ee478ccffbdc8aa860'] = 'ePay Transaktionsnummer:';
+$_MODULE['<{epay}prestashop>epay_fd39d2c579eb16f7a01c2cffa2542268'] = 'ePay \"order id\" (id_cart):';
+$_MODULE['<{epay}prestashop>epay_0aca63b98205ff83d3fa894c9d3b37a7'] = 'Postfix';
+$_MODULE['<{epay}prestashop>epay_16e98250dd2e717c1f210d8199a0e41a'] = 'Presta \"ordre id\" :';
+$_MODULE['<{epay}prestashop>epay_0f91ee0941e61fb068e4583673323324'] = 'Verdächtige Zahlungen!';
+$_MODULE['<{epay}prestashop>epay_44a50f07b4bdc57740901280f9eddaf5'] = 'Capture';
+$_MODULE['<{epay}prestashop>epay_f2a6c498fb90ee345d997f888fce3b18'] = 'Löschen';
+$_MODULE['<{epay}prestashop>epay_6f4e69b8c12697659a0555393fb95cfb'] = 'Wirklich löschen?';
+$_MODULE['<{epay}prestashop>epay_0a90b1bc4078f74b6f0d117ec7df65af'] = 'Credit';
+$_MODULE['<{epay}prestashop>epay_e80592d6eed1cd99117bbf627f702db1'] = 'Wollen Sie Kredit:';
+$_MODULE['<{epay}prestashop>epay_5fe6005bf6e415c950c011fb65f12b8f'] = 'Gelöscht';
+$_MODULE['<{epay}prestashop>epay_ca6b1405d3480833e26239f0ffe1bdff'] = 'Pay Dankort';
+$_MODULE['<{epay}prestashop>epay_78d863f1fcdd846081a580d17b3af719'] = 'Klicken öffnet sich ein Pop-up-Fenster mit PaymentForm öffnen.';
+$_MODULE['<{epay}prestashop>epay_1aa62bcc02029aef22ac7002f8f95f4f'] = 'Pay Hilfe eDankort';
+$_MODULE['<{epay}prestashop>epay_8e960037f7521a4cb34b5dd3825194b8'] = 'Pay Hilfe Visa kort';
+$_MODULE['<{epay}prestashop>epay_1782b9369d93ccd4204bedbdb61f9da2'] = 'Pay Hilfe Visa Electron';
+$_MODULE['<{epay}prestashop>epay_b2668de50efe995fc56be66e4141362c'] = 'Pay Hilfe MasterCard';
+$_MODULE['<{epay}prestashop>epay_76e04974a3fd7c089c8c43400bb62aa5'] = 'Pay Hilfe JCB kort';
+$_MODULE['<{epay}prestashop>epay_887e5e1e23e93a91806d55634d44ee1c'] = 'Pay Hilfe Maestro kort';
+$_MODULE['<{epay}prestashop>epay_f11a854d7f3e522239266623239c6275'] = 'Pay Hilfe Diners kort';
+$_MODULE['<{epay}prestashop>epay_74ee40a883a189e612351813499def66'] = 'Pay Hilfe American Express';
+$_MODULE['<{epay}prestashop>epay_b16e9de87573e2677e5bebdd862ca53b'] = 'Pay Hilfe Kreditkarte';
+$_MODULE['<{epay}prestashop>epay_5fae3baf0dc027b7147295cfb74a5de7'] = 'Pay Hilfe Forbrugsforeningens kort';
+$_MODULE['<{epay}prestashop>epay_86e1d6ed24f08cdea57a7047683e5c80'] = 'Pay Hilfe Ewire';
+$_MODULE['<{epay}prestashop>epay_1391ce30943c2e0833f2c0f8be26273b'] = 'Pay Hilfe Nordea';
+$_MODULE['<{epay}prestashop>epay_13b55ddb392439f2291feb31b4e52ab6'] = 'Pay Hilfe Danske Bank';
+$_MODULE['<{epay}prestashop>epayment_a54227bc6d07d5dc13e48d1aa3be9f99'] = 'Bitte warten Sie während der Kommunikation mit Payment-Server';
+$_MODULE['<{epay}prestashop>epayment_0543e05815a85a7da2ad0bfbf65e0b02'] = 'Voll in Ihre Zahlungsinformationen';
+$_MODULE['<{epay}prestashop>epayment_774d16eb5087a154a17494b786eb7ba7'] = 'Störung:';
+$_MODULE['<{epay}prestashop>epayment_5f30702c50f64d0a952d11470cdd9447'] = 'Sicheres Bezahlen';
+$_MODULE['<{epay}prestashop>epayment_ac6d6db01384281eddd993f1b7e4e4f6'] = 'Die Zahlung erfolgt durch PBS behandelt und gesichert durch ePay';
+$_MODULE['<{epay}prestashop>epayment_7124a098bf3dea6265e62da9dcc8c3f4'] = 'Sie werden sehen, diese Transaktion als';
+$_MODULE['<{epay}prestashop>epayment_24387c761dc46b6654c88202fe22efd2'] = 'Wenn Sie Fragen haben, wenden Sie sich bitte mit uns Kontakt auf:';
+$_MODULE['<{epay}prestashop>epayment_376786119ef4f697fb706ee7a32eb326'] = 'Kundenservice:';
+$_MODULE['<{epay}prestashop>epayment_25e8f2fd2871c8423bbe4e254066cd98'] = 'Bitte warten ...';
+$_MODULE['<{epay}prestashop>epayment_f35edae0cb64e7c6691de539ab562cbf'] = 'Pay mithilfe einer der folgenden Karten:';
+$_MODULE['<{epay}prestashop>epayment_6702a6e3bc2dce95c3e3b61fe578f29c'] = 'Anzahl:';
+$_MODULE['<{epay}prestashop>epayment_8f29374c0cf035590001ec17165bcc2d'] = 'Trans. Anzahl:';
+$_MODULE['<{epay}prestashop>epayment_7845db5dc98dcd8af2b153eaff9a32f0'] = 'Trans. Gebühr:';
+$_MODULE['<{epay}prestashop>epayment_0f868260831d640cfcc5cddf2e28e6ab'] = 'Kartennummer:';
+$_MODULE['<{epay}prestashop>epayment_44ba0b8b614f454eb2e50174b8843521'] = 'Name des Karteninhabers:';
+$_MODULE['<{epay}prestashop>epayment_5bf973006a2af1ca788d2ac1765e393f'] = 'Gültig bis [mm / Jahr]:';
+$_MODULE['<{epay}prestashop>epayment_46eb85bfe84e71416c951eac67160436'] = 'Control ciffers:';
+$_MODULE['<{epay}prestashop>epayment_0bf753fe1c1e1ba79a4312a3db477c6d'] = 'Was ist Kontrolle ciffers?';
+$_MODULE['<{epay}prestashop>epayment_7d316b2dd91387c8a8bfd045643b3182'] = 'Genehmigen Zahlung';
+$_MODULE['<{epay}prestashop>epayment_f1d3b424cd68795ecaa552883759aceb'] = 'Bestellen Zusammenfassung';
+$_MODULE['<{epay}prestashop>epayment_455175f3f5be6306247babb349c0515a'] = 'Ihre Adresse';
+$_MODULE['<{epay}prestashop>epayment_af0f5bdc5be121b9307687aeeae38c17'] = 'Lieferanschrift';
+$_MODULE['<{epay}prestashop>epayment_0d8d58008ef5dd7afce337373ef73993'] = 'Datum:';
+$_MODULE['<{epay}prestashop>epayment_f8617a92ba0a0a4eabee724eab7c9f48'] = 'Carrier:';
+$_MODULE['<{epay}prestashop>epayment_2a08bd3364d511e7573f0ebdbeda7c3d'] = 'Lieferzeit:';
+$_MODULE['<{epay}prestashop>epayment_ddfa8d7344e60914e26d44e40ae7aadc'] = 'Art.-Nr.';
+$_MODULE['<{epay}prestashop>epayment_deb10517653c255364175796ace3553f'] = 'Produkt';
+$_MODULE['<{epay}prestashop>epayment_694e8d1f2ee056f98ee488bdc4982d73'] = 'Menge';
+$_MODULE['<{epay}prestashop>epayment_3601146c4e948c32b6424d2c0a7f0118'] = 'Preis';
+$_MODULE['<{epay}prestashop>epayment_96b0141273eabab320119c467cdcaf17'] = 'Insgesamt';
+$_MODULE['<{epay}prestashop>epayment_dc6c32f4320d95f02c77e4fc7b7ea6e5'] = 'Stck.';
+$_MODULE['<{epay}prestashop>epayment_856ab109229e8acfcddd5c6766a8d956'] = 'Zwischensumme:';
+$_MODULE['<{epay}prestashop>epayment_7ab3a5fd2da8022848083251c204cd38'] = 'Geschenkverpackung:';
+$_MODULE['<{epay}prestashop>epayment_46ed6ee3f5867c037d5ac072a77240e3'] = 'Lieferung:';
+$_MODULE['<{epay}prestashop>epayment_b511cd3016b21f7bd3cd21cc9c130da6'] = 'MwSt. Menge:';
+$_MODULE['<{epay}prestashop>epayment_a624ac02524966cb320848261c82b96b'] = 'Preis insgesamt:';
+$_MODULE['<{epay}prestashop>epayment_a60fd623b4c378d88e3a7bb9cdfaa9a1'] = 'Control ciffers auf einem Dankort';
+$_MODULE['<{epay}prestashop>epayment_3b264e8cac5c29c7bc98f0c7687ad0f7'] = 'Control ciffers auf eine MasterCard';
+$_MODULE['<{epay}prestashop>payment_return_2e2117b7c81aa9ea6931641ea2c6499f'] = 'Din ordre på';
+$_MODULE['<{epay}prestashop>payment_return_75fbf512d744977d62599cc3f0ae2bb4'] = 'er gennemført.';
+$_MODULE['<{epay}prestashop>payment_return_da4f989fc765e325d13a529c3c65a74a'] = 'Transaktionen blev gennemført med kortet:';
diff --git a/epay/translations/en.php b/epay/translations/en.php
new file mode 100644
index 0000000..a6b9ee9
--- /dev/null
+++ b/epay/translations/en.php
@@ -0,0 +1,6 @@
+
diff --git a/epay/translations/index.php b/epay/translations/index.php
new file mode 100644
index 0000000..3f6561f
--- /dev/null
+++ b/epay/translations/index.php
@@ -0,0 +1,35 @@
+
+* @copyright 2007-2013 PrestaShop SA
+* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+* International Registered Trademark & Property of PrestaShop SA
+*/
+
+header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
+
+header("Cache-Control: no-store, no-cache, must-revalidate");
+header("Cache-Control: post-check=0, pre-check=0", false);
+header("Pragma: no-cache");
+
+header("Location: ../");
+exit;
\ No newline at end of file
diff --git a/epay/translations/no.php b/epay/translations/no.php
new file mode 100644
index 0000000..e69de29
diff --git a/epay/translations/sv.php b/epay/translations/sv.php
new file mode 100644
index 0000000..cc89762
--- /dev/null
+++ b/epay/translations/sv.php
@@ -0,0 +1,117 @@
+EpaySoap_774d16eb5087a154a17494b786eb7ba7'] = 'Fel:';
+$_MODULE['<{epay}prestashop>epay_090cf4e01e5756b0f89804b8fdfdae84'] = 'Betalning';
+$_MODULE['<{epay}prestashop>epay_bba990e170100d574529530ca9ced349'] = 'Acceptera Dankort, eDankort, VISA, Electron, MasterCard, Maestro, JCB, Diners, AMEX, EWIRE, Nordea och Danske Bank betalningar genom ePay Secure Online Payment System';
+$_MODULE['<{epay}prestashop>epay_f4d1ea475eaa85102e2b4e6d95da84bd'] = 'bekräftelse';
+$_MODULE['<{epay}prestashop>epay_c888438d14855d7d96a2724ee9c306bd'] = 'Inställningar uppdaterats';
+$_MODULE['<{epay}prestashop>epay_6357d3551190ec7e79371a8570121d3a'] = 'Det finns';
+$_MODULE['<{epay}prestashop>epay_4ce81305b7edb043d0a7a5c75cab17d0'] = 'Det finns';
+$_MODULE['<{epay}prestashop>epay_07213a0161f52846ab198be103b5ab43'] = 'Fel';
+$_MODULE['<{epay}prestashop>epay_cb5e100e5a9a3e7f6d1fd97512215282'] = 'Fel';
+$_MODULE['<{epay}prestashop>epay_cab8b7b59ce36ebd0bea0e92882354cb'] = 'Merchantnumber (organisationsnummer)';
+$_MODULE['<{epay}prestashop>epay_098a760f41b25e234acefdd0633ce8d1'] = 'Remote API (kräver \"ePay Business \"):';
+$_MODULE['<{epay}prestashop>epay_93cba07454f06a4a960172bbd6e2a435'] = 'Ja';
+$_MODULE['<{epay}prestashop>epay_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Nej';
+$_MODULE['<{epay}prestashop>epay_72b56b77e1c7f0275d63d0f9b3dd7456'] = 'MD5 sätt:';
+$_MODULE['<{epay}prestashop>epay_b9f5c797ebbf55adccdd8539a65a0241'] = 'Off';
+$_MODULE['<{epay}prestashop>epay_f86f90b7468b01402354e6588bfbe74a'] = 'mottaget från ePay (säkert) ';
+$_MODULE['<{epay}prestashop>epay_bbc5b9ce3ecba39942800736529b139d'] = 'Data i båda riktningarna mellan ePay och dig';
+$_MODULE['<{epay}prestashop>epay_5fac17ce43ad1251415751894b9c6aed'] = 'MD5 key:';
+$_MODULE['<{epay}prestashop>epay_cdb8fc358578537a11d66415ad6b944c'] = 'Grupp (lägg transaktion till en viss grupp):';
+$_MODULE['<{epay}prestashop>epay_46994516816994d6d0c55fad56891810'] = 'Auth SMS (ta emot SMS när betalningen är klar):';
+$_MODULE['<{epay}prestashop>epay_d53da70a169a17071cc12c946e4069e3'] = 'Auth E-POST (få e-post när betalningen är klar):';
+$_MODULE['<{epay}prestashop>epay_94af65fb74455ef29637dce5ded24899'] = 'Kortinnehavare betalar transaktionsavgift:';
+$_MODULE['<{epay}prestashop>epay_64778507b3fd0f1339e0fa34e2b5e19b'] = 'Split Betalning (Skicka din beställning över flera gånger):';
+$_MODULE['<{epay}prestashop>epay_9811eaaa328339d7ef25255bb1956533'] = 'Omedelbart återkalla: ';
+$_MODULE['<{epay}prestashop>epay_c93ac388ea38a6c24461da58afaf976b'] = 'Möjliga betalning:';
+$_MODULE['<{epay}prestashop>epay_9ea6e1f018076d531db4da63b64636f2'] = 'Acceptera Dankort, VISA / kontanter och eDankort: ';
+$_MODULE['<{epay}prestashop>epay_26dcbf87943e5b7ab3c11f66f63e786f'] = 'Acceptera VISA, VISA Electron, Mastercard, Maestro och JCB: ';
+$_MODULE['<{epay}prestashop>epay_deabdd27dc2e9a595fb3ea282a8878a9'] = '3D secure (VISA, MasterCard och JCB): ';
+$_MODULE['<{epay}prestashop>epay_00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Aktiverad';
+$_MODULE['<{epay}prestashop>epay_05fa6ba2c3a5a7098a309a6320f738e2'] = 'Verkställighet 3D Secure';
+$_MODULE['<{epay}prestashop>epay_5a1cac4389e66a4fd28005412f392bf7'] = 'Acceptera Diners Club:';
+$_MODULE['<{epay}prestashop>epay_62d1d184a2c41a76739cf3653b8e6ae2'] = 'Accepterar American Express:';
+$_MODULE['<{epay}prestashop>epay_3c68838a20aa01bfac9585998a03cad9'] = 'Accepterar Forbrugsforeningen: ';
+$_MODULE['<{epay}prestashop>epay_6185928dd1282f0815dec9da20f66c4d'] = 'Accepterar EWIRE:';
+$_MODULE['<{epay}prestashop>epay_4d2d5a6f286480bfb31a060669835f22'] = 'Accepterar NORDEA:';
+$_MODULE['<{epay}prestashop>epay_1a473e539b7a0f88f45cfad459d7f77d'] = 'Accepterar Danske Bank: ';
+$_MODULE['<{epay}prestashop>epay_9316eca85d572de0b8de9f9adb66b316'] = 'Betalning i integrerade layout: ';
+$_MODULE['<{epay}prestashop>epay_773638d65c368e04bde3165f7e691e90'] = 'URL-decode cookien från reläet script:';
+$_MODULE['<{epay}prestashop>epay_5171288de7208ffee644e5fd1396d8f8'] = 'Visa \"ePay powered by\" logo:';
+$_MODULE['<{epay}prestashop>epay_32d92753d3d49b865ee8fac23990866d'] = 'Visa beställning uppsummering betalningen sida:';
+$_MODULE['<{epay}prestashop>epay_7119eb02457cc0760509b15e48285b5a'] = '[telefonnummer]:';
+$_MODULE['<{epay}prestashop>epay_f8507cd0c664ad49b447d24385748d11'] = '[företagets namn]:';
+$_MODULE['<{epay}prestashop>epay_a82be0f551b8708bc08eb33cd9ded0cf'] = 'Information';
+$_MODULE['<{epay}prestashop>epay_878c9cfae6779e0c60568a94b4c77a57'] = 'Betalning stängd (captured)';
+$_MODULE['<{epay}prestashop>epay_7a68d0e53be91b1dff60c7e1adc0aff0'] = 'betalningsanslagen (credited)';
+$_MODULE['<{epay}prestashop>epay_2865c62239a8a439963b4e3d42fa1b25'] = 'Betalning bort (deleted)';
+$_MODULE['<{epay}prestashop>epay_d6a433ece2dac188ba2a455081e0e8a6'] = 'ePay info ';
+$_MODULE['<{epay}prestashop>epay_4ca84e34a4ea19aba2684546004d0314'] = 'ePay kontrollpanelen: ';
+$_MODULE['<{epay}prestashop>epay_89b15abbe4e1e1ee478ccffbdc8aa860'] = 'ePay transaktionsnr. : ';
+$_MODULE['<{epay}prestashop>epay_fd39d2c579eb16f7a01c2cffa2542268'] = 'ePay \"beställningsnummer\":';
+$_MODULE['<{epay}prestashop>epay_16e98250dd2e717c1f210d8199a0e41a'] = 'Presta \ "beställningsnummer\":';
+$_MODULE['<{epay}prestashop>epay_0f91ee0941e61fb068e4583673323324'] = 'Misstänkta betalning';
+$_MODULE['<{epay}prestashop>epay_44a50f07b4bdc57740901280f9eddaf5'] = 'Hög';
+$_MODULE['<{epay}prestashop>epay_f2a6c498fb90ee345d997f888fce3b18'] = 'Radera';
+$_MODULE['<{epay}prestashop>epay_6f4e69b8c12697659a0555393fb95cfb'] = 'Vill du ta bort transaktionen? ';
+$_MODULE['<{epay}prestashop>epay_0a90b1bc4078f74b6f0d117ec7df65af'] = 'Kreditera ';
+$_MODULE['<{epay}prestashop>epay_e80592d6eed1cd99117bbf627f702db1'] = 'Vill du Kreditera:';
+$_MODULE['<{epay}prestashop>epay_5fe6005bf6e415c950c011fb65f12b8f'] = 'Raderad';
+$_MODULE['<{epay}prestashop>epay_ca6b1405d3480833e26239f0ffe1bdff'] = 'Betala med Dankort';
+$_MODULE['<{epay}prestashop>epay_78d863f1fcdd846081a580d17b3af719'] = 'Ett pop-up fönster med betalningsinformation öppnade';
+$_MODULE['<{epay}prestashop>epay_1aa62bcc02029aef22ac7002f8f95f4f'] = 'Betala med eDankort ';
+$_MODULE['<{epay}prestashop>epay_8e960037f7521a4cb34b5dd3825194b8'] = 'Betala med VISA kort ';
+$_MODULE['<{epay}prestashop>epay_1782b9369d93ccd4204bedbdb61f9da2'] = 'Betala med VISA Electron ';
+$_MODULE['<{epay}prestashop>epay_b2668de50efe995fc56be66e4141362c'] = 'Betala med MasterCard ';
+$_MODULE['<{epay}prestashop>epay_76e04974a3fd7c089c8c43400bb62aa5'] = 'Betala med JCB kort ';
+$_MODULE['<{epay}prestashop>epay_887e5e1e23e93a91806d55634d44ee1c'] = 'Betala med Maestro kort ';
+$_MODULE['<{epay}prestashop>epay_f11a854d7f3e522239266623239c6275'] = 'Betala med Diners kort ';
+$_MODULE['<{epay}prestashop>epay_74ee40a883a189e612351813499def66'] = 'Betala med American Express ';
+$_MODULE['<{epay}prestashop>epay_b16e9de87573e2677e5bebdd862ca53b'] = 'Betala med kreditkort!';
+$_MODULE['<{epay}prestashop>epay_5fae3baf0dc027b7147295cfb74a5de7'] = 'Betala med Forbrugsforeningens kort';
+$_MODULE['<{epay}prestashop>epay_86e1d6ed24f08cdea57a7047683e5c80'] = 'Betala med EWIRE';
+$_MODULE['<{epay}prestashop>epay_1391ce30943c2e0833f2c0f8be26273b'] = 'Betala med Nordea';
+$_MODULE['<{epay}prestashop>epay_13b55ddb392439f2291feb31b4e52ab6'] = 'Betala med Danske Bank';
+$_MODULE['<{epay}prestashop>epayment_0543e05815a85a7da2ad0bfbf65e0b02'] = 'Fyll i betalningsinformation ';
+$_MODULE['<{epay}prestashop>epayment_774d16eb5087a154a17494b786eb7ba7'] = 'Fel:';
+$_MODULE['<{epay}prestashop>epayment_c453a4b8e8d98e82f35b67f433e3b4da'] = 'Betalning';
+$_MODULE['<{epay}prestashop>epayment_f35edae0cb64e7c6691de539ab562cbf'] = 'Betala med någon av följande korttyper: ';
+$_MODULE['<{epay}prestashop>epayment_6702a6e3bc2dce95c3e3b61fe578f29c'] = 'Belopp: ';
+$_MODULE['<{epay}prestashop>epayment_8f29374c0cf035590001ec17165bcc2d'] = 'Trans. Nr: ';
+$_MODULE['<{epay}prestashop>epayment_7845db5dc98dcd8af2b153eaff9a32f0'] = 'Trans. avgift:';
+$_MODULE['<{epay}prestashop>epayment_44ba0b8b614f454eb2e50174b8843521'] = 'Kortinnehavarens namn:';
+$_MODULE['<{epay}prestashop>epayment_0bf753fe1c1e1ba79a4312a3db477c6d'] = 'Vad är CVV?';
+$_MODULE['<{epay}prestashop>epayment_25e8f2fd2871c8423bbe4e254066cd98'] = 'Var god vänta...';
+$_MODULE['<{epay}prestashop>epayment_0f868260831d640cfcc5cddf2e28e6ab'] = 'Kortnummer:';
+$_MODULE['<{epay}prestashop>epayment_5bf973006a2af1ca788d2ac1765e393f'] = 'Förfaller [mm / yy]:';
+$_MODULE['<{epay}prestashop>epayment_46eb85bfe84e71416c951eac67160436'] = 'Kontrollsiffra (CVV):';
+$_MODULE['<{epay}prestashop>epayment_7d316b2dd91387c8a8bfd045643b3182'] = 'Godkänn betalning ';
+$_MODULE['<{epay}prestashop>epayment_5f30702c50f64d0a952d11470cdd9447'] = 'Säkra betalningar:';
+$_MODULE['<{epay}prestashop>epayment_ac6d6db01384281eddd993f1b7e4e4f6'] = 'Betalning behandlas av Euroline (SEB) och går igenom en säker linje via ePay. ';
+$_MODULE['<{epay}prestashop>epayment_7124a098bf3dea6265e62da9dcc8c3f4'] = 'Du ser transaktionen som';
+$_MODULE['<{epay}prestashop>epayment_24387c761dc46b6654c88202fe22efd2'] = 'Har du några frågor är du välkommen att kontakta oss:';
+$_MODULE['<{epay}prestashop>epayment_376786119ef4f697fb706ee7a32eb326'] = 'Kundtjänst:';
+$_MODULE['<{epay}prestashop>epayment_f1d3b424cd68795ecaa552883759aceb'] = 'Bläddra kundorder:';
+$_MODULE['<{epay}prestashop>epayment_455175f3f5be6306247babb349c0515a'] = 'Din adress';
+$_MODULE['<{epay}prestashop>epayment_af0f5bdc5be121b9307687aeeae38c17'] = 'Leveransadress';
+$_MODULE['<{epay}prestashop>epayment_0d8d58008ef5dd7afce337373ef73993'] = 'Datum:';
+$_MODULE['<{epay}prestashop>epayment_f8617a92ba0a0a4eabee724eab7c9f48'] = 'Leverans:';
+$_MODULE['<{epay}prestashop>epayment_2a08bd3364d511e7573f0ebdbeda7c3d'] = 'Leveransdatum:';
+$_MODULE['<{epay}prestashop>epayment_ddfa8d7344e60914e26d44e40ae7aadc'] = 'Artikelnr.';
+$_MODULE['<{epay}prestashop>epayment_deb10517653c255364175796ace3553f'] = 'Produkt';
+$_MODULE['<{epay}prestashop>epayment_694e8d1f2ee056f98ee488bdc4982d73'] = 'Antal';
+$_MODULE['<{epay}prestashop>epayment_3601146c4e948c32b6424d2c0a7f0118'] = 'Pris';
+$_MODULE['<{epay}prestashop>epayment_96b0141273eabab320119c467cdcaf17'] = 'Totalt';
+$_MODULE['<{epay}prestashop>epayment_dc6c32f4320d95f02c77e4fc7b7ea6e5'] = 'punkt. ';
+$_MODULE['<{epay}prestashop>epayment_856ab109229e8acfcddd5c6766a8d956'] = 'Summa:';
+$_MODULE['<{epay}prestashop>epayment_7ab3a5fd2da8022848083251c204cd38'] = 'Presentpapper:';
+$_MODULE['<{epay}prestashop>epayment_46ed6ee3f5867c037d5ac072a77240e3'] = 'Frakt:';
+$_MODULE['<{epay}prestashop>epayment_b511cd3016b21f7bd3cd21cc9c130da6'] = 'Moms är:';
+$_MODULE['<{epay}prestashop>epayment_a624ac02524966cb320848261c82b96b'] = 'Totalt pris:';
+$_MODULE['<{epay}prestashop>epayment_a54227bc6d07d5dc13e48d1aa3be9f99'] = 'Vänta medan kommunikation med betalserver';
+$_MODULE['<{epay}prestashop>payment_return_2e2117b7c81aa9ea6931641ea2c6499f'] = 'Din beställning';
+$_MODULE['<{epay}prestashop>payment_return_75fbf512d744977d62599cc3f0ae2bb4'] = 'är avslutad.';
+$_MODULE['<{epay}prestashop>payment_return_da4f989fc765e325d13a529c3c65a74a'] = 'Transaktionen slutfördes med kortet:';
diff --git a/epay/views/index.php b/epay/views/index.php
new file mode 100644
index 0000000..3f6561f
--- /dev/null
+++ b/epay/views/index.php
@@ -0,0 +1,35 @@
+
+* @copyright 2007-2013 PrestaShop SA
+* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+* International Registered Trademark & Property of PrestaShop SA
+*/
+
+header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
+
+header("Cache-Control: no-store, no-cache, must-revalidate");
+header("Cache-Control: post-check=0, pre-check=0", false);
+header("Pragma: no-cache");
+
+header("Location: ../");
+exit;
\ No newline at end of file
diff --git a/epay/views/templates/front/index.php b/epay/views/templates/front/index.php
new file mode 100644
index 0000000..3f6561f
--- /dev/null
+++ b/epay/views/templates/front/index.php
@@ -0,0 +1,35 @@
+
+* @copyright 2007-2013 PrestaShop SA
+* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+* International Registered Trademark & Property of PrestaShop SA
+*/
+
+header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
+
+header("Cache-Control: no-store, no-cache, must-revalidate");
+header("Cache-Control: post-check=0, pre-check=0", false);
+header("Pragma: no-cache");
+
+header("Location: ../");
+exit;
\ No newline at end of file
diff --git a/epay/views/templates/front/validation.tpl b/epay/views/templates/front/validation.tpl
new file mode 100644
index 0000000..b0d01de
--- /dev/null
+++ b/epay/views/templates/front/validation.tpl
@@ -0,0 +1 @@
+{l s='Your order on' mod='epay'} {$shop_name} {l s='is complete.' mod='epay'}
\ No newline at end of file
diff --git a/epay/views/templates/hook/blockepaymentlogo.tpl b/epay/views/templates/hook/blockepaymentlogo.tpl
new file mode 100644
index 0000000..6864649
--- /dev/null
+++ b/epay/views/templates/hook/blockepaymentlogo.tpl
@@ -0,0 +1,15 @@
+
+
+{assign var='tmp' value=$base_dir_ssl}
+{assign var='base_dir_ssl' value=$tmp}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/epay/views/templates/hook/index.php b/epay/views/templates/hook/index.php
new file mode 100644
index 0000000..3f6561f
--- /dev/null
+++ b/epay/views/templates/hook/index.php
@@ -0,0 +1,35 @@
+
+* @copyright 2007-2013 PrestaShop SA
+* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+* International Registered Trademark & Property of PrestaShop SA
+*/
+
+header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
+
+header("Cache-Control: no-store, no-cache, must-revalidate");
+header("Cache-Control: post-check=0, pre-check=0", false);
+header("Pragma: no-cache");
+
+header("Location: ../");
+exit;
\ No newline at end of file
diff --git a/epay/views/templates/hook/payment.tpl b/epay/views/templates/hook/payment.tpl
new file mode 100644
index 0000000..d7a1b50
--- /dev/null
+++ b/epay/views/templates/hook/payment.tpl
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+ {l s='Pay using ePay' mod='epay'}
+
+ Cards
+
+
+
+
+
+
\ No newline at end of file
diff --git a/epay/views/templates/hook/payment_return.tpl b/epay/views/templates/hook/payment_return.tpl
new file mode 100644
index 0000000..b29deb1
--- /dev/null
+++ b/epay/views/templates/hook/payment_return.tpl
@@ -0,0 +1,8 @@
+ {l s='Your order on' mod='epay'} {$shop_name} {l s='is complete.' mod='epay'}
+ {if $postfix}
+
+ {l s='The transaction was made with card' mod='epay'} XXXX XXXX XXXX {$postfix}
+ {/if}
+
+
+
diff --git a/epay/views/templates/index.php b/epay/views/templates/index.php
new file mode 100644
index 0000000..3f6561f
--- /dev/null
+++ b/epay/views/templates/index.php
@@ -0,0 +1,35 @@
+
+* @copyright 2007-2013 PrestaShop SA
+* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+* International Registered Trademark & Property of PrestaShop SA
+*/
+
+header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
+
+header("Cache-Control: no-store, no-cache, must-revalidate");
+header("Cache-Control: post-check=0, pre-check=0", false);
+header("Pragma: no-cache");
+
+header("Location: ../");
+exit;
\ No newline at end of file