Version Notes
- add new payment method MasterPass
- add auto finalize for invoice
Download this release
Release Info
Developer | Heidelberger Payment GmbH |
Extension | HeidelpayCDEdition |
Version | 15.9.9 |
Comparing to | |
See all releases |
Code changes from version 15.5.28 to 15.9.9
- app/code/community/HeidelpayCD/Edition/Block/Button.php +6 -0
- app/code/community/HeidelpayCD/Edition/Block/Form/Masterpass.php +9 -0
- app/code/community/HeidelpayCD/Edition/Block/Info/Masterpass.php +12 -0
- app/code/community/HeidelpayCD/Edition/Block/Onepage.php +35 -0
- app/code/community/HeidelpayCD/Edition/Block/Onepage/Billing.php +37 -0
- app/code/community/HeidelpayCD/Edition/Block/Onepage/Progress.php +79 -0
- app/code/community/HeidelpayCD/Edition/Block/Onepage/Shipping.php +37 -0
- app/code/community/HeidelpayCD/Edition/Helper/Data.php +7 -7
- app/code/community/HeidelpayCD/Edition/Helper/Payment.php +138 -13
- app/code/community/HeidelpayCD/Edition/Model/Observer.php +130 -0
- app/code/community/HeidelpayCD/Edition/Model/Payment/Abstract.php +94 -64
- app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdbs.php +2 -3
- app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdcc.php +2 -0
- app/code/community/HeidelpayCD/Edition/Model/Payment/Hcddc.php +2 -0
- app/code/community/HeidelpayCD/Edition/Model/Payment/Hcddd.php +3 -2
- app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdiv.php +2 -0
- app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdmpa.php +108 -0
- app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdpal.php +2 -0
- app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdpp.php +1 -2
- app/code/community/HeidelpayCD/Edition/Model/Transaction.php +14 -4
- app/code/community/HeidelpayCD/Edition/controllers/CheckoutController.php +268 -0
- app/code/community/HeidelpayCD/Edition/controllers/IndexController.php +224 -19
- app/code/community/HeidelpayCD/Edition/etc/config.xml +56 -3
- app/code/community/HeidelpayCD/Edition/etc/system.xml +159 -4
- app/code/community/HeidelpayCD/Edition/sql/hcd_setup/install-15.1.30.php +170 -170
- app/design/adminhtml/default/default/template/hcd/Info/masterpass.phtml +22 -0
- app/design/frontend/base/default/layout/hcd.xml +115 -2
- app/design/frontend/base/default/template/hcd/Info/debit.phtml +23 -0
- app/design/frontend/base/default/template/hcd/Info/masterpass.phtml +23 -0
- app/design/frontend/base/default/template/hcd/button.phtml +65 -0
- app/design/frontend/base/default/template/hcd/form/masterpass.phtml +42 -0
- app/design/frontend/base/default/template/hcd/mail/hcd_payment_info.phtml +16 -0
- app/design/frontend/base/default/template/hcd/onepage.phtml +35 -0
- app/design/frontend/base/default/template/hcd/onepage/billing.phtml +168 -0
- app/design/frontend/base/default/template/hcd/onepage/payment.phtml +47 -0
- app/design/frontend/base/default/template/hcd/onepage/payment/methods.phtml +75 -0
- app/design/frontend/base/default/template/hcd/onepage/progress.phtml +33 -0
- app/design/frontend/base/default/template/hcd/onepage/progress/payment.phtml +51 -0
- app/design/frontend/base/default/template/hcd/onepage/progress/shipping.phtml +44 -0
- app/design/frontend/base/default/template/hcd/onepage/shipping_method.phtml +20 -0
- app/locale/de_DE/HeidelpayCD_Edition.csv +177 -150
- app/locale/en_US/HeidelpayCD_Edition.csv +182 -156
- js/hcd/heidelpaycd.js +12 -0
- js/hcd/opcheckout.js +962 -0
- package.xml +7 -8
- skin/adminhtml/base/default/images/hcd/masterpass_100_28.jpg +0 -0
- skin/frontend/base/default/css/heidelpaycd.css +36 -0
- skin/frontend/base/default/images/hcd/masterpass_100_28.jpg +0 -0
- skin/frontend/base/default/images/hcd/masterpass_240_66.jpg +0 -0
app/code/community/HeidelpayCD/Edition/Block/Button.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class HeidelpayCD_Edition_Block_Button extends HeidelpayCD_Edition_Block_Abstract
|
3 |
+
{
|
4 |
+
|
5 |
+
|
6 |
+
}
|
app/code/community/HeidelpayCD/Edition/Block/Form/Masterpass.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class HeidelpayCD_Edition_Block_Form_Masterpass extends Mage_Payment_Block_Form
|
3 |
+
{
|
4 |
+
protected function _construct()
|
5 |
+
{
|
6 |
+
parent::_construct();
|
7 |
+
$this->setTemplate('hcd/form/masterpass.phtml');
|
8 |
+
}
|
9 |
+
}
|
app/code/community/HeidelpayCD/Edition/Block/Info/Masterpass.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class HeidelpayCD_Edition_Block_Info_Masterpass extends Mage_Payment_Block_Info
|
3 |
+
{
|
4 |
+
/**
|
5 |
+
* Init default template for block
|
6 |
+
*/
|
7 |
+
protected function _construct()
|
8 |
+
{
|
9 |
+
parent::_construct();
|
10 |
+
$this->setTemplate('hcd/info/masterpass.phtml');
|
11 |
+
}
|
12 |
+
}
|
app/code/community/HeidelpayCD/Edition/Block/Onepage.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class HeidelpayCD_Edition_Block_Onepage extends Mage_Checkout_Block_Onepage
|
4 |
+
{
|
5 |
+
/**
|
6 |
+
* Get 'one step checkout' step data
|
7 |
+
*
|
8 |
+
* @return array
|
9 |
+
*/
|
10 |
+
public function getSteps()
|
11 |
+
{
|
12 |
+
$steps = array();
|
13 |
+
$stepCodes = $this->_getStepCodes();
|
14 |
+
|
15 |
+
if ($this->isCustomerLoggedIn()) {
|
16 |
+
$stepCodes = array_diff($stepCodes, array('login'));
|
17 |
+
}
|
18 |
+
|
19 |
+
foreach ($stepCodes as $step) {
|
20 |
+
$steps[$step] = $this->getCheckout()->getStepData($step);
|
21 |
+
}
|
22 |
+
|
23 |
+
return $steps;
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Get active step
|
28 |
+
*
|
29 |
+
* @return string
|
30 |
+
*/
|
31 |
+
public function getActiveStep()
|
32 |
+
{
|
33 |
+
return $this->isCustomerLoggedIn() ? 'billing' : 'billing';
|
34 |
+
}
|
35 |
+
}
|
app/code/community/HeidelpayCD/Edition/Block/Onepage/Billing.php
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class HeidelpayCD_Edition_Block_Onepage_Billing extends Mage_Checkout_Block_Onepage_Billing {
|
4 |
+
|
5 |
+
public function getAddress() {
|
6 |
+
$HcdWallet = Mage::getSingleton('checkout/session')->getHcdWallet();
|
7 |
+
if (!empty($HcdWallet)){
|
8 |
+
|
9 |
+
|
10 |
+
$wallet = Mage::getSingleton('checkout/session')->getHcdWallet();
|
11 |
+
$this->_address = Mage::getModel('sales/quote_address')->setAddressType(
|
12 |
+
Mage_Sales_Model_Quote_Address::TYPE_BILLING)
|
13 |
+
->setStoreId(Mage::app()->getStore()->getId())
|
14 |
+
->setFirstname($wallet['adress'] ['firstname'])
|
15 |
+
->setLastname($wallet['adress'] ['lastname'])
|
16 |
+
->setEmail($wallet['adress'] ['email'])
|
17 |
+
->setSuffix((''))
|
18 |
+
->setCompany('')
|
19 |
+
->setStreet(array(
|
20 |
+
'0' => $wallet['adress'] ['street'][0],
|
21 |
+
'1' => $wallet['adress'] ['street'][1]
|
22 |
+
))
|
23 |
+
->setCity($wallet['adress'] ['city'])
|
24 |
+
->setPostcode($wallet['adress'] ['postcode'])
|
25 |
+
->setCountry_id($wallet['adress'] ['country_id'])
|
26 |
+
->setRegion($wallet['adress'] ['region'])
|
27 |
+
->setRegion_id((string)$wallet['adress'] ['region_id'])
|
28 |
+
->setTelephone($wallet['adress'] ['telephone'])
|
29 |
+
->setFax();
|
30 |
+
|
31 |
+
return $this->_address;
|
32 |
+
} else
|
33 |
+
return parent::getAddress();
|
34 |
+
}
|
35 |
+
|
36 |
+
|
37 |
+
}
|
app/code/community/HeidelpayCD/Edition/Block/Onepage/Progress.php
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class HeidelpayCD_Edition_Block_Onepage_Progress extends Mage_Checkout_Block_Onepage_Progress {
|
4 |
+
|
5 |
+
public function getBilling() {
|
6 |
+
Mage::log(' getBillingAddress '.$this->getQuote()->getBillingAddress());
|
7 |
+
return $this->getQuote()->getBillingAddress();
|
8 |
+
}
|
9 |
+
|
10 |
+
public function getShipping() {
|
11 |
+
return $this->getQuote()->getShippingAddress();
|
12 |
+
}
|
13 |
+
|
14 |
+
public function getShippingMethod() {
|
15 |
+
return $this->getQuote()->getShippingAddress()->getShippingMethod();
|
16 |
+
}
|
17 |
+
|
18 |
+
public function getShippingDescription() {
|
19 |
+
return $this->getQuote()->getShippingAddress()->getShippingDescription();
|
20 |
+
}
|
21 |
+
|
22 |
+
public function getShippingAmount() {
|
23 |
+
return $this->getQuote()->getShippingAddress()->getShippingAmount();
|
24 |
+
}
|
25 |
+
|
26 |
+
public function getPaymentHtml() {
|
27 |
+
return $this->getChildHtml('payment_info');
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Get is step completed.
|
32 |
+
* if is set 'toStep' then all steps after him is not completed.
|
33 |
+
*
|
34 |
+
* @param string $currentStep
|
35 |
+
* @see : Mage_Checkout_Block_Onepage_Abstract::_getStepCodes() for allowed values
|
36 |
+
* @return bool
|
37 |
+
*/
|
38 |
+
public function isStepComplete($currentStep) {
|
39 |
+
$autho = Mage::getSingleton('core/session');
|
40 |
+
|
41 |
+
if (!empty(Mage::getSingleton('checkout/session')->getHcdWallet())) {
|
42 |
+
Mage::log('isStepComplete yes');
|
43 |
+
return true;
|
44 |
+
} else {
|
45 |
+
$stepsRevertIndex = array_flip($this->_getStepCodes());
|
46 |
+
|
47 |
+
$toStep = $this->getRequest()->getParam('toStep');
|
48 |
+
|
49 |
+
if (empty($toStep) || !isset($stepsRevertIndex [$currentStep])) {
|
50 |
+
return $this->getCheckout()->getStepData($currentStep, 'complete');
|
51 |
+
}
|
52 |
+
|
53 |
+
if ($stepsRevertIndex [$currentStep] > $stepsRevertIndex [$toStep]) {
|
54 |
+
return false;
|
55 |
+
}
|
56 |
+
|
57 |
+
return $this->getCheckout()->getStepData($currentStep, 'complete');
|
58 |
+
}
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Get quote shipping price including tax
|
63 |
+
*
|
64 |
+
* @return float
|
65 |
+
*/
|
66 |
+
public function getShippingPriceInclTax() {
|
67 |
+
$inclTax = $this->getQuote()->getShippingAddress()->getShippingInclTax();
|
68 |
+
return $this->formatPrice($inclTax);
|
69 |
+
}
|
70 |
+
|
71 |
+
public function getShippingPriceExclTax() {
|
72 |
+
return $this->formatPrice($this->getQuote()->getShippingAddress()->getShippingAmount());
|
73 |
+
}
|
74 |
+
|
75 |
+
public function formatPrice($price) {
|
76 |
+
return $this->getQuote()->getStore()->formatPrice($price);
|
77 |
+
}
|
78 |
+
|
79 |
+
}
|
app/code/community/HeidelpayCD/Edition/Block/Onepage/Shipping.php
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class HeidelpayCD_Edition_Block_Onepage_Shipping extends Mage_Checkout_Block_Onepage_Shipping {
|
4 |
+
|
5 |
+
public function getAddress() {
|
6 |
+
|
7 |
+
if (!empty(Mage::getSingleton('checkout/session')->getHcdWallet())){
|
8 |
+
|
9 |
+
|
10 |
+
$wallet = Mage::getSingleton('checkout/session')->getHcdWallet();
|
11 |
+
$this->_address = Mage::getModel('sales/quote_address')->setAddressType(
|
12 |
+
Mage_Sales_Model_Quote_Address::TYPE_BILLING)
|
13 |
+
->setStoreId(Mage::app()->getStore()->getId())
|
14 |
+
->setFirstname($wallet['adress'] ['firstname'])
|
15 |
+
->setLastname($wallet['adress'] ['lastname'])
|
16 |
+
->setEmail($wallet['adress'] ['email'])
|
17 |
+
->setSuffix((''))
|
18 |
+
->setCompany('')
|
19 |
+
->setStreet(array(
|
20 |
+
'0' => $wallet['adress'] ['street'][0],
|
21 |
+
'1' => $wallet['adress'] ['street'][1]
|
22 |
+
))
|
23 |
+
->setCity($wallet['adress'] ['city'])
|
24 |
+
->setPostcode($wallet['adress'] ['postcode'])
|
25 |
+
->setCountry_id($wallet['adress'] ['country_id'])
|
26 |
+
->setRegion($wallet['adress'] ['region'])
|
27 |
+
->setRegion_id((string)$wallet['adress'] ['region_id'])
|
28 |
+
->setTelephone($wallet['adress'] ['telephone'])
|
29 |
+
->setFax();
|
30 |
+
|
31 |
+
return $this->_address;
|
32 |
+
} else
|
33 |
+
return parent::getAddress();
|
34 |
+
}
|
35 |
+
|
36 |
+
|
37 |
+
}
|
app/code/community/HeidelpayCD/Edition/Helper/Data.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
*/
|
4 |
-
class HeidelpayCD_Edition_Helper_Data extends Mage_Core_Helper_Data
|
5 |
-
{
|
6 |
-
}
|
7 |
-
?>
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*/
|
4 |
+
class HeidelpayCD_Edition_Helper_Data extends Mage_Core_Helper_Data
|
5 |
+
{
|
6 |
+
}
|
7 |
+
?>
|
app/code/community/HeidelpayCD/Edition/Helper/Payment.php
CHANGED
@@ -4,6 +4,7 @@
|
|
4 |
class HeidelpayCD_Edition_Helper_Payment extends Mage_Core_Helper_Abstract
|
5 |
{
|
6 |
protected $_invoiceOrderEmail = true ;
|
|
|
7 |
|
8 |
protected function _getHelper()
|
9 |
{
|
@@ -20,18 +21,34 @@ class HeidelpayCD_Edition_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
20 |
$client = new Zend_Http_Client(trim($url), array(
|
21 |
|
22 |
));
|
|
|
|
|
|
|
|
|
23 |
$client->setParameterPost($params);
|
|
|
24 |
if (extension_loaded('curl')) {
|
25 |
$adapter = new Zend_Http_Client_Adapter_Curl();
|
26 |
$adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, true);
|
27 |
$adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, 2);
|
28 |
$client->setAdapter($adapter);
|
29 |
}
|
30 |
-
$
|
31 |
-
$res = $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
|
33 |
$result = null;
|
34 |
parse_str($res, $result);
|
|
|
35 |
return $result;
|
36 |
}
|
37 |
|
@@ -60,7 +77,6 @@ class HeidelpayCD_Edition_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
60 |
}
|
61 |
$params['TRANSACTION.CHANNEL'] = $config['TRANSACTION.CHANNEL'];
|
62 |
|
63 |
-
//$config['PAYMENT.TYPE'] = (array_key_exists('PAYMENT.TYPE',$config)) ? $config['PAYMENT.TYPE'] : 'DB' ;
|
64 |
|
65 |
/* Set payment methode */
|
66 |
switch ($config['PAYMENT.METHOD']) {
|
@@ -108,29 +124,45 @@ class HeidelpayCD_Edition_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
108 |
$params['PAYMENT.CODE'] = "IV.".$type ;
|
109 |
break;
|
110 |
/* BillSafe */
|
111 |
-
case 'bs'
|
112 |
$type = (!array_key_exists('PAYMENT.TYPE',$config)) ? 'PA' : $config['PAYMENT.TYPE'] ;
|
113 |
$params['PAYMENT.CODE'] = "IV.".$type ;
|
114 |
$params['ACCOUNT.BRAND'] = "BILLSAFE";
|
115 |
$params['FRONTEND.ENABLED'] = "false";
|
116 |
break;
|
117 |
/* BarPay */
|
118 |
-
case 'bp'
|
119 |
$type = (!array_key_exists('PAYMENT.TYPE',$config)) ? 'PA' : $config['PAYMENT.TYPE'] ;
|
120 |
$params['PAYMENT.CODE'] = "PP.".$type ;
|
121 |
$params['ACCOUNT.BRAND'] = "BARPAY";
|
122 |
$params['FRONTEND.ENABLED'] = "false";
|
123 |
break;
|
124 |
/* MangirKart */
|
125 |
-
case 'mk'
|
126 |
$type = (!array_key_exists('PAYMENT.TYPE',$config)) ? 'PA' : $config['PAYMENT.TYPE'] ;
|
127 |
$params['PAYMENT.CODE'] = "PC.".$type ;
|
128 |
$params['ACCOUNT.BRAND'] = "MANGIRKART";
|
129 |
$params['FRONTEND.ENABLED'] = "false";
|
130 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
/* default */
|
132 |
default:
|
133 |
-
$
|
|
|
134 |
break;
|
135 |
}
|
136 |
|
@@ -179,7 +211,7 @@ class HeidelpayCD_Edition_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
179 |
|
180 |
|
181 |
public function mapStatus ($data ,$order, $message=false) {
|
182 |
-
|
183 |
$PaymentCode = $this->splitPaymentCode($data['PAYMENT_CODE']);
|
184 |
$totalypaid = false ;
|
185 |
$invoiceMailComment = '';
|
@@ -236,11 +268,15 @@ class HeidelpayCD_Edition_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
236 |
$message );
|
237 |
}
|
238 |
|
239 |
-
$
|
|
|
|
|
|
|
|
|
240 |
|
241 |
$this->log($path.' Auto invoiced :'.Mage::getStoreConfig($path."invioce", $data['CRITERION_STOREID']).$data['CRITERION_STOREID']);
|
242 |
|
243 |
-
if ($order->canInvoice() and Mage::getStoreConfig($path."invioce", $data['CRITERION_STOREID']) == 1 and $totalypaid === true ) {
|
244 |
$this->log('Can Invoice ? '.($order->canInvoice()) ? 'YES': 'NO');
|
245 |
$invoice = $order->prepareInvoice();
|
246 |
$invoice->register()->capture();
|
@@ -253,7 +289,13 @@ class HeidelpayCD_Edition_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
253 |
false
|
254 |
);
|
255 |
$invoice->save();
|
256 |
-
if ($this->_invoiceOrderEmail)
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
|
258 |
|
259 |
|
@@ -289,6 +331,7 @@ class HeidelpayCD_Edition_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
289 |
);
|
290 |
}
|
291 |
}
|
|
|
292 |
$order->save();
|
293 |
|
294 |
}
|
@@ -317,8 +360,7 @@ class HeidelpayCD_Edition_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
317 |
*/
|
318 |
public function handleError($errorMsg, $errorCode=null, $ordernr=null) {
|
319 |
// default is return generic error message
|
320 |
-
|
321 |
-
$this->log('Ordernumber '.$ordernr.' -> '.$errorMsg.' ['.$errorCode.']','NOTICE');
|
322 |
|
323 |
if ($errorCode) {
|
324 |
if (!preg_match('/HPError-[0-9]{3}\.[0-9]{3}\.[0-9]{3}/', $this->_getHelper()->__('HPError-'.$errorCode), $matches)) //JUST return when snipet exists
|
@@ -374,5 +416,88 @@ class HeidelpayCD_Edition_Helper_Payment extends Mage_Core_Helper_Abstract
|
|
374 |
Mage::log($message, $lev, $file);
|
375 |
return true;
|
376 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
377 |
}
|
378 |
?>
|
4 |
class HeidelpayCD_Edition_Helper_Payment extends Mage_Core_Helper_Abstract
|
5 |
{
|
6 |
protected $_invoiceOrderEmail = true ;
|
7 |
+
protected $_debug = false ;
|
8 |
|
9 |
protected function _getHelper()
|
10 |
{
|
21 |
$client = new Zend_Http_Client(trim($url), array(
|
22 |
|
23 |
));
|
24 |
+
|
25 |
+
if (array_key_exists('raw', $params)) {
|
26 |
+
$client->setRawData(json_encode($params['raw']), 'application/json');
|
27 |
+
} else {
|
28 |
$client->setParameterPost($params);
|
29 |
+
}
|
30 |
if (extension_loaded('curl')) {
|
31 |
$adapter = new Zend_Http_Client_Adapter_Curl();
|
32 |
$adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, true);
|
33 |
$adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, 2);
|
34 |
$client->setAdapter($adapter);
|
35 |
}
|
36 |
+
$response = $client->request('POST');
|
37 |
+
$res = $response->getBody();
|
38 |
+
|
39 |
+
|
40 |
+
if ($response->isError()) {
|
41 |
+
|
42 |
+
$this->log("Request fail. Http code : ".$response->getStatus().' Message : '.$res,'ERROR');
|
43 |
+
$this->log("Request data : ".print_r($params,1),'ERROR');
|
44 |
+
if (array_key_exists('raw', $params)) return $response;
|
45 |
+
}
|
46 |
+
|
47 |
+
if (array_key_exists('raw', $params)) return json_decode($res,true);
|
48 |
|
49 |
$result = null;
|
50 |
parse_str($res, $result);
|
51 |
+
|
52 |
return $result;
|
53 |
}
|
54 |
|
77 |
}
|
78 |
$params['TRANSACTION.CHANNEL'] = $config['TRANSACTION.CHANNEL'];
|
79 |
|
|
|
80 |
|
81 |
/* Set payment methode */
|
82 |
switch ($config['PAYMENT.METHOD']) {
|
124 |
$params['PAYMENT.CODE'] = "IV.".$type ;
|
125 |
break;
|
126 |
/* BillSafe */
|
127 |
+
case 'bs' :
|
128 |
$type = (!array_key_exists('PAYMENT.TYPE',$config)) ? 'PA' : $config['PAYMENT.TYPE'] ;
|
129 |
$params['PAYMENT.CODE'] = "IV.".$type ;
|
130 |
$params['ACCOUNT.BRAND'] = "BILLSAFE";
|
131 |
$params['FRONTEND.ENABLED'] = "false";
|
132 |
break;
|
133 |
/* BarPay */
|
134 |
+
case 'bp' :
|
135 |
$type = (!array_key_exists('PAYMENT.TYPE',$config)) ? 'PA' : $config['PAYMENT.TYPE'] ;
|
136 |
$params['PAYMENT.CODE'] = "PP.".$type ;
|
137 |
$params['ACCOUNT.BRAND'] = "BARPAY";
|
138 |
$params['FRONTEND.ENABLED'] = "false";
|
139 |
break;
|
140 |
/* MangirKart */
|
141 |
+
case 'mk' :
|
142 |
$type = (!array_key_exists('PAYMENT.TYPE',$config)) ? 'PA' : $config['PAYMENT.TYPE'] ;
|
143 |
$params['PAYMENT.CODE'] = "PC.".$type ;
|
144 |
$params['ACCOUNT.BRAND'] = "MANGIRKART";
|
145 |
$params['FRONTEND.ENABLED'] = "false";
|
146 |
break;
|
147 |
+
/* MasterPass */
|
148 |
+
case 'mpa' :
|
149 |
+
$type = (!array_key_exists('PAYMENT.TYPE',$config)) ? 'DB' : $config['PAYMENT.TYPE'] ;
|
150 |
+
|
151 |
+
// masterpass as a payment methode
|
152 |
+
if (!array_key_exists('IDENTIFICATION.REFERENCEID',$userData) and( $type == 'DB' or $type == 'PA')) {
|
153 |
+
$params['WALLET.DIRECT_PAYMENT'] = "true";
|
154 |
+
$params['WALLET.DIRECT_PAYMENT_CODE'] = "WT.".$type ;
|
155 |
+
$type = 'IN';
|
156 |
+
|
157 |
+
}
|
158 |
+
|
159 |
+
$params['PAYMENT.CODE'] = "WT.".$type ;
|
160 |
+
$params['ACCOUNT.BRAND'] = "MASTERPASS";
|
161 |
+
break;
|
162 |
/* default */
|
163 |
default:
|
164 |
+
$type = (!array_key_exists('PAYMENT.TYPE',$config)) ? 'PA' : $config['PAYMENT.TYPE'];
|
165 |
+
$params['PAYMENT.CODE'] = strtoupper($config['PAYMENT.METHOD']).'.'.$type;
|
166 |
break;
|
167 |
}
|
168 |
|
211 |
|
212 |
|
213 |
public function mapStatus ($data ,$order, $message=false) {
|
214 |
+
$this->log('mapStatus'.print_r($data,1));
|
215 |
$PaymentCode = $this->splitPaymentCode($data['PAYMENT_CODE']);
|
216 |
$totalypaid = false ;
|
217 |
$invoiceMailComment = '';
|
268 |
$message );
|
269 |
}
|
270 |
|
271 |
+
$this->log('$totalypaid '.$totalypaid);
|
272 |
+
|
273 |
+
$code = $order->getPayment()->getMethodInstance()->getCode();
|
274 |
+
|
275 |
+
$path = "payment/".$code."/";
|
276 |
|
277 |
$this->log($path.' Auto invoiced :'.Mage::getStoreConfig($path."invioce", $data['CRITERION_STOREID']).$data['CRITERION_STOREID']);
|
278 |
|
279 |
+
if ($order->canInvoice() and (Mage::getStoreConfig($path."invioce", $data['CRITERION_STOREID']) == 1 or $code == 'hcdbs') and $totalypaid === true ) {
|
280 |
$this->log('Can Invoice ? '.($order->canInvoice()) ? 'YES': 'NO');
|
281 |
$invoice = $order->prepareInvoice();
|
282 |
$invoice->register()->capture();
|
289 |
false
|
290 |
);
|
291 |
$invoice->save();
|
292 |
+
if ($this->_invoiceOrderEmail) {
|
293 |
+
if ($code != 'hcdpp' and $code != 'hcdiv') {
|
294 |
+
$info = $order->getPayment()->getMethodInstance()->showPaymentInfo($data);
|
295 |
+
$invoiceMailComment = ($info === false) ? '' : '<h3>'.$this->__('Payment Information').'</h3>'.$info.'<br/>';
|
296 |
+
}
|
297 |
+
$invoice->sendEmail(true, $invoiceMailComment); // Rechnung versenden
|
298 |
+
}
|
299 |
|
300 |
|
301 |
|
331 |
);
|
332 |
}
|
333 |
}
|
334 |
+
Mage::dispatchEvent('heidelpay_after_map_status', array('order' => $order));
|
335 |
$order->save();
|
336 |
|
337 |
}
|
360 |
*/
|
361 |
public function handleError($errorMsg, $errorCode=null, $ordernr=null) {
|
362 |
// default is return generic error message
|
363 |
+
if ( $ordernr != null) $this->log('Ordernumber '.$ordernr.' -> '.$errorMsg.' ['.$errorCode.']','NOTICE');
|
|
|
364 |
|
365 |
if ($errorCode) {
|
366 |
if (!preg_match('/HPError-[0-9]{3}\.[0-9]{3}\.[0-9]{3}/', $this->_getHelper()->__('HPError-'.$errorCode), $matches)) //JUST return when snipet exists
|
416 |
Mage::log($message, $lev, $file);
|
417 |
return true;
|
418 |
}
|
419 |
+
|
420 |
+
public function basketItems ($quote, $storeId) {
|
421 |
+
|
422 |
+
|
423 |
+
$ShoppingCartItems = $quote->getAllVisibleItems();
|
424 |
+
|
425 |
+
$ShoppingCart = array();
|
426 |
+
|
427 |
+
|
428 |
+
$ShoppingCart = array(
|
429 |
+
|
430 |
+
'authentication' => array(
|
431 |
+
|
432 |
+
'login' => trim(Mage::getStoreConfig('hcd/settings/user_id', $storeId)),
|
433 |
+
'sender' => trim(Mage::getStoreConfig('hcd/settings/security_sender', $storeId)),
|
434 |
+
'password' => trim(Mage::getStoreConfig('hcd/settings/user_pwd', $storeId)),
|
435 |
+
|
436 |
+
),
|
437 |
+
|
438 |
+
|
439 |
+
'basket' => array (
|
440 |
+
'amountTotalNet' => floor(bcmul($quote->getGrandTotal(),100,10)),
|
441 |
+
'currencyCode' => $quote->getGlobalCurrencyCode(),
|
442 |
+
'amountTotalDiscount' => floor(bcmul($quote->getDiscountAmount(),100,10)),
|
443 |
+
'itemCount' => count($ShoppingCartItems)
|
444 |
+
)
|
445 |
+
|
446 |
+
|
447 |
+
|
448 |
+
);
|
449 |
+
|
450 |
+
$count=1;
|
451 |
+
|
452 |
+
foreach ($ShoppingCartItems as $item) {
|
453 |
+
|
454 |
+
if($this->_debug === true) echo 'Item: '.$count.'<br/><pre>'.print_r($item,1).'</pre>';
|
455 |
+
|
456 |
+
$ShoppingCart['basket']['basketItems'][] = array(
|
457 |
+
'position' => $count,
|
458 |
+
'basketItemReferenceId' => $item->getItemId(),
|
459 |
+
'unit' => 'Stk.',
|
460 |
+
'quantity' => ($item->getQtyOrdered() !== false ) ? floor($item->getQtyOrdered()) : $item->getQty() ,
|
461 |
+
'vat' => floor($item->getTaxPercent()),
|
462 |
+
'amountVat' => floor(bcmul($item->getTaxAmount(),100,10)),
|
463 |
+
'amountGross' => floor(bcmul($item->getRowTotalInclTax(),100,10)),
|
464 |
+
'amountNet' => floor(bcmul($item->getRowTotal(),100,10)),
|
465 |
+
'amountPerUnit' => floor(bcmul($item->getPrice(),100,10)),
|
466 |
+
'amountDiscount' => floor(bcmul($item->getDiscountAmount(),100,10)),
|
467 |
+
'type' => 'goods',
|
468 |
+
'title' => $item->getName(),
|
469 |
+
'imageUrl' => (string)Mage::helper('catalog/image')->init($item->getProduct(), 'thumbnail')
|
470 |
+
|
471 |
+
);
|
472 |
+
$count++;
|
473 |
+
}
|
474 |
+
|
475 |
+
if($this->_debug === true) {
|
476 |
+
echo '<pre>'.print_r($ShoppingCart,1).'</pre>';
|
477 |
+
exit();
|
478 |
+
}
|
479 |
+
return $ShoppingCart;
|
480 |
+
|
481 |
+
}
|
482 |
+
|
483 |
+
public function getRegion($countryCode, $stateByName) {
|
484 |
+
//$regionData = Mage::getModel ( 'directory/region_api' )->items ( $countryCode );
|
485 |
+
$regionData = Mage::getModel('directory/region')->getResourceCollection()
|
486 |
+
->addCountryFilter($countryCode)
|
487 |
+
->load();
|
488 |
+
|
489 |
+
//$this->log(print_r($regionData,1));
|
490 |
+
|
491 |
+
$regionId = null;
|
492 |
+
|
493 |
+
foreach ( $regionData as $region ) {
|
494 |
+
if (strtolower($stateByName) == strtolower($region ['name']) or $stateByName == $region ['code']) {
|
495 |
+
return $region['region_id'];
|
496 |
+
}
|
497 |
+
}
|
498 |
+
// Return last region if mapping fails
|
499 |
+
return $region['region_id'] ;
|
500 |
+
}
|
501 |
+
|
502 |
}
|
503 |
?>
|
app/code/community/HeidelpayCD/Edition/Model/Observer.php
ADDED
@@ -0,0 +1,130 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* To change this template, choose Tools | Templates and open the template in the editor.
|
5 |
+
*/
|
6 |
+
class HeidelpayCD_Edition_Model_Observer {
|
7 |
+
|
8 |
+
var $_invoiceOrderEmail = true;
|
9 |
+
|
10 |
+
public function removeWalletDataFromCheckout($observer) {
|
11 |
+
// unset wallet data from session
|
12 |
+
if($session = Mage::getSingleton('checkout/session')) $session->unsHcdWallet();
|
13 |
+
//Mage::log('remove masterpass');
|
14 |
+
}
|
15 |
+
|
16 |
+
public function handleWalletDataDuringCheckout($observer) {
|
17 |
+
|
18 |
+
$controller = $observer->getControllerAction();
|
19 |
+
|
20 |
+
$ControllerName = $controller->getRequest()->getControllerName();
|
21 |
+
|
22 |
+
$ActionName = $controller->getRequest()->getActionName();
|
23 |
+
|
24 |
+
if (($ControllerName == "cart" and $ActionName == "index") or ($ControllerName == "onepage" and $ActionName == "index")) {
|
25 |
+
|
26 |
+
/**
|
27 |
+
* remove wallet infomation from session (currently only masterpass)
|
28 |
+
*/
|
29 |
+
if($session = Mage::getSingleton('checkout/session')) $session->unsHcdWallet();
|
30 |
+
}
|
31 |
+
|
32 |
+
}
|
33 |
+
|
34 |
+
public function reportShippingToHeidelpay($observer) {
|
35 |
+
$shipment = $observer->getEvent()->getShipment();
|
36 |
+
$orderIncrementId = Mage::app()->getRequest()->getParam('order_id');
|
37 |
+
Mage::log('$orderIncrementId '.$orderIncrementId);
|
38 |
+
$order = Mage::getModel('sales/order');
|
39 |
+
$order->loadByAttribute('entity_id', (int)$orderIncrementId);
|
40 |
+
|
41 |
+
$this->log('save shipping');
|
42 |
+
|
43 |
+
$payment = $order->getPayment()->getMethodInstance();
|
44 |
+
|
45 |
+
$paymentCode = $payment->getCode();
|
46 |
+
|
47 |
+
|
48 |
+
$PaymentMethode = array ( 'hcdiv' );
|
49 |
+
|
50 |
+
|
51 |
+
|
52 |
+
if (!in_array($paymentCode, $PaymentMethode)) {
|
53 |
+
return $this;
|
54 |
+
} else {
|
55 |
+
|
56 |
+
$path = "payment/".$paymentCode."/";
|
57 |
+
if (Mage::getStoreConfig($path."capture_on_delivery",$order->getStoreId())) {
|
58 |
+
// if invoice on delivery is on try to invoice this order
|
59 |
+
$criterion = array();
|
60 |
+
$Autorisation = Mage::getModel('hcd/transaction')->getOneTransactionByMethode($order->getRealOrderId() , 'PA');
|
61 |
+
|
62 |
+
if( $Autorisation === false ) return $this;
|
63 |
+
|
64 |
+
|
65 |
+
$config = $payment->getMainConfig($paymentCode, $order->getStoreId());
|
66 |
+
$config['PAYMENT.TYPE'] = 'FI';
|
67 |
+
|
68 |
+
|
69 |
+
$frontend = $payment->getFrontend($order->getRealOrderId(), $Autorisation['CRITERION_STOREID']);
|
70 |
+
$frontend['FRONTEND.MODE'] = 'DEFAULT';
|
71 |
+
$frontend['FRONTEND.ENABLED'] = 'false';
|
72 |
+
|
73 |
+
$user = $payment->getUser($order, true);
|
74 |
+
|
75 |
+
$basketData = $payment->getBasketData($order);
|
76 |
+
|
77 |
+
$basketData['IDENTIFICATION.REFERENCEID'] = $Autorisation['IDENTIFICATION_UNIQUEID'];
|
78 |
+
Mage::dispatchEvent('heidelpay_reportShippingToHeidelpay_bevor_preparePostData', array('payment' => $payment, 'config' => $config, 'frontend' => $frontend, 'user' => $user, 'basketData' => $basketData, 'criterion' => $criterion ));
|
79 |
+
$params = Mage::helper('hcd/payment')->preparePostData( $config, $frontend, $user, $basketData,
|
80 |
+
$criterion);
|
81 |
+
|
82 |
+
|
83 |
+
|
84 |
+
$this->log("doRequest url : ".$config['URL']);
|
85 |
+
$this->log("doRequest params : ".print_r($params,1));
|
86 |
+
|
87 |
+
$src = Mage::helper('hcd/payment')->doRequest($config['URL'], $params);
|
88 |
+
|
89 |
+
$this->log("doRequest response : ".print_r($src,1));
|
90 |
+
|
91 |
+
|
92 |
+
|
93 |
+
if($src['PROCESSING_RESULT'] == "NOK") {
|
94 |
+
Mage::getSingleton('core/session')->addError(Mage::helper('hcd')->__('Delivery notes to Heidelpay fail, because of : ').$src['PROCESSING_RETURN']);
|
95 |
+
$shipment->_dataSaveAllowed = false;
|
96 |
+
Mage::app()->getResponse()->setRedirect($_SERVER['HTTP_REFERER']);
|
97 |
+
Mage::app()->getResponse()->sendResponse();
|
98 |
+
exit();
|
99 |
+
} else {
|
100 |
+
|
101 |
+
Mage::getSingleton('core/session')->addSuccess(Mage::helper('hcd')->__('Successfully report delivery to Heidelpay.'));
|
102 |
+
}
|
103 |
+
|
104 |
+
|
105 |
+
|
106 |
+
|
107 |
+
};
|
108 |
+
|
109 |
+
}
|
110 |
+
|
111 |
+
|
112 |
+
/*
|
113 |
+
Mage::getSingleton('core/session')->addError('Versand nicht möglich 123');
|
114 |
+
$shipment->_dataSaveAllowed = false;
|
115 |
+
Mage::app()->getResponse()->setRedirect($_SERVER['HTTP_REFERER']);
|
116 |
+
Mage::app()->getResponse()->sendResponse();
|
117 |
+
exit();
|
118 |
+
*/
|
119 |
+
|
120 |
+
}
|
121 |
+
|
122 |
+
|
123 |
+
private function log($message, $level="DEBUG", $file=false) {
|
124 |
+
$callers=debug_backtrace();
|
125 |
+
return Mage::helper('hcd/payment')->realLog( $callers[1]['function'].' '.$message , $level , $file);
|
126 |
+
}
|
127 |
+
|
128 |
+
}
|
129 |
+
|
130 |
+
?>
|
app/code/community/HeidelpayCD/Edition/Model/Payment/Abstract.php
CHANGED
@@ -11,14 +11,15 @@ class HeidelpayCD_Edition_Model_Payment_Abstract extends Mage_Payment_Model_Meth
|
|
11 |
protected $_order;
|
12 |
protected $_isGateway = true;
|
13 |
protected $_canAuthorize = false;
|
14 |
-
protected $_canCapture =
|
15 |
-
protected $_canCapturePartial =
|
16 |
protected $_canRefund = true;
|
17 |
protected $_canRefundInvoicePartial = true;
|
18 |
protected $_canVoid = false;
|
19 |
protected $_canUseInternal = false;
|
20 |
protected $_canUseCheckout = true;
|
21 |
protected $_canUseForMultishipping = false;
|
|
|
22 |
protected $_isInitializeNeeded = true;
|
23 |
|
24 |
|
@@ -32,9 +33,11 @@ class HeidelpayCD_Edition_Model_Payment_Abstract extends Mage_Payment_Model_Meth
|
|
32 |
return true ;
|
33 |
}
|
34 |
|
|
|
35 |
public function getCode() {
|
36 |
return $this->_code ;
|
37 |
}
|
|
|
38 |
|
39 |
protected $_formBlockType = 'hcd/form_desconly';
|
40 |
|
@@ -151,14 +154,6 @@ class HeidelpayCD_Edition_Model_Payment_Abstract extends Mage_Payment_Model_Meth
|
|
151 |
if (is_numeric($maxamount) && $maxamount > 0 && $maxamount < $amount) return false;
|
152 |
return parent::isAvailable($quote);
|
153 |
}
|
154 |
-
public function canCapture() {
|
155 |
-
$storeId = Mage::app()->getStore()->getId();
|
156 |
-
$path = "payment/".$this->_code."/";
|
157 |
-
if (Mage::getStoreConfig($path."bookingmode", $storeId) != 'PA') {
|
158 |
-
return false;
|
159 |
-
}
|
160 |
-
return parent::canCapture();
|
161 |
-
}
|
162 |
|
163 |
public function getOrderPlaceRedirectUrl()
|
164 |
{
|
@@ -168,9 +163,10 @@ class HeidelpayCD_Edition_Model_Payment_Abstract extends Mage_Payment_Model_Meth
|
|
168 |
|
169 |
|
170 |
|
171 |
-
public function getHeidelpayUrl($isRegistration=false)
|
172 |
{
|
173 |
-
$config = $frontend = $user = $basketData = array();
|
|
|
174 |
|
175 |
if ($isRegistration === false) {
|
176 |
$order = Mage::getModel('sales/order');
|
@@ -198,21 +194,24 @@ class HeidelpayCD_Edition_Model_Payment_Abstract extends Mage_Payment_Model_Meth
|
|
198 |
} else {
|
199 |
|
200 |
};
|
|
|
|
|
|
|
201 |
$params = Mage::helper('hcd/payment')->preparePostData( $config, $frontend, $user, $basketData,
|
202 |
-
$criterion
|
203 |
$this->log("doRequest url : ".$config['URL'], 'DEBUG');
|
204 |
$this->log("doRequest params : ".print_r($params,1), 'DEBUG');
|
205 |
$src = Mage::helper('hcd/payment')->doRequest($config['URL'], $params);
|
206 |
$this->log("doRequest response : ".print_r($src,1), 'DEBUG');
|
207 |
-
|
208 |
return $src;
|
209 |
}
|
210 |
|
211 |
public function getBasketData($order , $completeBasket = false, $amount=false) {
|
212 |
$data = array (
|
213 |
'PRESENTATION.AMOUNT' => ($amount) ? $amount : Mage::helper('hcd/payment')->format($order->getGrandTotal()),
|
214 |
-
|
215 |
-
|
216 |
);
|
217 |
// Add basket details in case of BillSafe or invoicing over heidelpay
|
218 |
$basket = array();
|
@@ -221,9 +220,9 @@ class HeidelpayCD_Edition_Model_Payment_Abstract extends Mage_Payment_Model_Meth
|
|
221 |
}
|
222 |
|
223 |
return array_merge($basket, $data);
|
224 |
-
}
|
|
|
225 |
|
226 |
-
|
227 |
|
228 |
public function getFrontend($ordernr, $storeId=false) {
|
229 |
|
@@ -232,11 +231,12 @@ class HeidelpayCD_Edition_Model_Payment_Abstract extends Mage_Payment_Model_Meth
|
|
232 |
'FRONTEND.RESPONSE_URL' => Mage::getUrl('hcd/index/response', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true)),
|
233 |
'FRONTEND.SUCCESS_URL' => Mage::getUrl('hcd/index/success', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true)),
|
234 |
'FRONTEND.FAILURE_URL' => Mage::getUrl('hcd/index/error', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true)),
|
|
|
235 |
'CRITERION.SECRET' => Mage::getModel('hcd/resource_encryption')->getHash((string)$ordernr),
|
236 |
'CRITERION.LANGUAGE' => strtolower(Mage::helper('hcd/payment')->getLang()),
|
237 |
'CRITERION.STOREID' => ($storeId) ? $storeId : Mage::app()->getStore()->getId(),
|
238 |
'SHOP.TYPE' => 'Magento '. Mage::getVersion(),
|
239 |
-
|
240 |
);
|
241 |
}
|
242 |
|
@@ -245,7 +245,7 @@ class HeidelpayCD_Edition_Model_Payment_Abstract extends Mage_Payment_Model_Meth
|
|
245 |
$user = array();
|
246 |
$billing = $order->getBillingAddress();
|
247 |
$email = ($order->getBillingAddress()->getEmail()) ? $order->getBillingAddress()->getEmail() : $order->getCustomerEmail();
|
248 |
-
|
249 |
$user['CRITERION.GUEST'] = 'false';
|
250 |
if ( $CustomerId == 0) {
|
251 |
$visitorData = Mage::getSingleton('core/session')->getVisitorData();
|
@@ -268,32 +268,36 @@ class HeidelpayCD_Edition_Model_Payment_Abstract extends Mage_Payment_Model_Meth
|
|
268 |
//load reconized data
|
269 |
|
270 |
if ($isReg === false and $order->getPayment()->getMethodInstance()->activRedirct() === true) {
|
271 |
-
|
272 |
-
$paymentData = $this->getCustomerData($this->_code, $billing->getCustomerId());
|
273 |
-
|
274 |
-
$this->log('getUser Customer: '. print_r($paymentData,1), 'DEBUG');
|
275 |
-
|
276 |
-
// remove SHIPPPING_HASH from parameters
|
277 |
-
if (isset($paymentData['payment_data']['SHIPPPING_HASH']))
|
278 |
-
unset($paymentData['payment_data']['SHIPPPING_HASH']);
|
279 |
|
280 |
-
|
281 |
-
|
282 |
-
if (isset($paymentData['payment_data']['ACCOUNT_BRAND']))
|
283 |
-
unset($paymentData['payment_data']['ACCOUNT_BRAND']);
|
284 |
-
if (isset($paymentData['payment_data']['ACCOUNT_NUMBER']))
|
285 |
-
unset($paymentData['payment_data']['ACCOUNT_NUMBER']);
|
286 |
-
if (isset($paymentData['payment_data']['ACCOUNT_HOLDER']))
|
287 |
-
unset($paymentData['payment_data']['ACCOUNT_HOLDER']);
|
288 |
-
if (isset($paymentData['payment_data']['ACCOUNT_EXPIRY_MONTH']))
|
289 |
-
unset($paymentData['payment_data']['ACCOUNT_EXPIRY_MONTH']);
|
290 |
-
if (isset($paymentData['payment_data']['ACCOUNT_EXPIRY_YEAR']))
|
291 |
-
unset($paymentData['payment_data']['ACCOUNT_EXPIRY_YEAR']);
|
292 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
293 |
}
|
294 |
-
foreach($paymentData['payment_data'] AS $k => $v )
|
295 |
-
$user[$k] = $v;
|
296 |
-
}
|
297 |
|
298 |
}
|
299 |
return $user;
|
@@ -420,28 +424,54 @@ class HeidelpayCD_Edition_Model_Payment_Abstract extends Mage_Payment_Model_Meth
|
|
420 |
}
|
421 |
|
422 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
423 |
public function capture(Varien_Object $payment, $amount)
|
424 |
{
|
425 |
-
$
|
|
|
|
|
|
|
|
|
426 |
if ($this->canCapture()) {
|
427 |
-
|
428 |
$Autorisation = Mage::getModel('hcd/transaction')->getOneTransactionByMethode($order->getRealOrderId() , 'PA');
|
429 |
|
430 |
-
$config = $this->getMainConfig($this->_code, $Autorisation['CRITERION_STOREID']);
|
431 |
|
|
|
|
|
|
|
|
|
432 |
|
433 |
-
|
434 |
-
$config['PAYMENT.TYPE']
|
435 |
|
436 |
-
/*
|
437 |
-
if($this->_code == 'hcdbs' or $this->_code == 'hcdiv') {
|
438 |
-
foreach ($Autorisation AS $k => $v){
|
439 |
-
if (strpos( $k , 'CRITERION')) $basketData[$k] = $v ;
|
440 |
-
|
441 |
-
}
|
442 |
-
|
443 |
-
}
|
444 |
-
*/
|
445 |
|
446 |
$frontend = $this->getFrontend($order->getRealOrderId(), $Autorisation['CRITERION_STOREID']);
|
447 |
$frontend['FRONTEND.MODE'] = 'DEFAULT';
|
@@ -452,10 +482,10 @@ class HeidelpayCD_Edition_Model_Payment_Abstract extends Mage_Payment_Model_Meth
|
|
452 |
$basketData = $this->getBasketData($order, $basketdetails , $amount);
|
453 |
|
454 |
$basketData['IDENTIFICATION.REFERENCEID'] = $Autorisation['IDENTIFICATION_UNIQUEID'];
|
455 |
-
|
456 |
$params = Mage::helper('hcd/payment')->preparePostData( $config, $frontend, $user, $basketData,
|
457 |
-
$criterion
|
458 |
-
|
459 |
|
460 |
|
461 |
$this->log("doRequest url : ".$config['URL']);
|
@@ -580,9 +610,9 @@ class HeidelpayCD_Edition_Model_Payment_Abstract extends Mage_Payment_Model_Meth
|
|
580 |
$CustomerId = ($customerId) ? $customerId : $this->getQuote()->getBillingAddress()->getCustomerId() ;
|
581 |
$StoreId = ($storeId) ? $storeId : Mage::app()->getStore()->getId();
|
582 |
if ( $CustomerId == 0) {
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
}
|
587 |
|
588 |
$this->log('StoreID :'.Mage::app()->getStore()->getId());
|
@@ -634,7 +664,7 @@ class HeidelpayCD_Edition_Model_Payment_Abstract extends Mage_Payment_Model_Meth
|
|
634 |
* your function should set $this->getCheckout()->setHcdPaymentInfo($userMessage)
|
635 |
*/
|
636 |
|
637 |
-
return;
|
638 |
}
|
639 |
}
|
640 |
|
11 |
protected $_order;
|
12 |
protected $_isGateway = true;
|
13 |
protected $_canAuthorize = false;
|
14 |
+
protected $_canCapture = false;
|
15 |
+
protected $_canCapturePartial = false;
|
16 |
protected $_canRefund = true;
|
17 |
protected $_canRefundInvoicePartial = true;
|
18 |
protected $_canVoid = false;
|
19 |
protected $_canUseInternal = false;
|
20 |
protected $_canUseCheckout = true;
|
21 |
protected $_canUseForMultishipping = false;
|
22 |
+
var $_canBasketApi = false;
|
23 |
protected $_isInitializeNeeded = true;
|
24 |
|
25 |
|
33 |
return true ;
|
34 |
}
|
35 |
|
36 |
+
/*
|
37 |
public function getCode() {
|
38 |
return $this->_code ;
|
39 |
}
|
40 |
+
*/
|
41 |
|
42 |
protected $_formBlockType = 'hcd/form_desconly';
|
43 |
|
154 |
if (is_numeric($maxamount) && $maxamount > 0 && $maxamount < $amount) return false;
|
155 |
return parent::isAvailable($quote);
|
156 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
|
158 |
public function getOrderPlaceRedirectUrl()
|
159 |
{
|
163 |
|
164 |
|
165 |
|
166 |
+
public function getHeidelpayUrl($isRegistration=false, $BasketId=false, $RefId=false)
|
167 |
{
|
168 |
+
$config = $frontend = $user = $basketData = array();
|
169 |
+
$criterion = array();
|
170 |
|
171 |
if ($isRegistration === false) {
|
172 |
$order = Mage::getModel('sales/order');
|
194 |
} else {
|
195 |
|
196 |
};
|
197 |
+
if ($RefId !== false ) $user['IDENTIFICATION.REFERENCEID'] = $RefId ;
|
198 |
+
if ($BasketId !== false ) $basketData['BASKET.ID'] = $BasketId ;
|
199 |
+
Mage::dispatchEvent('heidelpay_getHeidelpayUrl_bevor_preparePostData', array('order' => $order, 'config' => $config, 'frontend' => $frontend, 'user' => $user, 'basketData' => $basketData, 'criterion' => $criterion ));
|
200 |
$params = Mage::helper('hcd/payment')->preparePostData( $config, $frontend, $user, $basketData,
|
201 |
+
$criterion);
|
202 |
$this->log("doRequest url : ".$config['URL'], 'DEBUG');
|
203 |
$this->log("doRequest params : ".print_r($params,1), 'DEBUG');
|
204 |
$src = Mage::helper('hcd/payment')->doRequest($config['URL'], $params);
|
205 |
$this->log("doRequest response : ".print_r($src,1), 'DEBUG');
|
206 |
+
|
207 |
return $src;
|
208 |
}
|
209 |
|
210 |
public function getBasketData($order , $completeBasket = false, $amount=false) {
|
211 |
$data = array (
|
212 |
'PRESENTATION.AMOUNT' => ($amount) ? $amount : Mage::helper('hcd/payment')->format($order->getGrandTotal()),
|
213 |
+
'PRESENTATION.CURRENCY' => $order->getOrderCurrencyCode(),
|
214 |
+
'IDENTIFICATION.TRANSACTIONID' => $order->getRealOrderId()
|
215 |
);
|
216 |
// Add basket details in case of BillSafe or invoicing over heidelpay
|
217 |
$basket = array();
|
220 |
}
|
221 |
|
222 |
return array_merge($basket, $data);
|
223 |
+
}
|
224 |
+
|
225 |
|
|
|
226 |
|
227 |
public function getFrontend($ordernr, $storeId=false) {
|
228 |
|
231 |
'FRONTEND.RESPONSE_URL' => Mage::getUrl('hcd/index/response', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true)),
|
232 |
'FRONTEND.SUCCESS_URL' => Mage::getUrl('hcd/index/success', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true)),
|
233 |
'FRONTEND.FAILURE_URL' => Mage::getUrl('hcd/index/error', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true)),
|
234 |
+
'CRITERION.PUSH_URL' => Mage::getUrl('hcd/index/push', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true)), // PUSH proxy is only used for development purpose
|
235 |
'CRITERION.SECRET' => Mage::getModel('hcd/resource_encryption')->getHash((string)$ordernr),
|
236 |
'CRITERION.LANGUAGE' => strtolower(Mage::helper('hcd/payment')->getLang()),
|
237 |
'CRITERION.STOREID' => ($storeId) ? $storeId : Mage::app()->getStore()->getId(),
|
238 |
'SHOP.TYPE' => 'Magento '. Mage::getVersion(),
|
239 |
+
'SHOPMODULE.VERSION' => 'HeidelpayCD Edition - '. (string) Mage::getConfig()->getNode()->modules->HeidelpayCD_Edition->version
|
240 |
);
|
241 |
}
|
242 |
|
245 |
$user = array();
|
246 |
$billing = $order->getBillingAddress();
|
247 |
$email = ($order->getBillingAddress()->getEmail()) ? $order->getBillingAddress()->getEmail() : $order->getCustomerEmail();
|
248 |
+
$CustomerId = $billing->getCustomerId();
|
249 |
$user['CRITERION.GUEST'] = 'false';
|
250 |
if ( $CustomerId == 0) {
|
251 |
$visitorData = Mage::getSingleton('core/session')->getVisitorData();
|
268 |
//load reconized data
|
269 |
|
270 |
if ($isReg === false and $order->getPayment()->getMethodInstance()->activRedirct() === true) {
|
271 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
|
273 |
+
if($this->getCustomerData($this->_code, $billing->getCustomerId())) {
|
274 |
+
$paymentData = $this->getCustomerData($this->_code, $billing->getCustomerId());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
275 |
|
276 |
+
$this->log('getUser Customer: '. print_r($paymentData,1), 'DEBUG');
|
277 |
+
|
278 |
+
|
279 |
+
|
280 |
+
// remove SHIPPPING_HASH from parameters
|
281 |
+
if (isset($paymentData['payment_data']['SHIPPPING_HASH']))
|
282 |
+
unset($paymentData['payment_data']['SHIPPPING_HASH']);
|
283 |
+
|
284 |
+
// remove cc or dc reference data
|
285 |
+
if ($this->_code == 'hcdcc' or $this->_code == 'hcddc') {
|
286 |
+
if (isset($paymentData['payment_data']['ACCOUNT_BRAND']))
|
287 |
+
unset($paymentData['payment_data']['ACCOUNT_BRAND']);
|
288 |
+
if (isset($paymentData['payment_data']['ACCOUNT_NUMBER']))
|
289 |
+
unset($paymentData['payment_data']['ACCOUNT_NUMBER']);
|
290 |
+
if (isset($paymentData['payment_data']['ACCOUNT_HOLDER']))
|
291 |
+
unset($paymentData['payment_data']['ACCOUNT_HOLDER']);
|
292 |
+
if (isset($paymentData['payment_data']['ACCOUNT_EXPIRY_MONTH']))
|
293 |
+
unset($paymentData['payment_data']['ACCOUNT_EXPIRY_MONTH']);
|
294 |
+
if (isset($paymentData['payment_data']['ACCOUNT_EXPIRY_YEAR']))
|
295 |
+
unset($paymentData['payment_data']['ACCOUNT_EXPIRY_YEAR']);
|
296 |
+
|
297 |
+
}
|
298 |
+
foreach($paymentData['payment_data'] AS $k => $v )
|
299 |
+
$user[$k] = $v;
|
300 |
}
|
|
|
|
|
|
|
301 |
|
302 |
}
|
303 |
return $user;
|
424 |
}
|
425 |
|
426 |
|
427 |
+
public function canCapture() {
|
428 |
+
|
429 |
+
//check wether this payment method supports capture
|
430 |
+
|
431 |
+
if($this->_canCapture === false ) return false ;
|
432 |
+
|
433 |
+
// prevent frontent to capture an amount in case of direct booking with automatical invoice
|
434 |
+
if (Mage::app()->getStore()->getId() != 0) {
|
435 |
+
$this->log('try to capture amount in frontend ... this is not necessary !');
|
436 |
+
return false;
|
437 |
+
}
|
438 |
+
|
439 |
+
|
440 |
+
// loading order object to check wether this
|
441 |
+
$orderIncrementId = Mage::app()->getRequest()->getParam('order_id');
|
442 |
+
$this->log('$orderIncrementId '.$orderIncrementId);
|
443 |
+
$order = Mage::getModel('sales/order');
|
444 |
+
$order->loadByAttribute('entity_id', (int)$orderIncrementId);
|
445 |
+
|
446 |
+
if (Mage::getModel('hcd/transaction')->getOneTransactionByMethode($order->getRealOrderId() , 'PA') === false) {
|
447 |
+
$this->log('there is no preauthorisation for the order '.$order->getRealOrderId());
|
448 |
+
return false;
|
449 |
+
}
|
450 |
+
|
451 |
+
return true;
|
452 |
+
}
|
453 |
+
|
454 |
+
|
455 |
public function capture(Varien_Object $payment, $amount)
|
456 |
{
|
457 |
+
$criterion=array();
|
458 |
+
|
459 |
+
$order = $payment->getOrder();
|
460 |
+
$this->log('StoreId'.$order->getStoreId());
|
461 |
+
$Autorisation = array();
|
462 |
if ($this->canCapture()) {
|
463 |
+
|
464 |
$Autorisation = Mage::getModel('hcd/transaction')->getOneTransactionByMethode($order->getRealOrderId() , 'PA');
|
465 |
|
|
|
466 |
|
467 |
+
if ($Autorisation === false) {
|
468 |
+
Mage::throwException(Mage::helper('hcd')->__('This Transaction could not be capture online.'));
|
469 |
+
return $this;
|
470 |
+
}
|
471 |
|
472 |
+
$config = $this->getMainConfig($this->_code, $Autorisation['CRITERION_STOREID']);
|
473 |
+
$config['PAYMENT.TYPE'] = 'CP';
|
474 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
475 |
|
476 |
$frontend = $this->getFrontend($order->getRealOrderId(), $Autorisation['CRITERION_STOREID']);
|
477 |
$frontend['FRONTEND.MODE'] = 'DEFAULT';
|
482 |
$basketData = $this->getBasketData($order, $basketdetails , $amount);
|
483 |
|
484 |
$basketData['IDENTIFICATION.REFERENCEID'] = $Autorisation['IDENTIFICATION_UNIQUEID'];
|
485 |
+
Mage::dispatchEvent('heidelpay_capture_bevor_preparePostData', array('payment' => $payment, 'config' => $config, 'frontend' => $frontend, 'user' => $user, 'basketData' => $basketData, 'criterion' => $criterion ));
|
486 |
$params = Mage::helper('hcd/payment')->preparePostData( $config, $frontend, $user, $basketData,
|
487 |
+
$criterion);
|
488 |
+
|
489 |
|
490 |
|
491 |
$this->log("doRequest url : ".$config['URL']);
|
610 |
$CustomerId = ($customerId) ? $customerId : $this->getQuote()->getBillingAddress()->getCustomerId() ;
|
611 |
$StoreId = ($storeId) ? $storeId : Mage::app()->getStore()->getId();
|
612 |
if ( $CustomerId == 0) {
|
613 |
+
$visitorData = Mage::getSingleton('core/session')->getVisitorData();
|
614 |
+
$CustomerId = $visitorData['visitor_id'];
|
615 |
+
$StoreId = 0;
|
616 |
}
|
617 |
|
618 |
$this->log('StoreID :'.Mage::app()->getStore()->getId());
|
664 |
* your function should set $this->getCheckout()->setHcdPaymentInfo($userMessage)
|
665 |
*/
|
666 |
|
667 |
+
return false;
|
668 |
}
|
669 |
}
|
670 |
|
app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdbs.php
CHANGED
@@ -39,9 +39,8 @@ class HeidelpayCD_Edition_Model_Payment_Hcdbs extends HeidelpayCD_Edition_Model_
|
|
39 |
|
40 |
$load_snippet= strtr( $load_snippet , $repl);
|
41 |
|
42 |
-
|
43 |
-
|
44 |
-
return ;
|
45 |
|
46 |
}
|
47 |
}
|
39 |
|
40 |
$load_snippet= strtr( $load_snippet , $repl);
|
41 |
|
42 |
+
|
43 |
+
return $load_snippet;
|
|
|
44 |
|
45 |
}
|
46 |
}
|
app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdcc.php
CHANGED
@@ -7,6 +7,8 @@ class HeidelpayCD_Edition_Model_Payment_Hcdcc extends HeidelpayCD_Edition_Model_
|
|
7 |
* @var string [a-z0-9_]
|
8 |
**/
|
9 |
protected $_code = 'hcdcc';
|
|
|
|
|
10 |
|
11 |
public function isRecognation() {
|
12 |
$path = "payment/".$this->_code."/";
|
7 |
* @var string [a-z0-9_]
|
8 |
**/
|
9 |
protected $_code = 'hcdcc';
|
10 |
+
protected $_canCapture = true;
|
11 |
+
protected $_canCapturePartial = true;
|
12 |
|
13 |
public function isRecognation() {
|
14 |
$path = "payment/".$this->_code."/";
|
app/code/community/HeidelpayCD/Edition/Model/Payment/Hcddc.php
CHANGED
@@ -7,6 +7,8 @@ class HeidelpayCD_Edition_Model_Payment_Hcddc extends HeidelpayCD_Edition_Model_
|
|
7 |
* @var string [a-z0-9_]
|
8 |
**/
|
9 |
protected $_code = 'hcddc';
|
|
|
|
|
10 |
|
11 |
public function isRecognation() {
|
12 |
$path = "payment/".$this->_code."/";
|
7 |
* @var string [a-z0-9_]
|
8 |
**/
|
9 |
protected $_code = 'hcddc';
|
10 |
+
protected $_canCapture = true;
|
11 |
+
protected $_canCapturePartial = true;
|
12 |
|
13 |
public function isRecognation() {
|
14 |
$path = "payment/".$this->_code."/";
|
app/code/community/HeidelpayCD/Edition/Model/Payment/Hcddd.php
CHANGED
@@ -2,6 +2,8 @@
|
|
2 |
class HeidelpayCD_Edition_Model_Payment_Hcddd extends HeidelpayCD_Edition_Model_Payment_Abstract
|
3 |
{
|
4 |
protected $_code = 'hcddd';
|
|
|
|
|
5 |
// protected $_infoBlockType = 'hcd/info_debit';
|
6 |
protected $_formBlockType = 'hcd/form_debit';
|
7 |
|
@@ -63,9 +65,8 @@ class HeidelpayCD_Edition_Model_Payment_Hcddd extends HeidelpayCD_Edition_Model_
|
|
63 |
|
64 |
$load_snippet= strtr( $load_snippet , $repl);
|
65 |
|
66 |
-
$this->getCheckout()->setHcdPaymentInfo($load_snippet);
|
67 |
|
68 |
-
return;
|
69 |
|
70 |
}
|
71 |
|
2 |
class HeidelpayCD_Edition_Model_Payment_Hcddd extends HeidelpayCD_Edition_Model_Payment_Abstract
|
3 |
{
|
4 |
protected $_code = 'hcddd';
|
5 |
+
protected $_canCapture = true;
|
6 |
+
protected $_canCapturePartial = true;
|
7 |
// protected $_infoBlockType = 'hcd/info_debit';
|
8 |
protected $_formBlockType = 'hcd/form_debit';
|
9 |
|
65 |
|
66 |
$load_snippet= strtr( $load_snippet , $repl);
|
67 |
|
|
|
68 |
|
69 |
+
return $load_snippet;
|
70 |
|
71 |
}
|
72 |
|
app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdiv.php
CHANGED
@@ -3,5 +3,7 @@ class HeidelpayCD_Edition_Model_Payment_Hcdiv extends HeidelpayCD_Edition_Model_
|
|
3 |
{
|
4 |
protected $_code = 'hcdiv';
|
5 |
|
|
|
|
|
6 |
}
|
7 |
|
3 |
{
|
4 |
protected $_code = 'hcdiv';
|
5 |
|
6 |
+
|
7 |
+
|
8 |
}
|
9 |
|
app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdmpa.php
ADDED
@@ -0,0 +1,108 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class HeidelpayCD_Edition_Model_Payment_Hcdmpa extends HeidelpayCD_Edition_Model_Payment_Abstract
|
3 |
+
{
|
4 |
+
/**
|
5 |
+
* unique internal payment method identifier
|
6 |
+
*
|
7 |
+
* @var string [a-z0-9_]
|
8 |
+
**/
|
9 |
+
protected $_code = 'hcdmpa';
|
10 |
+
protected $_canCapture = true;
|
11 |
+
protected $_canCapturePartial = true;
|
12 |
+
protected $_canRefund = true;
|
13 |
+
protected $_canRefundInvoicePartial = true;
|
14 |
+
var $_canBasketApi = true;
|
15 |
+
|
16 |
+
protected $_formBlockType = 'hcd/form_masterpass';
|
17 |
+
protected $_infoBlockType = 'hcd/info_masterpass';
|
18 |
+
|
19 |
+
|
20 |
+
public function isAvailable($quote=null) {
|
21 |
+
return true;
|
22 |
+
}
|
23 |
+
|
24 |
+
function getPaymentData($code=false, $customerId=false, $storeId=false ) {
|
25 |
+
$session = Mage::getSingleton('checkout/session');
|
26 |
+
|
27 |
+
if ($session->getHcdWallet() !== false) {
|
28 |
+
|
29 |
+
$hpdata = $session->getHcdWallet();
|
30 |
+
|
31 |
+
if ($hpdata['code'] != $this->_code) return '';
|
32 |
+
|
33 |
+
$html = (array_key_exists('mail', $hpdata)) ? $hpdata['mail'].'<br />' : '' ;
|
34 |
+
$html .= (array_key_exists('brand', $hpdata)) ? $this->_getHelper()->__($hpdata['brand']).' ' : '' ;
|
35 |
+
$html .= (array_key_exists('number', $hpdata)) ? $hpdata['number'].'<br/>' : '' ;
|
36 |
+
$html .= (array_key_exists('expiryMonth', $hpdata)) ? $this->_getHelper()->__('Expires').' '.$hpdata['expiryMonth'].'/' : '' ;
|
37 |
+
$html .= (array_key_exists('expiryYear', $hpdata)) ? $hpdata['expiryYear'] : '' ;
|
38 |
+
|
39 |
+
return $html;
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
/*
|
44 |
+
* MasterPass need shipping adress instead of billing (REV20150707 FullCheckout Adressen)
|
45 |
+
*/
|
46 |
+
public function getUser($order, $isReg=false) {
|
47 |
+
|
48 |
+
$user = array();
|
49 |
+
|
50 |
+
$user = parent::getUser($order, $isReg);
|
51 |
+
$adress = ($order->getShippingAddress() == false) ? $order->getBillingAddress() : $order->getShippingAddress() ;
|
52 |
+
$email = ($adress->getEmail()) ? $adress->getEmail() : $order->getCustomerEmail();
|
53 |
+
|
54 |
+
|
55 |
+
$user['IDENTIFICATION.SHOPPERID'] = $adress->getCustomerId();
|
56 |
+
if ($adress->getCompany() == true) $user['NAME.COMPANY'] = trim($adress->getCompany());
|
57 |
+
$user['NAME.GIVEN'] = trim($adress->getFirstname());
|
58 |
+
$user['NAME.FAMILY'] = trim($adress->getLastname());
|
59 |
+
$user['ADDRESS.STREET'] = $adress->getStreet1()." ".$adress->getStreet2();
|
60 |
+
$user['ADDRESS.ZIP'] = $adress->getPostcode();
|
61 |
+
$user['ADDRESS.CITY'] = $adress->getCity();
|
62 |
+
$user['ADDRESS.COUNTRY'] = $adress->getCountry();
|
63 |
+
$user['CONTACT.EMAIL'] = $email;
|
64 |
+
|
65 |
+
return $user;
|
66 |
+
}
|
67 |
+
|
68 |
+
public function showPaymentInfo($payment_data) {
|
69 |
+
|
70 |
+
$lang = Mage::app()->getLocale()->getLocaleCode();
|
71 |
+
switch ($lang) {
|
72 |
+
case 'de_DE':
|
73 |
+
case 'de_AT':
|
74 |
+
case 'de_CH':
|
75 |
+
$url_lang = 'de/DE';
|
76 |
+
break;
|
77 |
+
case 'fr_FR':
|
78 |
+
$url_lang = 'fr/FR';
|
79 |
+
break;
|
80 |
+
case 'en_GB':
|
81 |
+
case 'en_US':
|
82 |
+
default:
|
83 |
+
$url_lang = 'en/US';
|
84 |
+
break;
|
85 |
+
}
|
86 |
+
|
87 |
+
$html = '<center><button type="button" title="MasterPass"
|
88 |
+
class="btn-hcdmpa-payment-data" style="position: static"
|
89 |
+
onclick="window.open(\'https://www.mastercard.com/mc_us/wallet/learnmore/'.$url_lang.'\')">
|
90 |
+
</button>
|
91 |
+
<div sytle="margin-top: 10px !important;">';
|
92 |
+
|
93 |
+
$html .= (array_key_exists('CONTACT_EMAIL', $payment_data)) ? $payment_data['CONTACT_EMAIL'].'<br />' : '' ;
|
94 |
+
$html .= (array_key_exists('ACCOUNT_BRAND', $payment_data)) ? $this->_getHelper()->__($payment_data['ACCOUNT_BRAND']).' ' : '' ;
|
95 |
+
$html .= (array_key_exists('ACCOUNT_NUMBER', $payment_data)) ? $payment_data['ACCOUNT_NUMBER'].'<br/>' : '' ;
|
96 |
+
$html .= (array_key_exists('ACCOUNT_EXPIRY_MONTH', $payment_data)) ? $this->_getHelper()->__('Expires').' '.$payment_data['ACCOUNT_EXPIRY_MONTH'].'/' : '' ;
|
97 |
+
$html .= (array_key_exists('ACCOUNT_EXPIRY_YEAR', $payment_data)) ? $payment_data['ACCOUNT_EXPIRY_YEAR'] : '' ;
|
98 |
+
|
99 |
+
$html .= '</div></center>';
|
100 |
+
|
101 |
+
$this->getCheckout()->setHcdPaymentInfo($html);
|
102 |
+
|
103 |
+
return ;
|
104 |
+
|
105 |
+
}
|
106 |
+
|
107 |
+
}
|
108 |
+
|
app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdpal.php
CHANGED
@@ -7,6 +7,8 @@ class HeidelpayCD_Edition_Model_Payment_Hcdpal extends HeidelpayCD_Edition_Model
|
|
7 |
* @var string [a-z0-9_]
|
8 |
**/
|
9 |
protected $_code = 'hcdpal';
|
|
|
|
|
10 |
|
11 |
|
12 |
/*
|
7 |
* @var string [a-z0-9_]
|
8 |
**/
|
9 |
protected $_code = 'hcdpal';
|
10 |
+
protected $_canCapture = true;
|
11 |
+
protected $_canCapturePartial = true;
|
12 |
|
13 |
|
14 |
/*
|
app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdpp.php
CHANGED
@@ -19,9 +19,8 @@ class HeidelpayCD_Edition_Model_Payment_Hcdpp extends HeidelpayCD_Edition_Model_
|
|
19 |
|
20 |
$load_snippet= strtr( $load_snippet , $repl);
|
21 |
|
22 |
-
$
|
23 |
|
24 |
-
return ;
|
25 |
|
26 |
}
|
27 |
|
19 |
|
20 |
$load_snippet= strtr( $load_snippet , $repl);
|
21 |
|
22 |
+
return $load_snippet;
|
23 |
|
|
|
24 |
|
25 |
}
|
26 |
|
app/code/community/HeidelpayCD/Edition/Model/Transaction.php
CHANGED
@@ -78,13 +78,17 @@ class HeidelpayCD_Edition_Model_Transaction extends Mage_Core_Model_Abstract
|
|
78 |
|
79 |
|
80 |
$data = $trans->getData();
|
81 |
-
|
82 |
-
|
|
|
|
|
|
|
|
|
83 |
}
|
84 |
|
85 |
public function getOneTransactionByMethode($transid , $methode) {
|
86 |
|
87 |
-
$data =
|
88 |
$trans = $this->getCollection();
|
89 |
$trans->addFieldToFilter('transactionid',$transid)
|
90 |
->addFieldToFilter('Payment_Type', $methode );;
|
@@ -94,7 +98,13 @@ class HeidelpayCD_Edition_Model_Transaction extends Mage_Core_Model_Abstract
|
|
94 |
|
95 |
|
96 |
$data = $trans->getData();
|
97 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
|
99 |
}
|
100 |
|
78 |
|
79 |
|
80 |
$data = $trans->getData();
|
81 |
+
if (isset($data[0])){
|
82 |
+
return json_decode(Mage::getModel('hcd/resource_encryption')->decrypt($data[0]['jsonresponse']),true);
|
83 |
+
} else {
|
84 |
+
|
85 |
+
return false;
|
86 |
+
}
|
87 |
}
|
88 |
|
89 |
public function getOneTransactionByMethode($transid , $methode) {
|
90 |
|
91 |
+
$data = false;
|
92 |
$trans = $this->getCollection();
|
93 |
$trans->addFieldToFilter('transactionid',$transid)
|
94 |
->addFieldToFilter('Payment_Type', $methode );;
|
98 |
|
99 |
|
100 |
$data = $trans->getData();
|
101 |
+
|
102 |
+
if (isset($data[0])){
|
103 |
+
return json_decode(Mage::getModel('hcd/resource_encryption')->decrypt($data[0]['jsonresponse']),true);
|
104 |
+
} else {
|
105 |
+
|
106 |
+
return false;
|
107 |
+
}
|
108 |
|
109 |
}
|
110 |
|
app/code/community/HeidelpayCD/Edition/controllers/CheckoutController.php
ADDED
@@ -0,0 +1,268 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* Wallet Express Checkout
|
5 |
+
*/
|
6 |
+
|
7 |
+
$module_path = Mage::getModuleDir('', 'Mage_Checkout');
|
8 |
+
require_once ($module_path."/controllers/OnepageController.php");
|
9 |
+
|
10 |
+
class HeidelpayCD_Edition_CheckoutController extends Mage_Checkout_OnepageController {
|
11 |
+
|
12 |
+
public function indexAction() {
|
13 |
+
|
14 |
+
$session = Mage::getSingleton('checkout/session');
|
15 |
+
$checkout = $this->getOnepage();
|
16 |
+
$quote = $session->getQuote();
|
17 |
+
|
18 |
+
if (!$quote->hasItems() || $quote->getHasError()) {
|
19 |
+
$this->_redirect('checkout/cart');
|
20 |
+
return;
|
21 |
+
}
|
22 |
+
|
23 |
+
|
24 |
+
$data = false;
|
25 |
+
$this->loadLayout();
|
26 |
+
$this->getLayout()->getBlock('head')->setTitle($this->__('MasterPass Checkout'));
|
27 |
+
|
28 |
+
$session->setCurrency($quote->getGlobalCurrencyCode());
|
29 |
+
$session->setTotalamount($quote->getGrandTotal());
|
30 |
+
|
31 |
+
$data = Mage::getModel('hcd/transaction')->loadLastTransactionDataByTransactionnr(Mage::getSingleton('checkout/session')->getQuoteId());
|
32 |
+
|
33 |
+
Mage::getSingleton('checkout/session')->setCartWasUpdated(false);
|
34 |
+
Mage::getSingleton('customer/session')->setBeforeAuthUrl(Mage::getUrl('*/*/*', array('_secure' => true)));
|
35 |
+
$this->getOnepage()->initCheckout();
|
36 |
+
|
37 |
+
|
38 |
+
$this->log('Data from wallet '.print_r($data,1));
|
39 |
+
|
40 |
+
|
41 |
+
|
42 |
+
$this->getOnepage()->saveCheckoutMethod(Mage_Checkout_Model_Type_Onepage::METHOD_GUEST);
|
43 |
+
|
44 |
+
$this->getOnepage()->getCheckout()->setStepData('login', 'complete', true);
|
45 |
+
|
46 |
+
$region = Mage::helper('hcd/payment')->getRegion($data['ADDRESS_COUNTRY'],$data['ADDRESS_STATE']);
|
47 |
+
|
48 |
+
$billingAddress = Array(
|
49 |
+
"address_id" => '',
|
50 |
+
"firstname" => trim($data['NAME_GIVEN']),
|
51 |
+
"lastname" => trim($data['NAME_FAMILY']),
|
52 |
+
"company" => '',
|
53 |
+
"email" => trim($data['CONTACT_EMAIL']),
|
54 |
+
"street" => array(
|
55 |
+
"0" => $data['ADDRESS_STREET'],
|
56 |
+
"1" => '',
|
57 |
+
),
|
58 |
+
"region_id" =>(string) $region,
|
59 |
+
"region" => $data['ADDRESS_STATE'],
|
60 |
+
"city" => $data['ADDRESS_CITY'],
|
61 |
+
"postcode" => $data['ADDRESS_ZIP'],
|
62 |
+
"country_id" => $data['ADDRESS_COUNTRY'],
|
63 |
+
"telephone" => preg_replace('/[A-z]-/', '',$data['CONTACT_PHONE']),
|
64 |
+
"customer_password" =>"",
|
65 |
+
"confirm_password" =>"",
|
66 |
+
"save_in_address_book" => 1
|
67 |
+
);
|
68 |
+
|
69 |
+
$this->log('adress'.print_r($billingAddress,1));
|
70 |
+
|
71 |
+
$hpdata = array(
|
72 |
+
'code' => 'hcdmpa',
|
73 |
+
'brand' => (array_key_exists('ACCOUNT_BRAND', $data)) ? $data['ACCOUNT_BRAND'] : false ,
|
74 |
+
'mail' => (array_key_exists('CONTACT_EMAIL', $data)) ? $data['CONTACT_EMAIL'] : false ,
|
75 |
+
'number' => (array_key_exists('ACCOUNT_NUMBER', $data)) ? $data['ACCOUNT_NUMBER'] : false ,
|
76 |
+
'expiryMonth' => (array_key_exists('ACCOUNT_EXPIRY_MONTH', $data)) ? $data['ACCOUNT_EXPIRY_MONTH'] : false ,
|
77 |
+
'expiryYear' => (array_key_exists('ACCOUNT_EXPIRY_YEAR', $data)) ? $data['ACCOUNT_EXPIRY_YEAR'] : false ,
|
78 |
+
'referenceId' => (array_key_exists('IDENTIFICATION_UNIQUEID', $data)) ? $data['IDENTIFICATION_UNIQUEID'] : false ,
|
79 |
+
'adress' => $billingAddress
|
80 |
+
);
|
81 |
+
|
82 |
+
$session->setHcdWallet($hpdata);
|
83 |
+
|
84 |
+
|
85 |
+
$customAddress = Mage::getModel('customer/address');
|
86 |
+
$customAddress->setData($billingAddress);
|
87 |
+
|
88 |
+
$quote->setBillingAddress(Mage::getSingleton('sales/quote_address')
|
89 |
+
->importCustomerAddress($customAddress));
|
90 |
+
|
91 |
+
$quote->setShippingAddress(Mage::getSingleton('sales/quote_address')
|
92 |
+
->importCustomerAddress($customAddress));
|
93 |
+
|
94 |
+
$this->getOnepage()->getQuote()->collectTotals()->save();
|
95 |
+
|
96 |
+
|
97 |
+
$this->getOnepage()->getCheckout()->setStepData('billing', 'complete', true);
|
98 |
+
$this->getOnepage()->getCheckout()->setStepData('shipping', 'allow', true);
|
99 |
+
|
100 |
+
$this->getOnepage()->getCheckout()->setStepData('shipping', 'complete', true);
|
101 |
+
$this->getOnepage()->getCheckout()->setStepData('payment', 'allow', true);
|
102 |
+
$this->getOnepage()->savePayment(array('method'=>'hcdmpa'));
|
103 |
+
|
104 |
+
|
105 |
+
|
106 |
+
$this->renderLayout();
|
107 |
+
|
108 |
+
}
|
109 |
+
|
110 |
+
public function saveBillingAction()
|
111 |
+
{
|
112 |
+
if ($this->_expireAjax()) {
|
113 |
+
return;
|
114 |
+
}
|
115 |
+
if ($this->getRequest()->isPost()) {
|
116 |
+
|
117 |
+
$data = $this->getRequest()->getPost('billing', array());
|
118 |
+
$customerAddressId = $this->getRequest()->getPost('billing_address_id', false);
|
119 |
+
|
120 |
+
if (isset($data['email'])) {
|
121 |
+
$data['email'] = trim($data['email']);
|
122 |
+
}
|
123 |
+
$result = $this->getOnepage()->saveBilling($data, $customerAddressId);
|
124 |
+
|
125 |
+
|
126 |
+
if (!isset($result['error'])) {
|
127 |
+
if ($this->getOnepage()->getQuote()->isVirtual()) {
|
128 |
+
$result['goto_section'] = 'payment';
|
129 |
+
$result['update_section'] = array(
|
130 |
+
'name' => 'payment-method',
|
131 |
+
'html' => $this->_getPaymentMethodsHtml()
|
132 |
+
);
|
133 |
+
|
134 |
+
} else {
|
135 |
+
|
136 |
+
$wallet = Mage::getSingleton('checkout/session')->getHcdWallet();
|
137 |
+
|
138 |
+
$result = $this->getOnepage()->saveShipping($wallet['adress'], false);
|
139 |
+
$this->getOnepage()->getCheckout()->setStepData('shipping', 'allow', true)
|
140 |
+
->setStepData('shipping', 'complete', true);
|
141 |
+
|
142 |
+
if (!isset($result['error'])) {
|
143 |
+
$result['goto_section'] = 'shipping_method';
|
144 |
+
$result['update_section'] = array(
|
145 |
+
'name' => 'shipping-method',
|
146 |
+
'html' => $this->_getShippingMethodsHtml()
|
147 |
+
);
|
148 |
+
}
|
149 |
+
}
|
150 |
+
}
|
151 |
+
|
152 |
+
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
|
153 |
+
}
|
154 |
+
}
|
155 |
+
|
156 |
+
public function savePayment($data)
|
157 |
+
{
|
158 |
+
try {
|
159 |
+
$result = $this->getOnepage()->savePayment($data);
|
160 |
+
|
161 |
+
|
162 |
+
$redirectUrl = $this->getOnepage()->getQuote()->getPayment()->getCheckoutRedirectUrl();
|
163 |
+
if (empty($result['error']) && !$redirectUrl) {
|
164 |
+
$this->loadLayout('checkout_onepage_review');
|
165 |
+
$result['goto_section'] = 'review';
|
166 |
+
$result['update_section'] = array(
|
167 |
+
'name' => 'review',
|
168 |
+
'html' => $this->_getReviewHtml()
|
169 |
+
);
|
170 |
+
}
|
171 |
+
if ($redirectUrl) {
|
172 |
+
$result['redirect'] = $redirectUrl;
|
173 |
+
}
|
174 |
+
} catch (Mage_Payment_Exception $e) {
|
175 |
+
if ($e->getFields()) {
|
176 |
+
$result['fields'] = $e->getFields();
|
177 |
+
}
|
178 |
+
$result['error'] = $e->getMessage();
|
179 |
+
} catch (Mage_Core_Exception $e) {
|
180 |
+
$result['error'] = $e->getMessage();
|
181 |
+
} catch (Exception $e) {
|
182 |
+
Mage::logException($e);
|
183 |
+
$result['error'] = $this->__('Unable to set Payment Method.');
|
184 |
+
}
|
185 |
+
$this->getOnepage()->getCheckout()->setStepData('payment', 'complete', true);
|
186 |
+
return $result ;
|
187 |
+
}
|
188 |
+
|
189 |
+
|
190 |
+
public function savePaymentAction()
|
191 |
+
{
|
192 |
+
if ($this->_expireAjax()) {
|
193 |
+
return;
|
194 |
+
}
|
195 |
+
$result = $this->savePayment(array('method'=>'hcdmpa'));
|
196 |
+
|
197 |
+
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
|
198 |
+
}
|
199 |
+
|
200 |
+
protected function _getPaymentMethodsHtml()
|
201 |
+
{
|
202 |
+
$layout = $this->getLayout();
|
203 |
+
$update = $layout->getUpdate();
|
204 |
+
$update->load('hcd_checkout_paymentmethod');
|
205 |
+
$layout->generateXml();
|
206 |
+
$layout->generateBlocks();
|
207 |
+
$output = $layout->getOutput();
|
208 |
+
return $output;
|
209 |
+
}
|
210 |
+
|
211 |
+
|
212 |
+
public function saveShippingMethodAction()
|
213 |
+
{
|
214 |
+
if ($this->_expireAjax()) {
|
215 |
+
return;
|
216 |
+
}
|
217 |
+
if ($this->getRequest()->isPost()) {
|
218 |
+
$data = $this->getRequest()->getPost('shipping_method', '');
|
219 |
+
$result = $this->getOnepage()->saveShippingMethod($data);
|
220 |
+
// $result will contain error data if shipping method is empty
|
221 |
+
if (!$result) {
|
222 |
+
Mage::dispatchEvent(
|
223 |
+
'checkout_controller_onepage_save_shipping_method',
|
224 |
+
array(
|
225 |
+
'request' => $this->getRequest(),
|
226 |
+
'quote' => $this->getOnepage()->getQuote()));
|
227 |
+
$this->getOnepage()->getQuote()->collectTotals();
|
228 |
+
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
|
229 |
+
|
230 |
+
$result['goto_section'] = 'payment';
|
231 |
+
$result['update_section'] = array(
|
232 |
+
'name' => 'payment-method',
|
233 |
+
'html' => $this->_getPaymentMethodsHtml()
|
234 |
+
);
|
235 |
+
}
|
236 |
+
$this->getOnepage()->getQuote()->collectTotals()->save();
|
237 |
+
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
|
238 |
+
}
|
239 |
+
}
|
240 |
+
|
241 |
+
|
242 |
+
public function progressAction()
|
243 |
+
{
|
244 |
+
// previous step should never be null. We always start with billing and go forward
|
245 |
+
$prevStep = $this->getRequest()->getParam('prevStep', false);
|
246 |
+
|
247 |
+
if ($this->_expireAjax() || !$prevStep) {
|
248 |
+
return null;
|
249 |
+
}
|
250 |
+
|
251 |
+
$layout = $this->getLayout();
|
252 |
+
$update = $layout->getUpdate();
|
253 |
+
/* Load the block belonging to the current step*/
|
254 |
+
$update->load('hcd_checkout_progress_' . $prevStep);
|
255 |
+
$layout->generateXml();
|
256 |
+
$layout->generateBlocks();
|
257 |
+
$output = $layout->getOutput();
|
258 |
+
$this->getResponse()->setBody($output);
|
259 |
+
return $output;
|
260 |
+
}
|
261 |
+
|
262 |
+
|
263 |
+
private function log($message, $level="DEBUG", $file=false) {
|
264 |
+
$callers=debug_backtrace();
|
265 |
+
return Mage::helper('hcd/payment')->realLog( $callers[1]['function'].' '.$message , $level , $file);
|
266 |
+
}
|
267 |
+
|
268 |
+
}
|
app/code/community/HeidelpayCD/Edition/controllers/IndexController.php
CHANGED
@@ -7,6 +7,14 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
7 |
protected $_paymentInst = NULL;
|
8 |
protected $_debug = TRUE;
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
public $importantPPFields = array(
|
11 |
'PRESENTATION_AMOUNT',
|
12 |
'PRESENTATION_CURRENCY',
|
@@ -102,6 +110,14 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
102 |
return Mage::getSingleton('checkout/session');
|
103 |
}
|
104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
/**
|
106 |
* successful return from Heidelpay payment
|
107 |
*/
|
@@ -130,13 +146,19 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
130 |
* validate Hash to prevent manipulation
|
131 |
*/
|
132 |
if (Mage::getModel('hcd/resource_encryption')->validateHash($data['IDENTIFICATION_TRANSACTIONID'],$data['CRITERION_SECRET']) === false) {
|
133 |
-
$this->log("
|
134 |
$this->_redirect('', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true));
|
135 |
};
|
136 |
|
137 |
$session->unsHcdPaymentInfo();
|
138 |
-
|
139 |
-
if($
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
|
141 |
$quoteID = ($session->getLastQuoteId() === false) ? $session->getQuoteId() : $session->getLastQuoteId() ; // last_quote_id workaround for trusted shop buyerprotection
|
142 |
$this->getCheckout()->setLastSuccessQuoteId($quoteID);
|
@@ -157,7 +179,7 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
157 |
$this->_redirect('checkout/onepage/success', array('_secure' => true));
|
158 |
return;
|
159 |
}
|
160 |
-
|
161 |
public function errorAction()
|
162 |
{
|
163 |
$session = $this->getCheckout();
|
@@ -236,6 +258,9 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
236 |
$data = array();
|
237 |
$order = $this->getOrder();
|
238 |
|
|
|
|
|
|
|
239 |
$session = $this->getCheckout();
|
240 |
$order->loadByIncrementId($session->getLastRealOrderId());
|
241 |
if ($order->getPayment() === false ) {
|
@@ -245,6 +270,37 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
245 |
}
|
246 |
$payment = $order->getPayment()->getMethodInstance();
|
247 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
// if order status is cancel redirect to cancel page
|
249 |
if ($order->getStatus() == $payment->getStatusError()) {
|
250 |
$this->_redirect('hcd/index/error', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true));
|
@@ -259,7 +315,7 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
259 |
|
260 |
|
261 |
|
262 |
-
$data = $payment->getHeidelpayUrl();
|
263 |
|
264 |
if($data['POST_VALIDATION'] == 'ACK' and $data['PROCESSING_RESULT'] == 'ACK' )
|
265 |
{
|
@@ -281,7 +337,6 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
281 |
$session->getQuote()->setIsActive(true)->save();
|
282 |
$session->clear();
|
283 |
|
284 |
-
|
285 |
if ( $payment->activRedirct() === true ) {
|
286 |
$this->_redirectUrl($data['FRONTEND_REDIRECT_URL']);
|
287 |
}
|
@@ -304,10 +359,116 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
304 |
return $this ;
|
305 |
}
|
306 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
/**
|
308 |
* response from Heidelpay payment
|
309 |
*/
|
310 |
-
public function responseAction()
|
311 |
{
|
312 |
/*
|
313 |
* collect variables
|
@@ -342,7 +503,7 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
342 |
$data['FRONTEND_FAILURE_URL'] = $Request->getPOST('FRONTEND_FAILURE_URL');
|
343 |
$data['IDENTIFICATION_SHORTID'] = $Request->getPOST('IDENTIFICATION_SHORTID');
|
344 |
$data['IDENTIFICATION_SHOPPERID'] = $Request->getPOST('IDENTIFICATION_SHOPPERID');
|
345 |
-
$data['CRITERION_GUEST']
|
346 |
|
347 |
$PaymentCode = Mage::helper('hcd/payment')->splitPaymentCode ($data['PAYMENT_CODE']);
|
348 |
|
@@ -383,12 +544,21 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
383 |
'ACCOUNT_EXPIRY_YEAR' => $data['ACCOUNT_EXPIRY_YEAR']
|
384 |
))));
|
385 |
|
386 |
-
$this->log('$custumerData '.print_r($custumerData,1));
|
387 |
$custumerData->save();
|
388 |
|
389 |
$url = Mage::getUrl('hcd/', array('_secure' => true));
|
390 |
|
391 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
392 |
} else {
|
393 |
|
394 |
|
@@ -442,7 +612,7 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
442 |
}
|
443 |
|
444 |
/** Hack to remove a structur problem in criterion node */
|
445 |
-
$rawPost = preg_replace('/<Criterion(\s+)name="(
|
446 |
|
447 |
$xml = simplexml_load_string($rawPost);
|
448 |
|
@@ -459,6 +629,7 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
459 |
if (Mage::getModel('hcd/resource_encryption')->validateHash($orderID,$hash) === false) {
|
460 |
$this->log("Get response form server " . Mage::app()->getRequest()->getServer('REMOTE_ADDR') . " with an invalid hash. This could be some kind of manipulation.", 'WARN');
|
461 |
$this->_redirect('', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true));
|
|
|
462 |
};
|
463 |
|
464 |
|
@@ -486,22 +657,45 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
486 |
|
487 |
$order = $this->getOrder();
|
488 |
$order->loadByIncrementId($orderID);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
489 |
if (!empty($xml->Transaction->Identification->UniqueID))
|
490 |
$lastdata = Mage::getModel('hcd/transaction')->loadLastTransactionDataByUniqeId($xmlData['IDENTIFICATION_UNIQUEID']);
|
491 |
|
492 |
-
if($lastdata
|
493 |
Mage::getModel('hcd/transaction')->saveTransactionData($xmlData, 'push');
|
494 |
}
|
495 |
|
496 |
|
497 |
-
|
498 |
-
$this->log('Load Transaction '.print_r($lastdata,1));
|
499 |
-
|
500 |
-
|
501 |
|
502 |
$this->log($type ." ". $methode);
|
503 |
-
if ($methode == 'RC' or $methode == 'CP' or $methode == 'DB' or $methode == 'FI') {
|
504 |
-
|
505 |
Mage::helper('hcd/payment')->mapStatus (
|
506 |
$xmlData,
|
507 |
$order
|
@@ -511,7 +705,7 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
511 |
|
512 |
}
|
513 |
|
514 |
-
|
515 |
|
516 |
public function testAction() {
|
517 |
$data = Mage::getModel('hcd/transaction')->loadLastTransactionDataByTransactionnr('302000092');//->loadTransactionDataByX( );
|
@@ -519,7 +713,18 @@ class HeidelpayCD_Edition_IndexController extends Mage_Core_Controller_Front_Act
|
|
519 |
foreach($data AS $k) echo "<pre>".print_r($k,1)."</pre>";
|
520 |
}
|
521 |
|
522 |
-
*/
|
523 |
|
524 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
525 |
}
|
7 |
protected $_paymentInst = NULL;
|
8 |
protected $_debug = TRUE;
|
9 |
|
10 |
+
protected $_live_url = 'https://heidelpay.hpcgw.net/ngw/post';
|
11 |
+
protected $_sandbox_url = 'https://test-heidelpay.hpcgw.net/ngw/post';
|
12 |
+
|
13 |
+
|
14 |
+
protected $_live_basket_url = 'https://heidelpay.hpcgw.net/ngw/basket/';
|
15 |
+
protected $_sandbox_basket_url = 'https://test-heidelpay.hpcgw.net/ngw/basket/';
|
16 |
+
|
17 |
+
|
18 |
public $importantPPFields = array(
|
19 |
'PRESENTATION_AMOUNT',
|
20 |
'PRESENTATION_CURRENCY',
|
110 |
return Mage::getSingleton('checkout/session');
|
111 |
}
|
112 |
|
113 |
+
public function getOnepage() {
|
114 |
+
return Mage::getSingleton('checkout/type_onepage');
|
115 |
+
}
|
116 |
+
|
117 |
+
public function getStore() {
|
118 |
+
return Mage::app()->getStore()->getId();
|
119 |
+
}
|
120 |
+
|
121 |
/**
|
122 |
* successful return from Heidelpay payment
|
123 |
*/
|
146 |
* validate Hash to prevent manipulation
|
147 |
*/
|
148 |
if (Mage::getModel('hcd/resource_encryption')->validateHash($data['IDENTIFICATION_TRANSACTIONID'],$data['CRITERION_SECRET']) === false) {
|
149 |
+
$this->log("Customer tries to redirect directly to success page. IP " . Mage::app()->getRequest()->getServer('REMOTE_ADDR') . " . This could be some kind of manipulation.", 'WARN');
|
150 |
$this->_redirect('', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true));
|
151 |
};
|
152 |
|
153 |
$session->unsHcdPaymentInfo();
|
154 |
+
|
155 |
+
if ($order->getPayment()->getMethodInstance()->getCode() != 'hcdiv') {
|
156 |
+
$info = $order->getPayment()->getMethodInstance()->showPaymentInfo($data);
|
157 |
+
if ($info !== false) {
|
158 |
+
$session->setHcdPaymentInfo($info);
|
159 |
+
$order->setCustomerNote($info);
|
160 |
+
}
|
161 |
+
}
|
162 |
|
163 |
$quoteID = ($session->getLastQuoteId() === false) ? $session->getQuoteId() : $session->getLastQuoteId() ; // last_quote_id workaround for trusted shop buyerprotection
|
164 |
$this->getCheckout()->setLastSuccessQuoteId($quoteID);
|
179 |
$this->_redirect('checkout/onepage/success', array('_secure' => true));
|
180 |
return;
|
181 |
}
|
182 |
+
|
183 |
public function errorAction()
|
184 |
{
|
185 |
$session = $this->getCheckout();
|
258 |
$data = array();
|
259 |
$order = $this->getOrder();
|
260 |
|
261 |
+
$RefId = false;
|
262 |
+
$BasketId = false;
|
263 |
+
|
264 |
$session = $this->getCheckout();
|
265 |
$order->loadByIncrementId($session->getLastRealOrderId());
|
266 |
if ($order->getPayment() === false ) {
|
270 |
}
|
271 |
$payment = $order->getPayment()->getMethodInstance();
|
272 |
|
273 |
+
if ($session->getHcdWallet() !== false) {
|
274 |
+
$wallet = $session->getHcdWallet();
|
275 |
+
$RefId = (!empty($wallet['referenceId'])) ? $wallet['referenceId'] : false;
|
276 |
+
$this->log('Wallet reference id :'.$RefId);
|
277 |
+
}
|
278 |
+
|
279 |
+
|
280 |
+
if($payment->_canBasketApi == true and empty($RefId)) {
|
281 |
+
|
282 |
+
$ShoppingCart = Mage::helper('hcd/payment')->basketItems($order, $this->getStore());
|
283 |
+
|
284 |
+
$url = (Mage::getStoreConfig('hcd/settings/transactionmode', $this->getStore()) == 0) ? $this->_live_basket_url : $this->_sandbox_basket_url;
|
285 |
+
|
286 |
+
$this->log("doRequest shoppingcart : ".print_r($ShoppingCart,1), 'DEBUG');
|
287 |
+
|
288 |
+
$result = Mage::helper('hcd/payment')->doRequest($url, array( 'raw' => $ShoppingCart));
|
289 |
+
|
290 |
+
if (array_key_exists('result', $result) && $result['result'] == 'NOK'){
|
291 |
+
$this->log('Send basket to payment fail, because of : '.print_r($result,1),'ERROR');
|
292 |
+
Mage::getSingleton('core/session')->setHcdError($result['basketErrors']['message']);
|
293 |
+
$this->_redirect('hcd/index/error', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true));
|
294 |
+
return;
|
295 |
+
}
|
296 |
+
|
297 |
+
$this->log("doRequest shoppingcart response : ".print_r($result,1), 'DEBUG');
|
298 |
+
$BasketId = (array_key_exists('basketId',$result)) ? $result['basketId'] : false ;
|
299 |
+
|
300 |
+
|
301 |
+
}
|
302 |
+
|
303 |
+
|
304 |
// if order status is cancel redirect to cancel page
|
305 |
if ($order->getStatus() == $payment->getStatusError()) {
|
306 |
$this->_redirect('hcd/index/error', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true));
|
315 |
|
316 |
|
317 |
|
318 |
+
$data = $payment->getHeidelpayUrl(false , $BasketId, $RefId);
|
319 |
|
320 |
if($data['POST_VALIDATION'] == 'ACK' and $data['PROCESSING_RESULT'] == 'ACK' )
|
321 |
{
|
337 |
$session->getQuote()->setIsActive(true)->save();
|
338 |
$session->clear();
|
339 |
|
|
|
340 |
if ( $payment->activRedirct() === true ) {
|
341 |
$this->_redirectUrl($data['FRONTEND_REDIRECT_URL']);
|
342 |
}
|
359 |
return $this ;
|
360 |
}
|
361 |
|
362 |
+
public function walletAction()
|
363 |
+
{
|
364 |
+
$data = array();
|
365 |
+
$Request = Mage::app()->getRequest();
|
366 |
+
$paymentCode = $Request->getParam('_wallet');
|
367 |
+
$storeId = $this->getStore();
|
368 |
+
$code = false;
|
369 |
+
$mageBasketId = (string)$this->getCheckout()->getQuoteId();
|
370 |
+
|
371 |
+
if ($paymentCode == 'hcdmpa') {
|
372 |
+
$code = 'hcdmpa';
|
373 |
+
};
|
374 |
+
|
375 |
+
$quote = $this->getOnepage()->getQuote();
|
376 |
+
if (!$quote->hasItems() || $quote->getHasError() || $code === false ) {
|
377 |
+
$this->_redirect('checkout/cart');
|
378 |
+
return;
|
379 |
+
}
|
380 |
+
|
381 |
+
|
382 |
+
$ShoppingCart = Mage::helper('hcd/payment')->basketItems($quote, $storeId);
|
383 |
+
|
384 |
+
$url = (Mage::getStoreConfig('hcd/settings/transactionmode', $storeId) == 0) ? $this->_live_basket_url : $this->_sandbox_basket_url;
|
385 |
+
|
386 |
+
$this->log("doRequest shoppingcart : ".print_r($ShoppingCart,1), 'DEBUG');
|
387 |
+
$this->log("doRequest shoppingcart : ".print_r(json_encode($ShoppingCart),1), 'DEBUG');
|
388 |
+
|
389 |
+
$result = Mage::helper('hcd/payment')->doRequest($url, array( 'raw' => $ShoppingCart));
|
390 |
+
|
391 |
+
if (array_key_exists('result', $result) && $result['result'] == 'NOK'){
|
392 |
+
$this->log('Send basket to payment fail, because of : '.print_r($result,1),'ERROR');
|
393 |
+
$message = $this->_getHelper()->__('An unexpected error occurred. Please contact us to get further information.');
|
394 |
+
Mage::getSingleton('core/session')->addError($message);
|
395 |
+
$this->_redirect('checkout/cart', array('_secure' => true));
|
396 |
+
return;
|
397 |
+
}
|
398 |
+
|
399 |
+
$this->log("doRequest shoppingcart response : ".print_r($result,1), 'DEBUG');
|
400 |
+
|
401 |
+
$config = array( 'PAYMENT.METHOD' => preg_replace('/^hcd/','',$code ),
|
402 |
+
'SECURITY.SENDER' => Mage::getStoreConfig('hcd/settings/security_sender', $storeId),
|
403 |
+
'TRANSACTION.MODE' => (Mage::getStoreConfig('hcd/settings/transactionmode', $storeId) == 0) ? 'LIVE' : 'CONNECTOR_TEST' ,
|
404 |
+
'URL' => (Mage::getStoreConfig('hcd/settings/transactionmode', $storeId) == 0) ? $this->_live_url : $this->_sandbox_url ,
|
405 |
+
'USER.LOGIN' => trim(Mage::getStoreConfig('hcd/settings/user_id', $storeId)),
|
406 |
+
'USER.PWD' => trim(Mage::getStoreConfig('hcd/settings/user_pwd', $storeId)),
|
407 |
+
'TRANSACTION.CHANNEL' => trim(Mage::getStoreConfig('payment/'.$code.'/channel', $storeId)),
|
408 |
+
'PAYMENT.TYPE' => 'IN'
|
409 |
+
);
|
410 |
+
$frontend = array( 'FRONTEND.LANGUAGE' => Mage::helper('hcd/payment')->getLang(),
|
411 |
+
'FRONTEND.RESPONSE_URL' => Mage::getUrl('hcd/index/response', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true)),
|
412 |
+
//'FRONTEND.SUCCESS_URL' => Mage::getUrl('hcd/index/success', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true)),
|
413 |
+
//'FRONTEND.FAILURE_URL' => Mage::getUrl('hcd/index/error', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true)),
|
414 |
+
'CRITERION.SECRET' => Mage::getModel('hcd/resource_encryption')->getHash($mageBasketId),
|
415 |
+
'CRITERION.LANGUAGE' => strtolower(Mage::helper('hcd/payment')->getLang()),
|
416 |
+
'CRITERION.STOREID' => $storeId,
|
417 |
+
'SHOP.TYPE' => 'Magento '. Mage::getVersion(),
|
418 |
+
'SHOPMODULE.VERSION' => 'HeidelpayCD Edition - '. (string) Mage::getConfig()->getNode()->modules->HeidelpayCD_Edition->version,
|
419 |
+
'WALLET.DIRECT_PAYMENT' => 'false'
|
420 |
+
);
|
421 |
+
|
422 |
+
$visitorData = Mage::getSingleton('core/session')->getVisitorData();
|
423 |
+
|
424 |
+
$user = array( 'IDENTIFICATION.SHOPPERID' => $visitorData['visitor_id'],
|
425 |
+
'NAME.GIVEN' => ' - ',
|
426 |
+
'NAME.FAMILY' => ' - ',
|
427 |
+
'ADDRESS.STREET' => ' - ',
|
428 |
+
'ADDRESS.ZIP' => ' - ',
|
429 |
+
'ADDRESS.CITY' => ' - ',
|
430 |
+
'ADDRESS.COUNTRY' => 'DE',
|
431 |
+
'CONTACT.EMAIL' => 'dummy@heidelpay.de',
|
432 |
+
'CONTACT.IP' => (filter_var(trim(Mage::app()->getRequest()->getClientIp()), FILTER_VALIDATE_IP)) ? trim(Mage::app()->getRequest()->getClientIp()) : '127.0.0.1'
|
433 |
+
);
|
434 |
+
|
435 |
+
$basketData = array ( 'PRESENTATION.AMOUNT' => Mage::helper('hcd/payment')->format($quote->getGrandTotal()) ,
|
436 |
+
'PRESENTATION.CURRENCY' => $quote->getGlobalCurrencyCode(),
|
437 |
+
'IDENTIFICATION.TRANSACTIONID' => $mageBasketId,
|
438 |
+
'BASKET.ID' => (array_key_exists('basketId',$result)) ? $result['basketId'] : ''
|
439 |
+
);
|
440 |
+
|
441 |
+
$params = Mage::helper('hcd/payment')->preparePostData( $config, $frontend, $user, $basketData ,$criterion = array());
|
442 |
+
|
443 |
+
|
444 |
+
$this->log("doRequest url : ".$config['URL'], 'DEBUG');
|
445 |
+
$this->log("doRequest params : ".print_r($params,1), 'DEBUG');
|
446 |
+
$data = Mage::helper('hcd/payment')->doRequest($config['URL'], $params);
|
447 |
+
$this->log("doRequest response : ".print_r($data,1), 'DEBUG');
|
448 |
+
|
449 |
+
|
450 |
+
if($data['POST_VALIDATION'] == 'ACK' and $data['PROCESSING_RESULT'] == 'ACK' )
|
451 |
+
{
|
452 |
+
/** Redirect on Success */
|
453 |
+
//print $data['FRONTEND_REDIRECT_URL'] ;
|
454 |
+
//exit();
|
455 |
+
$this->_redirectUrl(trim($data['FRONTEND_REDIRECT_URL']));
|
456 |
+
return;
|
457 |
+
} else {
|
458 |
+
/** Error Case */
|
459 |
+
$this->log('Wallet Redirect for '.$code.' fail, because of : '.$data['PROCESSING_RETURN'],'ERROR');
|
460 |
+
$message = $this->_getHelper()->__('An unexpected error occurred. Please contact us to get further information.');
|
461 |
+
Mage::getSingleton('core/session')->addError($message);
|
462 |
+
$this->_redirect('checkout/cart', array('_secure' => true));
|
463 |
+
return;
|
464 |
+
}
|
465 |
+
|
466 |
+
}
|
467 |
+
|
468 |
/**
|
469 |
* response from Heidelpay payment
|
470 |
*/
|
471 |
+
public function responseAction()
|
472 |
{
|
473 |
/*
|
474 |
* collect variables
|
503 |
$data['FRONTEND_FAILURE_URL'] = $Request->getPOST('FRONTEND_FAILURE_URL');
|
504 |
$data['IDENTIFICATION_SHORTID'] = $Request->getPOST('IDENTIFICATION_SHORTID');
|
505 |
$data['IDENTIFICATION_SHOPPERID'] = $Request->getPOST('IDENTIFICATION_SHOPPERID');
|
506 |
+
$data['CRITERION_GUEST'] = $Request->getPOST('CRITERION_GUEST');
|
507 |
|
508 |
$PaymentCode = Mage::helper('hcd/payment')->splitPaymentCode ($data['PAYMENT_CODE']);
|
509 |
|
544 |
'ACCOUNT_EXPIRY_YEAR' => $data['ACCOUNT_EXPIRY_YEAR']
|
545 |
))));
|
546 |
|
|
|
547 |
$custumerData->save();
|
548 |
|
549 |
$url = Mage::getUrl('hcd/', array('_secure' => true));
|
550 |
|
551 |
}
|
552 |
+
} elseif ($PaymentCode[1] == 'IN' and $Request->getPost('WALLET_DIRECT_PAYMENT') == 'false') {
|
553 |
+
|
554 |
+
// Back to checkout after wallet init
|
555 |
+
if ($data['PROCESSING_RESULT'] == 'NOK'){
|
556 |
+
$this->log('Wallet for basketId '.$data['IDENTIFICATION_TRANSACTIONID'].' failed because of '.$data['PROCESSING_RETURN'],'NOTICE');
|
557 |
+
$url = Mage::getUrl('checkout/cart', array('_secure' => true));
|
558 |
+
}else {
|
559 |
+
$url = Mage::getUrl('hcd/checkout/', array('_secure' => true, '_wallet' => 'hcdmpa'));
|
560 |
+
}
|
561 |
+
Mage::getModel('hcd/transaction')->saveTransactionData($data);
|
562 |
} else {
|
563 |
|
564 |
|
612 |
}
|
613 |
|
614 |
/** Hack to remove a structur problem in criterion node */
|
615 |
+
$rawPost = preg_replace('/<Criterion(\s+)name="(.+?)">(.+?)<\/Criterion>/', '<$2>$3</$2>',$rawPost);
|
616 |
|
617 |
$xml = simplexml_load_string($rawPost);
|
618 |
|
629 |
if (Mage::getModel('hcd/resource_encryption')->validateHash($orderID,$hash) === false) {
|
630 |
$this->log("Get response form server " . Mage::app()->getRequest()->getServer('REMOTE_ADDR') . " with an invalid hash. This could be some kind of manipulation.", 'WARN');
|
631 |
$this->_redirect('', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true));
|
632 |
+
return;
|
633 |
};
|
634 |
|
635 |
|
657 |
|
658 |
$order = $this->getOrder();
|
659 |
$order->loadByIncrementId($orderID);
|
660 |
+
$paymentCode = $order->getPayment()->getMethodInstance()->getCode();
|
661 |
+
|
662 |
+
switch ($paymentCode) {
|
663 |
+
|
664 |
+
case 'hcddd':
|
665 |
+
$xmlData['CLEARING_AMOUNT'] = (string)$xml->Transaction->Payment->Clearing->Amount;
|
666 |
+
$xmlData['CLEARING_CURRENCY'] = (string)$xml->Transaction->Payment->Clearing->Currency;
|
667 |
+
$xmlData['ACCOUNT_IBAN'] = (string)$xml->Transaction->Account->Iban;
|
668 |
+
$xmlData['ACCOUNT_BIC'] = (string)$xml->Transaction->Account->Bic;
|
669 |
+
$xmlData['ACCOUNT_IDENTIFICATION'] = (string)$xml->Transaction->Account->Identification;
|
670 |
+
$xmlData['IDENTIFICATION_CREDITOR_ID'] = (string)$xml->Transaction->Identification->CreditorID;
|
671 |
+
break;
|
672 |
+
case 'hcdbs':
|
673 |
+
if ($methode == 'FI') {
|
674 |
+
$xmlData['CRITERION_BILLSAFE_LEGALNOTE'] = (string)$xml->Transaction->Analysis->BILLSAFE_LEGALNOTE;
|
675 |
+
$xmlData['CRITERION_BILLSAFE_AMOUNT'] = (string)$xml->Transaction->Analysis->BILLSAFE_AMOUNT;
|
676 |
+
$xmlData['CRITERION_BILLSAFE_CURRENCY'] = (string)$xml->Transaction->Analysis->BILLSAFE_CURRENCY;
|
677 |
+
$xmlData['CRITERION_BILLSAFE_RECIPIENT'] = (string)$xml->Transaction->Analysis->BILLSAFE_RECIPIENT;
|
678 |
+
$xmlData['CRITERION_BILLSAFE_IBAN'] = (string)$xml->Transaction->Analysis->BILLSAFE_IBAN;
|
679 |
+
$xmlData['CRITERION_BILLSAFE_BIC'] = (string)$xml->Transaction->Analysis->BILLSAFE_BIC;
|
680 |
+
$xmlData['CRITERION_BILLSAFE_REFERENCE'] = (string)$xml->Transaction->Analysis->BILLSAFE_REFERENCE;
|
681 |
+
$xmlData['CRITERION_BILLSAFE_PERIOD'] = (string)$xml->Transaction->Analysis->BILLSAFE_PERIOD;
|
682 |
+
$xmlData['ACCOUNT_BRAND'] = 'BILLSAFE';
|
683 |
+
}
|
684 |
+
break;
|
685 |
+
}
|
686 |
+
|
687 |
if (!empty($xml->Transaction->Identification->UniqueID))
|
688 |
$lastdata = Mage::getModel('hcd/transaction')->loadLastTransactionDataByUniqeId($xmlData['IDENTIFICATION_UNIQUEID']);
|
689 |
|
690 |
+
if($lastdata === false) {
|
691 |
Mage::getModel('hcd/transaction')->saveTransactionData($xmlData, 'push');
|
692 |
}
|
693 |
|
694 |
|
695 |
+
$this->log('PaymentCode '.$paymentCode);
|
|
|
|
|
|
|
696 |
|
697 |
$this->log($type ." ". $methode);
|
698 |
+
if ($methode == 'RC' or $methode == 'CP' or $methode == 'DB' or ($methode == 'FI' and $paymentCode == 'hcdbs' )) {
|
|
|
699 |
Mage::helper('hcd/payment')->mapStatus (
|
700 |
$xmlData,
|
701 |
$order
|
705 |
|
706 |
}
|
707 |
|
708 |
+
/*
|
709 |
|
710 |
public function testAction() {
|
711 |
$data = Mage::getModel('hcd/transaction')->loadLastTransactionDataByTransactionnr('302000092');//->loadTransactionDataByX( );
|
713 |
foreach($data AS $k) echo "<pre>".print_r($k,1)."</pre>";
|
714 |
}
|
715 |
|
|
|
716 |
|
717 |
|
718 |
+
public function orderAction() {
|
719 |
+
$orderID = '302000373';
|
720 |
+
$order = $this->getOrder();
|
721 |
+
$order->loadByIncrementId($orderID);
|
722 |
+
|
723 |
+
if (abs($order->getStore()->roundPrice($order->getTotalPaid()) - $order->getTotalRefunded()) < .0001) {
|
724 |
+
print 'nicht ok';
|
725 |
+
} else
|
726 |
+
print "ok";
|
727 |
+
}
|
728 |
+
*/
|
729 |
+
|
730 |
}
|
app/code/community/HeidelpayCD/Edition/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<HeidelpayCD_Edition>
|
5 |
-
<version>15.
|
6 |
</HeidelpayCD_Edition>
|
7 |
</modules>
|
8 |
<global>
|
@@ -62,6 +62,41 @@
|
|
62 |
<hcd>Heidelpay CD-Edition</hcd>
|
63 |
</groups>
|
64 |
</payment>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
</global>
|
66 |
<frontend>
|
67 |
<secure_url>
|
@@ -143,6 +178,7 @@
|
|
143 |
<channel>31HA07BC8142C5A171749A60D979B6E4</channel>
|
144 |
<bookingmode>DB</bookingmode>
|
145 |
<invioce>1</invioce>
|
|
|
146 |
<model>hcd/payment_hcdcc</model>
|
147 |
<sort_order>1</sort_order>
|
148 |
<min_amount>0</min_amount>
|
@@ -156,6 +192,7 @@
|
|
156 |
<channel>31HA07BC8142C5A171749A60D979B6E4</channel>
|
157 |
<bookingmode>DB</bookingmode>
|
158 |
<invioce>1</invioce>
|
|
|
159 |
<model>hcd/payment_hcddc</model>
|
160 |
<sort_order>1</sort_order>
|
161 |
<min_amount>0</min_amount>
|
@@ -169,6 +206,7 @@
|
|
169 |
<channel>31HA07BC8142C5A171749A60D979B6E4</channel>
|
170 |
<bookingmode>DB</bookingmode>
|
171 |
<invioce>1</invioce>
|
|
|
172 |
<model>hcd/payment_hcddd</model>
|
173 |
<sort_order>1</sort_order>
|
174 |
<min_amount>0</min_amount>
|
@@ -205,7 +243,7 @@
|
|
205 |
<active>0</active>
|
206 |
<channel>31HA07BC8142EE6D02715F4CA97DDD8B</channel>
|
207 |
<model>hcd/payment_hcdbs</model>
|
208 |
-
<invioce>
|
209 |
<sort_order>1</sort_order>
|
210 |
<min_amount>0</min_amount>
|
211 |
<max_amount>0</max_amount>
|
@@ -232,6 +270,7 @@
|
|
232 |
<channel>31HA07BC8142C5A171749A60D979B6E4</channel>
|
233 |
<bookingmode>DB</bookingmode>
|
234 |
<invioce>1</invioce>
|
|
|
235 |
<model>hcd/payment_hcdpal</model>
|
236 |
<payment_action>Authorization</payment_action>
|
237 |
<sort_order>1</sort_order>
|
@@ -257,6 +296,7 @@
|
|
257 |
<active>0</active>
|
258 |
<channel>31HA07BC8142C5A171749A60D979B6E4</channel>
|
259 |
<invioce>0</invioce>
|
|
|
260 |
<model>hcd/payment_hcdiv</model>
|
261 |
<sort_order>1</sort_order>
|
262 |
<min_amount>0</min_amount>
|
@@ -306,7 +346,7 @@
|
|
306 |
<group>hcd</group>
|
307 |
<title>Yapital</title>
|
308 |
<active>0</active>
|
309 |
-
<channel>
|
310 |
<invioce>1</invioce>
|
311 |
<model>hcd/payment_hcdyt</model>
|
312 |
<sort_order>1</sort_order>
|
@@ -314,6 +354,19 @@
|
|
314 |
<max_amount>0</max_amount>
|
315 |
<allowspecific>0</allowspecific>
|
316 |
</hcdyt>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
317 |
</payment>
|
318 |
</default>
|
319 |
</config>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<HeidelpayCD_Edition>
|
5 |
+
<version>15.9.9</version>
|
6 |
</HeidelpayCD_Edition>
|
7 |
</modules>
|
8 |
<global>
|
62 |
<hcd>Heidelpay CD-Edition</hcd>
|
63 |
</groups>
|
64 |
</payment>
|
65 |
+
<events>
|
66 |
+
<checkout_onepage_controller_success_action>
|
67 |
+
<observers>
|
68 |
+
<controller_action_before>
|
69 |
+
<class>hcd/observer</class>
|
70 |
+
<method>removeWalletDataFromCheckout</method>
|
71 |
+
</controller_action_before>
|
72 |
+
</observers>
|
73 |
+
</checkout_onepage_controller_success_action>
|
74 |
+
<controller_action_predispatch_checkout>
|
75 |
+
<observers>
|
76 |
+
<controller_action_before>
|
77 |
+
<class>hcd/observer</class>
|
78 |
+
<method>handleWalletDataDuringCheckout</method>
|
79 |
+
</controller_action_before>
|
80 |
+
</observers>
|
81 |
+
</controller_action_predispatch_checkout>
|
82 |
+
<sales_order_shipment_save_before>
|
83 |
+
<observers>
|
84 |
+
<reportShippingToHeidelpay>
|
85 |
+
<class>hcd/observer</class>
|
86 |
+
<method>reportShippingToHeidelpay</method>
|
87 |
+
</reportShippingToHeidelpay>
|
88 |
+
</observers>
|
89 |
+
</sales_order_shipment_save_before>
|
90 |
+
</events>
|
91 |
+
<template>
|
92 |
+
<email>
|
93 |
+
<hcd_payment_info>
|
94 |
+
<label>Heidelpay payment informations</label>
|
95 |
+
<file>sales/hcd_payment_info.html</file>
|
96 |
+
<type>html</type>
|
97 |
+
</hcd_payment_info>
|
98 |
+
</email>
|
99 |
+
</template>
|
100 |
</global>
|
101 |
<frontend>
|
102 |
<secure_url>
|
178 |
<channel>31HA07BC8142C5A171749A60D979B6E4</channel>
|
179 |
<bookingmode>DB</bookingmode>
|
180 |
<invioce>1</invioce>
|
181 |
+
<capture_on_delivery>0</capture_on_delivery>
|
182 |
<model>hcd/payment_hcdcc</model>
|
183 |
<sort_order>1</sort_order>
|
184 |
<min_amount>0</min_amount>
|
192 |
<channel>31HA07BC8142C5A171749A60D979B6E4</channel>
|
193 |
<bookingmode>DB</bookingmode>
|
194 |
<invioce>1</invioce>
|
195 |
+
<capture_on_delivery>0</capture_on_delivery>
|
196 |
<model>hcd/payment_hcddc</model>
|
197 |
<sort_order>1</sort_order>
|
198 |
<min_amount>0</min_amount>
|
206 |
<channel>31HA07BC8142C5A171749A60D979B6E4</channel>
|
207 |
<bookingmode>DB</bookingmode>
|
208 |
<invioce>1</invioce>
|
209 |
+
<capture_on_delivery>0</capture_on_delivery>
|
210 |
<model>hcd/payment_hcddd</model>
|
211 |
<sort_order>1</sort_order>
|
212 |
<min_amount>0</min_amount>
|
243 |
<active>0</active>
|
244 |
<channel>31HA07BC8142EE6D02715F4CA97DDD8B</channel>
|
245 |
<model>hcd/payment_hcdbs</model>
|
246 |
+
<invioce>1</invioce>
|
247 |
<sort_order>1</sort_order>
|
248 |
<min_amount>0</min_amount>
|
249 |
<max_amount>0</max_amount>
|
270 |
<channel>31HA07BC8142C5A171749A60D979B6E4</channel>
|
271 |
<bookingmode>DB</bookingmode>
|
272 |
<invioce>1</invioce>
|
273 |
+
<capture_on_delivery>0</capture_on_delivery>
|
274 |
<model>hcd/payment_hcdpal</model>
|
275 |
<payment_action>Authorization</payment_action>
|
276 |
<sort_order>1</sort_order>
|
296 |
<active>0</active>
|
297 |
<channel>31HA07BC8142C5A171749A60D979B6E4</channel>
|
298 |
<invioce>0</invioce>
|
299 |
+
<capture_on_delivery>0</capture_on_delivery>
|
300 |
<model>hcd/payment_hcdiv</model>
|
301 |
<sort_order>1</sort_order>
|
302 |
<min_amount>0</min_amount>
|
346 |
<group>hcd</group>
|
347 |
<title>Yapital</title>
|
348 |
<active>0</active>
|
349 |
+
<channel>31HA07BC81227C932DE1270DED97C5ED</channel>
|
350 |
<invioce>1</invioce>
|
351 |
<model>hcd/payment_hcdyt</model>
|
352 |
<sort_order>1</sort_order>
|
354 |
<max_amount>0</max_amount>
|
355 |
<allowspecific>0</allowspecific>
|
356 |
</hcdyt>
|
357 |
+
<hcdmpa>
|
358 |
+
<group>hcd</group>
|
359 |
+
<title>MasterPass</title>
|
360 |
+
<active>0</active>
|
361 |
+
<channel>31HA07BC814948E72EF669CA3BB1431F</channel>
|
362 |
+
<invioce>1</invioce>
|
363 |
+
<capture_on_delivery>0</capture_on_delivery>
|
364 |
+
<model>hcd/payment_hcdmpa</model>
|
365 |
+
<sort_order>1</sort_order>
|
366 |
+
<min_amount>0</min_amount>
|
367 |
+
<max_amount>0</max_amount>
|
368 |
+
<allowspecific>0</allowspecific>
|
369 |
+
</hcdmpa>
|
370 |
</payment>
|
371 |
</default>
|
372 |
</config>
|
app/code/community/HeidelpayCD/Edition/etc/system.xml
CHANGED
@@ -43,7 +43,7 @@
|
|
43 |
<transactionmode translate="label">
|
44 |
<label>Use Testsystem</label>
|
45 |
<frontend_type>select</frontend_type>
|
46 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
47 |
<comment>If is set to yes, transactionis use the sandbox system and the TRANSACTION.MODE=CONNECTOR_TEST, otherwise real payment will be used with mode LIVE. For details see integration basisc documentation.</comment>
|
48 |
<sort_order>5</sort_order>
|
49 |
<show_in_default>1</show_in_default>
|
@@ -147,7 +147,7 @@
|
|
147 |
<show_in_store>1</show_in_store>
|
148 |
</channel>
|
149 |
<bookingmode translate="label">
|
150 |
-
<label>
|
151 |
<frontend_type>select</frontend_type>
|
152 |
<source_model>hcd/system_config_source_bookingmode</source_model>
|
153 |
<sort_order>50</sort_order>
|
@@ -173,6 +173,16 @@
|
|
173 |
<show_in_website>1</show_in_website>
|
174 |
<show_in_store>1</show_in_store>
|
175 |
</invioce>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
<sort_order translate="label">
|
177 |
<label>Sort order</label>
|
178 |
<frontend_type>text</frontend_type>
|
@@ -277,6 +287,16 @@
|
|
277 |
<show_in_website>1</show_in_website>
|
278 |
<show_in_store>1</show_in_store>
|
279 |
</invioce>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
280 |
<sort_order translate="label">
|
281 |
<label>Sort order</label>
|
282 |
<frontend_type>text</frontend_type>
|
@@ -355,7 +375,7 @@
|
|
355 |
<show_in_store>1</show_in_store>
|
356 |
</channel>
|
357 |
<bookingmode translate="label">
|
358 |
-
<label>
|
359 |
<frontend_type>select</frontend_type>
|
360 |
<source_model>hcd/system_config_source_bookingmode</source_model>
|
361 |
<sort_order>50</sort_order>
|
@@ -381,6 +401,16 @@
|
|
381 |
<show_in_website>1</show_in_website>
|
382 |
<show_in_store>1</show_in_store>
|
383 |
</invioce>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
384 |
<sort_order translate="label">
|
385 |
<label>Sort order</label>
|
386 |
<frontend_type>text</frontend_type>
|
@@ -803,7 +833,7 @@
|
|
803 |
<show_in_store>1</show_in_store>
|
804 |
</channel>
|
805 |
<bookingmode translate="label">
|
806 |
-
<label>
|
807 |
<frontend_type>select</frontend_type>
|
808 |
<source_model>hcd/system_config_source_bookingmode</source_model>
|
809 |
<sort_order>50</sort_order>
|
@@ -820,6 +850,16 @@
|
|
820 |
<show_in_website>1</show_in_website>
|
821 |
<show_in_store>1</show_in_store>
|
822 |
</invioce>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
823 |
<sort_order translate="label">
|
824 |
<label>Sort order</label>
|
825 |
<frontend_type>text</frontend_type>
|
@@ -1166,6 +1206,16 @@
|
|
1166 |
<show_in_website>1</show_in_website>
|
1167 |
<show_in_store>1</show_in_store>
|
1168 |
</invioce>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1169 |
<sort_order translate="label">
|
1170 |
<label>Sort order</label>
|
1171 |
<frontend_type>text</frontend_type>
|
@@ -1382,6 +1432,111 @@
|
|
1382 |
</specificcountry>
|
1383 |
</fields>
|
1384 |
</hcdyt>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1385 |
</groups>
|
1386 |
</payment>
|
1387 |
</sections>
|
43 |
<transactionmode translate="label">
|
44 |
<label>Use Testsystem</label>
|
45 |
<frontend_type>select</frontend_type>
|
46 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
47 |
<comment>If is set to yes, transactionis use the sandbox system and the TRANSACTION.MODE=CONNECTOR_TEST, otherwise real payment will be used with mode LIVE. For details see integration basisc documentation.</comment>
|
48 |
<sort_order>5</sort_order>
|
49 |
<show_in_default>1</show_in_default>
|
147 |
<show_in_store>1</show_in_store>
|
148 |
</channel>
|
149 |
<bookingmode translate="label">
|
150 |
+
<label>Bookingmode</label>
|
151 |
<frontend_type>select</frontend_type>
|
152 |
<source_model>hcd/system_config_source_bookingmode</source_model>
|
153 |
<sort_order>50</sort_order>
|
173 |
<show_in_website>1</show_in_website>
|
174 |
<show_in_store>1</show_in_store>
|
175 |
</invioce>
|
176 |
+
<!--<capture_on_delivery translate="label">
|
177 |
+
<label>Automatically capture on delivery</label>
|
178 |
+
<frontend_type>select</frontend_type>
|
179 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
180 |
+
<comment>please note that capture on delivery is only possible, when you set bookingmode to preauthorisation</comment>
|
181 |
+
<sort_order>80</sort_order>
|
182 |
+
<show_in_default>1</show_in_default>
|
183 |
+
<show_in_website>1</show_in_website>
|
184 |
+
<show_in_store>1</show_in_store>
|
185 |
+
</capture_on_delivery>-->
|
186 |
<sort_order translate="label">
|
187 |
<label>Sort order</label>
|
188 |
<frontend_type>text</frontend_type>
|
287 |
<show_in_website>1</show_in_website>
|
288 |
<show_in_store>1</show_in_store>
|
289 |
</invioce>
|
290 |
+
<!--<capture_on_delivery translate="label">
|
291 |
+
<label>Automatically capture on delivery</label>
|
292 |
+
<frontend_type>select</frontend_type>
|
293 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
294 |
+
<comment>please note that capture on delivery is only possible, when you set bookingmode to preauthorisation</comment>
|
295 |
+
<sort_order>80</sort_order>
|
296 |
+
<show_in_default>1</show_in_default>
|
297 |
+
<show_in_website>1</show_in_website>
|
298 |
+
<show_in_store>1</show_in_store>
|
299 |
+
</capture_on_delivery>-->
|
300 |
<sort_order translate="label">
|
301 |
<label>Sort order</label>
|
302 |
<frontend_type>text</frontend_type>
|
375 |
<show_in_store>1</show_in_store>
|
376 |
</channel>
|
377 |
<bookingmode translate="label">
|
378 |
+
<label>Bookingmode</label>
|
379 |
<frontend_type>select</frontend_type>
|
380 |
<source_model>hcd/system_config_source_bookingmode</source_model>
|
381 |
<sort_order>50</sort_order>
|
401 |
<show_in_website>1</show_in_website>
|
402 |
<show_in_store>1</show_in_store>
|
403 |
</invioce>
|
404 |
+
<!--<capture_on_delivery translate="label">
|
405 |
+
<label>Automatically capture on delivery</label>
|
406 |
+
<frontend_type>select</frontend_type>
|
407 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
408 |
+
<comment>please note that capture on delivery is only possible, when you set bookingmode to preauthorisation</comment>
|
409 |
+
<sort_order>80</sort_order>
|
410 |
+
<show_in_default>1</show_in_default>
|
411 |
+
<show_in_website>1</show_in_website>
|
412 |
+
<show_in_store>1</show_in_store>
|
413 |
+
</capture_on_delivery>-->
|
414 |
<sort_order translate="label">
|
415 |
<label>Sort order</label>
|
416 |
<frontend_type>text</frontend_type>
|
833 |
<show_in_store>1</show_in_store>
|
834 |
</channel>
|
835 |
<bookingmode translate="label">
|
836 |
+
<label>Bookingmode</label>
|
837 |
<frontend_type>select</frontend_type>
|
838 |
<source_model>hcd/system_config_source_bookingmode</source_model>
|
839 |
<sort_order>50</sort_order>
|
850 |
<show_in_website>1</show_in_website>
|
851 |
<show_in_store>1</show_in_store>
|
852 |
</invioce>
|
853 |
+
<!--<capture_on_delivery translate="label">
|
854 |
+
<label>Automatically capture on delivery</label>
|
855 |
+
<frontend_type>select</frontend_type>
|
856 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
857 |
+
<comment>please note that capture on delivery is only possible, when you set bookingmode to preauthorisation</comment>
|
858 |
+
<sort_order>80</sort_order>
|
859 |
+
<show_in_default>1</show_in_default>
|
860 |
+
<show_in_website>1</show_in_website>
|
861 |
+
<show_in_store>1</show_in_store>
|
862 |
+
</capture_on_delivery>-->
|
863 |
<sort_order translate="label">
|
864 |
<label>Sort order</label>
|
865 |
<frontend_type>text</frontend_type>
|
1206 |
<show_in_website>1</show_in_website>
|
1207 |
<show_in_store>1</show_in_store>
|
1208 |
</invioce>
|
1209 |
+
<capture_on_delivery translate="label">
|
1210 |
+
<label>Send delivery note to Heidelpay</label>
|
1211 |
+
<comment>please note that this is only necessary, when you use purchase on account with payment guarantee.</comment>
|
1212 |
+
<frontend_type>select</frontend_type>
|
1213 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1214 |
+
<sort_order>80</sort_order>
|
1215 |
+
<show_in_default>1</show_in_default>
|
1216 |
+
<show_in_website>1</show_in_website>
|
1217 |
+
<show_in_store>1</show_in_store>
|
1218 |
+
</capture_on_delivery>
|
1219 |
<sort_order translate="label">
|
1220 |
<label>Sort order</label>
|
1221 |
<frontend_type>text</frontend_type>
|
1432 |
</specificcountry>
|
1433 |
</fields>
|
1434 |
</hcdyt>
|
1435 |
+
<hcdmpa translate="label">
|
1436 |
+
<label>Heidelpay MasterPass (hcd)</label>
|
1437 |
+
<frontend_type>text</frontend_type>
|
1438 |
+
<sort_order>140</sort_order>
|
1439 |
+
<show_in_default>1</show_in_default>
|
1440 |
+
<show_in_website>1</show_in_website>
|
1441 |
+
<show_in_store>1</show_in_store>
|
1442 |
+
<fields>
|
1443 |
+
<title translate="label">
|
1444 |
+
<label>Title</label>
|
1445 |
+
<frontend_type>text</frontend_type>
|
1446 |
+
<sort_order>10</sort_order>
|
1447 |
+
<show_in_default>1</show_in_default>
|
1448 |
+
<show_in_website>1</show_in_website>
|
1449 |
+
<show_in_store>1</show_in_store>
|
1450 |
+
</title>
|
1451 |
+
<active translate="label">
|
1452 |
+
<label>Enabled</label>
|
1453 |
+
<frontend_type>select</frontend_type>
|
1454 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1455 |
+
<sort_order>20</sort_order>
|
1456 |
+
<show_in_default>1</show_in_default>
|
1457 |
+
<show_in_website>1</show_in_website>
|
1458 |
+
<show_in_store>1</show_in_store>
|
1459 |
+
</active>
|
1460 |
+
<channel translate="label">
|
1461 |
+
<label>Channel ID</label>
|
1462 |
+
<frontend_type>text</frontend_type>
|
1463 |
+
<sort_order>40</sort_order>
|
1464 |
+
<show_in_default>1</show_in_default>
|
1465 |
+
<show_in_website>1</show_in_website>
|
1466 |
+
<show_in_store>1</show_in_store>
|
1467 |
+
</channel>
|
1468 |
+
<bookingmode translate="label">
|
1469 |
+
<label>Bookingmode</label>
|
1470 |
+
<frontend_type>select</frontend_type>
|
1471 |
+
<source_model>hcd/system_config_source_bookingmode</source_model>
|
1472 |
+
<sort_order>50</sort_order>
|
1473 |
+
<show_in_default>1</show_in_default>
|
1474 |
+
<show_in_website>1</show_in_website>
|
1475 |
+
<show_in_store>1</show_in_store>
|
1476 |
+
</bookingmode>
|
1477 |
+
<invioce translate="label">
|
1478 |
+
<label>Automatically invoiced</label>
|
1479 |
+
<frontend_type>select</frontend_type>
|
1480 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1481 |
+
<sort_order>70</sort_order>
|
1482 |
+
<show_in_default>1</show_in_default>
|
1483 |
+
<show_in_website>1</show_in_website>
|
1484 |
+
<show_in_store>1</show_in_store>
|
1485 |
+
</invioce>
|
1486 |
+
<!--<capture_on_delivery translate="label">
|
1487 |
+
<label>Automatically capture on delivery</label>
|
1488 |
+
<frontend_type>select</frontend_type>
|
1489 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1490 |
+
<comment>please note that capture on delivery is only possible, when you set bookingmode to preauthorisation</comment>
|
1491 |
+
<sort_order>80</sort_order>
|
1492 |
+
<show_in_default>1</show_in_default>
|
1493 |
+
<show_in_website>1</show_in_website>
|
1494 |
+
<show_in_store>1</show_in_store>
|
1495 |
+
</capture_on_delivery>-->
|
1496 |
+
<sort_order translate="label">
|
1497 |
+
<label>Sort order</label>
|
1498 |
+
<frontend_type>text</frontend_type>
|
1499 |
+
<sort_order>110</sort_order>
|
1500 |
+
<show_in_default>1</show_in_default>
|
1501 |
+
<show_in_website>1</show_in_website>
|
1502 |
+
<show_in_store>1</show_in_store>
|
1503 |
+
</sort_order>
|
1504 |
+
<min_amount translate="label">
|
1505 |
+
<label>Minimum Amount (CENT)</label>
|
1506 |
+
<frontend_type>text</frontend_type>
|
1507 |
+
<sort_order>120</sort_order>
|
1508 |
+
<show_in_default>1</show_in_default>
|
1509 |
+
<show_in_website>1</show_in_website>
|
1510 |
+
<show_in_store>1</show_in_store>
|
1511 |
+
</min_amount>
|
1512 |
+
<max_amount translate="label">
|
1513 |
+
<label>Maximum Amount (CENT)</label>
|
1514 |
+
<frontend_type>text</frontend_type>
|
1515 |
+
<sort_order>130</sort_order>
|
1516 |
+
<show_in_default>1</show_in_default>
|
1517 |
+
<show_in_website>1</show_in_website>
|
1518 |
+
<show_in_store>1</show_in_store>
|
1519 |
+
</max_amount>
|
1520 |
+
<allowspecific translate="label">
|
1521 |
+
<label>allow specific countries</label>
|
1522 |
+
<frontend_type>allowspecific</frontend_type>
|
1523 |
+
<sort_order>140</sort_order>
|
1524 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1525 |
+
<show_in_default>1</show_in_default>
|
1526 |
+
<show_in_website>1</show_in_website>
|
1527 |
+
<show_in_store>1</show_in_store>
|
1528 |
+
</allowspecific>
|
1529 |
+
<specificcountry translate="label">
|
1530 |
+
<label>specific countries</label>
|
1531 |
+
<frontend_type>multiselect</frontend_type>
|
1532 |
+
<sort_order>150</sort_order>
|
1533 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
1534 |
+
<show_in_default>1</show_in_default>
|
1535 |
+
<show_in_website>1</show_in_website>
|
1536 |
+
<show_in_store>1</show_in_store>
|
1537 |
+
</specificcountry>
|
1538 |
+
</fields>
|
1539 |
+
</hcdmpa>
|
1540 |
</groups>
|
1541 |
</payment>
|
1542 |
</sections>
|
app/code/community/HeidelpayCD/Edition/sql/hcd_setup/install-15.1.30.php
CHANGED
@@ -1,170 +1,170 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* @category Heidelpay
|
4 |
-
* @package Heidelpay CD-Editon
|
5 |
-
* @author Jens Richter
|
6 |
-
* @copyright Copyright (c) 2014 Heidelberger Payment GmbH
|
7 |
-
*/
|
8 |
-
|
9 |
-
$installer = $this;
|
10 |
-
$installer->startSetup();
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
/**
|
17 |
-
* create transactions table
|
18 |
-
*/
|
19 |
-
$tablerealname = 'hcd/transaction';
|
20 |
-
$tablename = $installer->getTable($tablerealname);
|
21 |
-
if ($installer->getConnection()->isTableExists($tablename) != true) {
|
22 |
-
|
23 |
-
$table = $installer->getConnection()
|
24 |
-
->newTable($tablename)
|
25 |
-
->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL,
|
26 |
-
array(
|
27 |
-
'unsigned' => true,
|
28 |
-
'nullable' => false,
|
29 |
-
'primary' => true,
|
30 |
-
'identity' => true,
|
31 |
-
'auto_increment' => true
|
32 |
-
)
|
33 |
-
)
|
34 |
-
->addColumn('payment_methode', Varien_Db_Ddl_Table::TYPE_VARCHAR, 2,
|
35 |
-
array(
|
36 |
-
'nullable' => false)
|
37 |
-
)
|
38 |
-
->addColumn('payment_type', Varien_Db_Ddl_Table::TYPE_VARCHAR, 2,
|
39 |
-
array(
|
40 |
-
'nullable' => false
|
41 |
-
)
|
42 |
-
)
|
43 |
-
->addColumn('transactionid', Varien_Db_Ddl_Table::TYPE_VARCHAR, 50,
|
44 |
-
array(
|
45 |
-
'nullable' => false,
|
46 |
-
'COMMENT' => "normaly the order or basketId"
|
47 |
-
)
|
48 |
-
)
|
49 |
-
->addColumn('uniqeid', Varien_Db_Ddl_Table::TYPE_VARCHAR, 32,
|
50 |
-
array(
|
51 |
-
'nullable' => false,
|
52 |
-
'COMMENT' => "heidelpay uniqe identification number"
|
53 |
-
)
|
54 |
-
)
|
55 |
-
->addColumn('shortid', Varien_Db_Ddl_Table::TYPE_VARCHAR, 14,
|
56 |
-
array(
|
57 |
-
'nullable' => false,
|
58 |
-
'COMMENT' => "heidelpay sort identification number"
|
59 |
-
)
|
60 |
-
)
|
61 |
-
->addColumn('result', Varien_Db_Ddl_Table::TYPE_VARCHAR, 3,
|
62 |
-
array(
|
63 |
-
'nullable' => false,
|
64 |
-
'COMMENT' => "heidelpay processing result"
|
65 |
-
)
|
66 |
-
)
|
67 |
-
->addColumn('statuscode', Varien_Db_Ddl_Table::TYPE_SMALLINT, NULL,
|
68 |
-
array(
|
69 |
-
'unsigned' => true,
|
70 |
-
'nullable' => false,
|
71 |
-
'COMMENT' => "heidelpay processing status code"
|
72 |
-
)
|
73 |
-
)
|
74 |
-
->addColumn('return', Varien_Db_Ddl_Table::TYPE_VARCHAR, 100,
|
75 |
-
array(
|
76 |
-
'nullable' => false,
|
77 |
-
'COMMENT' => "heidelpay processing return message"
|
78 |
-
)
|
79 |
-
)
|
80 |
-
->addColumn('returncode', Varien_Db_Ddl_Table::TYPE_VARCHAR, 12,
|
81 |
-
array(
|
82 |
-
'nullable' => false,
|
83 |
-
'COMMENT' => "heidelpay processing return code"
|
84 |
-
)
|
85 |
-
)
|
86 |
-
->addColumn('jsonresponse', Varien_Db_Ddl_Table::TYPE_BLOB, NULL,
|
87 |
-
array(
|
88 |
-
'nullable' => false,
|
89 |
-
'COMMENT' => "heidelpay response as json"
|
90 |
-
)
|
91 |
-
)
|
92 |
-
->addColumn('datetime', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, NULL,
|
93 |
-
array(
|
94 |
-
'nullable' => false,
|
95 |
-
'COMMENT' => "create date"
|
96 |
-
)
|
97 |
-
)
|
98 |
-
->addColumn('source', Varien_Db_Ddl_Table::TYPE_VARCHAR, 100,
|
99 |
-
array(
|
100 |
-
'nullable' => false,
|
101 |
-
'COMMENT' => "heidelpay processing return message"
|
102 |
-
)
|
103 |
-
)
|
104 |
-
->addIndex($installer->getIdxName($tablerealname, array('uniqeid')), array('uniqeid'))
|
105 |
-
->addIndex($installer->getIdxName($tablerealname, array('transactionid')), array('transactionid'))
|
106 |
-
->addIndex($installer->getIdxName($tablerealname, array('returncode')), array('returncode'))
|
107 |
-
->addIndex($installer->getIdxName($tablerealname, array('source')), array('source'))
|
108 |
-
;
|
109 |
-
$installer->getConnection()->createTable($table);
|
110 |
-
}
|
111 |
-
|
112 |
-
/**
|
113 |
-
* create customer data table
|
114 |
-
*/
|
115 |
-
$tablerealname = 'hcd/customer';
|
116 |
-
$tablename = $installer->getTable($tablerealname);
|
117 |
-
if ($installer->getConnection()->isTableExists($tablename) != true) {
|
118 |
-
|
119 |
-
$table = $installer->getConnection()
|
120 |
-
->newTable($tablename)
|
121 |
-
->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL,
|
122 |
-
array(
|
123 |
-
'unsigned' => true,
|
124 |
-
'nullable' => false,
|
125 |
-
'primary' => true,
|
126 |
-
'identity' => true,
|
127 |
-
'auto_increment' => true
|
128 |
-
)
|
129 |
-
)
|
130 |
-
->addColumn('paymentmethode', Varien_Db_Ddl_Table::TYPE_VARCHAR, 10,
|
131 |
-
array(
|
132 |
-
'nullable' => false)
|
133 |
-
)
|
134 |
-
->addColumn('uniqeid', Varien_Db_Ddl_Table::TYPE_VARCHAR, 50,
|
135 |
-
array(
|
136 |
-
'nullable' => false,
|
137 |
-
'COMMENT' => "Heidelpay transaction identifier"
|
138 |
-
)
|
139 |
-
)
|
140 |
-
->addColumn('customerid', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL,
|
141 |
-
array(
|
142 |
-
'unsigned' => true,
|
143 |
-
'nullable' => false,
|
144 |
-
'COMMENT' => "magento customer id"
|
145 |
-
)
|
146 |
-
)
|
147 |
-
->addColumn('storeid', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL,
|
148 |
-
array(
|
149 |
-
'unsigned' => true,
|
150 |
-
'nullable' => false,
|
151 |
-
'COMMENT' => "magento store id"
|
152 |
-
)
|
153 |
-
)
|
154 |
-
->addColumn('payment_data', Varien_Db_Ddl_Table::TYPE_BLOB, NULL,
|
155 |
-
array(
|
156 |
-
'nullable' => false,
|
157 |
-
'COMMENT' => "custumer payment data"
|
158 |
-
)
|
159 |
-
)
|
160 |
-
->addIndex($installer->getIdxName($tablerealname, array('uniqeid')), array('uniqeid'))
|
161 |
-
->addIndex($installer->getIdxName($tablerealname, array('customerid')), array('customerid'))
|
162 |
-
->addIndex($installer->getIdxName($tablerealname, array('storeid')), array('storeid'))
|
163 |
-
->addIndex($installer->getIdxName($tablerealname, array('paymentmethode')), array('paymentmethode'))
|
164 |
-
;
|
165 |
-
$installer->getConnection()->createTable($table);
|
166 |
-
}
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
$installer->endSetup();
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @category Heidelpay
|
4 |
+
* @package Heidelpay CD-Editon
|
5 |
+
* @author Jens Richter
|
6 |
+
* @copyright Copyright (c) 2014 Heidelberger Payment GmbH
|
7 |
+
*/
|
8 |
+
|
9 |
+
$installer = $this;
|
10 |
+
$installer->startSetup();
|
11 |
+
|
12 |
+
|
13 |
+
|
14 |
+
|
15 |
+
|
16 |
+
/**
|
17 |
+
* create transactions table
|
18 |
+
*/
|
19 |
+
$tablerealname = 'hcd/transaction';
|
20 |
+
$tablename = $installer->getTable($tablerealname);
|
21 |
+
if ($installer->getConnection()->isTableExists($tablename) != true) {
|
22 |
+
|
23 |
+
$table = $installer->getConnection()
|
24 |
+
->newTable($tablename)
|
25 |
+
->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL,
|
26 |
+
array(
|
27 |
+
'unsigned' => true,
|
28 |
+
'nullable' => false,
|
29 |
+
'primary' => true,
|
30 |
+
'identity' => true,
|
31 |
+
'auto_increment' => true
|
32 |
+
)
|
33 |
+
)
|
34 |
+
->addColumn('payment_methode', Varien_Db_Ddl_Table::TYPE_VARCHAR, 2,
|
35 |
+
array(
|
36 |
+
'nullable' => false)
|
37 |
+
)
|
38 |
+
->addColumn('payment_type', Varien_Db_Ddl_Table::TYPE_VARCHAR, 2,
|
39 |
+
array(
|
40 |
+
'nullable' => false
|
41 |
+
)
|
42 |
+
)
|
43 |
+
->addColumn('transactionid', Varien_Db_Ddl_Table::TYPE_VARCHAR, 50,
|
44 |
+
array(
|
45 |
+
'nullable' => false,
|
46 |
+
'COMMENT' => "normaly the order or basketId"
|
47 |
+
)
|
48 |
+
)
|
49 |
+
->addColumn('uniqeid', Varien_Db_Ddl_Table::TYPE_VARCHAR, 32,
|
50 |
+
array(
|
51 |
+
'nullable' => false,
|
52 |
+
'COMMENT' => "heidelpay uniqe identification number"
|
53 |
+
)
|
54 |
+
)
|
55 |
+
->addColumn('shortid', Varien_Db_Ddl_Table::TYPE_VARCHAR, 14,
|
56 |
+
array(
|
57 |
+
'nullable' => false,
|
58 |
+
'COMMENT' => "heidelpay sort identification number"
|
59 |
+
)
|
60 |
+
)
|
61 |
+
->addColumn('result', Varien_Db_Ddl_Table::TYPE_VARCHAR, 3,
|
62 |
+
array(
|
63 |
+
'nullable' => false,
|
64 |
+
'COMMENT' => "heidelpay processing result"
|
65 |
+
)
|
66 |
+
)
|
67 |
+
->addColumn('statuscode', Varien_Db_Ddl_Table::TYPE_SMALLINT, NULL,
|
68 |
+
array(
|
69 |
+
'unsigned' => true,
|
70 |
+
'nullable' => false,
|
71 |
+
'COMMENT' => "heidelpay processing status code"
|
72 |
+
)
|
73 |
+
)
|
74 |
+
->addColumn('return', Varien_Db_Ddl_Table::TYPE_VARCHAR, 100,
|
75 |
+
array(
|
76 |
+
'nullable' => false,
|
77 |
+
'COMMENT' => "heidelpay processing return message"
|
78 |
+
)
|
79 |
+
)
|
80 |
+
->addColumn('returncode', Varien_Db_Ddl_Table::TYPE_VARCHAR, 12,
|
81 |
+
array(
|
82 |
+
'nullable' => false,
|
83 |
+
'COMMENT' => "heidelpay processing return code"
|
84 |
+
)
|
85 |
+
)
|
86 |
+
->addColumn('jsonresponse', Varien_Db_Ddl_Table::TYPE_BLOB, NULL,
|
87 |
+
array(
|
88 |
+
'nullable' => false,
|
89 |
+
'COMMENT' => "heidelpay response as json"
|
90 |
+
)
|
91 |
+
)
|
92 |
+
->addColumn('datetime', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, NULL,
|
93 |
+
array(
|
94 |
+
'nullable' => false,
|
95 |
+
'COMMENT' => "create date"
|
96 |
+
)
|
97 |
+
)
|
98 |
+
->addColumn('source', Varien_Db_Ddl_Table::TYPE_VARCHAR, 100,
|
99 |
+
array(
|
100 |
+
'nullable' => false,
|
101 |
+
'COMMENT' => "heidelpay processing return message"
|
102 |
+
)
|
103 |
+
)
|
104 |
+
->addIndex($installer->getIdxName($tablerealname, array('uniqeid')), array('uniqeid'))
|
105 |
+
->addIndex($installer->getIdxName($tablerealname, array('transactionid')), array('transactionid'))
|
106 |
+
->addIndex($installer->getIdxName($tablerealname, array('returncode')), array('returncode'))
|
107 |
+
->addIndex($installer->getIdxName($tablerealname, array('source')), array('source'))
|
108 |
+
;
|
109 |
+
$installer->getConnection()->createTable($table);
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* create customer data table
|
114 |
+
*/
|
115 |
+
$tablerealname = 'hcd/customer';
|
116 |
+
$tablename = $installer->getTable($tablerealname);
|
117 |
+
if ($installer->getConnection()->isTableExists($tablename) != true) {
|
118 |
+
|
119 |
+
$table = $installer->getConnection()
|
120 |
+
->newTable($tablename)
|
121 |
+
->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL,
|
122 |
+
array(
|
123 |
+
'unsigned' => true,
|
124 |
+
'nullable' => false,
|
125 |
+
'primary' => true,
|
126 |
+
'identity' => true,
|
127 |
+
'auto_increment' => true
|
128 |
+
)
|
129 |
+
)
|
130 |
+
->addColumn('paymentmethode', Varien_Db_Ddl_Table::TYPE_VARCHAR, 10,
|
131 |
+
array(
|
132 |
+
'nullable' => false)
|
133 |
+
)
|
134 |
+
->addColumn('uniqeid', Varien_Db_Ddl_Table::TYPE_VARCHAR, 50,
|
135 |
+
array(
|
136 |
+
'nullable' => false,
|
137 |
+
'COMMENT' => "Heidelpay transaction identifier"
|
138 |
+
)
|
139 |
+
)
|
140 |
+
->addColumn('customerid', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL,
|
141 |
+
array(
|
142 |
+
'unsigned' => true,
|
143 |
+
'nullable' => false,
|
144 |
+
'COMMENT' => "magento customer id"
|
145 |
+
)
|
146 |
+
)
|
147 |
+
->addColumn('storeid', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL,
|
148 |
+
array(
|
149 |
+
'unsigned' => true,
|
150 |
+
'nullable' => false,
|
151 |
+
'COMMENT' => "magento store id"
|
152 |
+
)
|
153 |
+
)
|
154 |
+
->addColumn('payment_data', Varien_Db_Ddl_Table::TYPE_BLOB, NULL,
|
155 |
+
array(
|
156 |
+
'nullable' => false,
|
157 |
+
'COMMENT' => "custumer payment data"
|
158 |
+
)
|
159 |
+
)
|
160 |
+
->addIndex($installer->getIdxName($tablerealname, array('uniqeid')), array('uniqeid'))
|
161 |
+
->addIndex($installer->getIdxName($tablerealname, array('customerid')), array('customerid'))
|
162 |
+
->addIndex($installer->getIdxName($tablerealname, array('storeid')), array('storeid'))
|
163 |
+
->addIndex($installer->getIdxName($tablerealname, array('paymentmethode')), array('paymentmethode'))
|
164 |
+
;
|
165 |
+
$installer->getConnection()->createTable($table);
|
166 |
+
}
|
167 |
+
|
168 |
+
|
169 |
+
|
170 |
+
$installer->endSetup();
|
app/design/adminhtml/default/default/template/hcd/Info/masterpass.phtml
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<button type="button" title="MasterPass"
|
2 |
+
class="btn-hcdmpa-info"
|
3 |
+
onclick="window.open('https://www.mastercard.com/mc_us/wallet/learnmore/<?php
|
4 |
+
$lang = Mage::app()->getLocale()->getLocaleCode();
|
5 |
+
switch ($lang) {
|
6 |
+
case 'de_DE':
|
7 |
+
case 'de_AT':
|
8 |
+
case 'de_CH':
|
9 |
+
echo 'de/DE';
|
10 |
+
break;
|
11 |
+
case 'fr_FR':
|
12 |
+
echo 'fr/FR';
|
13 |
+
break;
|
14 |
+
case 'en_GB':
|
15 |
+
case 'en_US':
|
16 |
+
default:
|
17 |
+
echo 'en/US';
|
18 |
+
break;
|
19 |
+
}?>')"
|
20 |
+
style="background: url('<?php echo Mage::getDesign()->getSkinUrl('images/hcd/'); ?>masterpass_100_28.jpg'
|
21 |
+
) 0 0 no-repeat; height: 28px; width: 100px;"
|
22 |
+
></button>
|
app/design/frontend/base/default/layout/hcd.xml
CHANGED
@@ -11,7 +11,6 @@
|
|
11 |
<action method="addCss"><name>css/heidelpaycd.css</name></action>
|
12 |
</reference>
|
13 |
<reference name="content">
|
14 |
-
|
15 |
<block type="hcd/success" name="hcd_success" template="hcd/success.phtml" after="checkout.success" />
|
16 |
</reference>
|
17 |
</checkout_onepage_success>
|
@@ -24,4 +23,118 @@
|
|
24 |
</reference>
|
25 |
|
26 |
</hcd_index_index>
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
<action method="addCss"><name>css/heidelpaycd.css</name></action>
|
12 |
</reference>
|
13 |
<reference name="content">
|
|
|
14 |
<block type="hcd/success" name="hcd_success" template="hcd/success.phtml" after="checkout.success" />
|
15 |
</reference>
|
16 |
</checkout_onepage_success>
|
23 |
</reference>
|
24 |
|
25 |
</hcd_index_index>
|
26 |
+
|
27 |
+
<checkout_cart_index>
|
28 |
+
<reference name="head">
|
29 |
+
<action method="addJS"><name>hcd/heidelpaycd.js</name></action>
|
30 |
+
</reference>
|
31 |
+
<reference name="checkout.cart.top_methods">
|
32 |
+
<block type="hcd/abstract" name="hcdmpa.checkout.button.top"
|
33 |
+
before="-" template="hcd/button.phtml">
|
34 |
+
</block>
|
35 |
+
</reference>
|
36 |
+
|
37 |
+
<reference name="checkout.cart.methods">
|
38 |
+
<block type="hcd/abstract" name="hcdmpa.checkout.button"
|
39 |
+
after="checkout.cart.methods.onepage" template="hcd/button.phtml">
|
40 |
+
</block>
|
41 |
+
</reference>
|
42 |
+
|
43 |
+
<update handle="SHORTCUT_popup" />
|
44 |
+
</checkout_cart_index>
|
45 |
+
|
46 |
+
<hcd_checkout_index translate="label">
|
47 |
+
<!--Wallet_Checkout -->
|
48 |
+
<remove name="left"/>
|
49 |
+
<reference name="root">
|
50 |
+
<action method="setTemplate"><template>page/2columns-right.phtml</template></action>
|
51 |
+
</reference>
|
52 |
+
<reference name="head">
|
53 |
+
<action method="addCss"><name>css/heidelpaycd.css</name></action>
|
54 |
+
</reference>
|
55 |
+
<reference name="right">
|
56 |
+
<action method="unsetChildren"></action>
|
57 |
+
<block type="page/html_wrapper" name="checkout.progress.wrapper" translate="label">
|
58 |
+
<label>Checkout Progress Wrapper</label>
|
59 |
+
<action method="setElementId"><value>checkout-progress-wrapper</value></action>
|
60 |
+
<block type="checkout/onepage_progress" name="checkout.progress" before="-" template="hcd/onepage/progress.phtml">
|
61 |
+
<block type="checkout/onepage_progress" name="billing.progress" template="checkout/onepage/progress/billing.phtml"></block>
|
62 |
+
<block type="checkout/onepage_progress" name="shipping.progress" template="hcd/onepage/progress/shipping.phtml"></block>
|
63 |
+
<block type="checkout/onepage_progress" name="shippingmethod.progress" template="checkout/onepage/progress/shipping_method.phtml"></block>
|
64 |
+
<block type="checkout/onepage_progress" name="payment.progress" template="hcd/onepage/progress/payment.phtml"></block>
|
65 |
+
</block>
|
66 |
+
</block>
|
67 |
+
</reference>
|
68 |
+
<reference name="content">
|
69 |
+
<block type="hcd/onepage" name="checkout.onepage" template="hcd/onepage.phtml">
|
70 |
+
<block type="hcd/onepage_billing" name="checkout.onepage.billing" as="billing" template="hcd/onepage/billing.phtml"/>
|
71 |
+
<block type="checkout/onepage_shipping_method" name="checkout.onepage.shipping_method" as="shipping_method" template="hcd/onepage/shipping_method.phtml">
|
72 |
+
<block type="checkout/onepage_shipping_method_available" name="checkout.onepage.shipping_method.available" as="available" template="checkout/onepage/shipping_method/available.phtml"/>
|
73 |
+
<block type="checkout/onepage_shipping_method_additional" name="checkout.onepage.shipping_method.additional" as="additional" template="checkout/onepage/shipping_method/additional.phtml"/>
|
74 |
+
</block>
|
75 |
+
<block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="hcd/onepage/payment.phtml">
|
76 |
+
<block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/info.phtml">
|
77 |
+
<action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
|
78 |
+
</block>
|
79 |
+
</block>
|
80 |
+
<block type="checkout/onepage_review" name="checkout.onepage.review" as="review" template="checkout/onepage/review.phtml"/>
|
81 |
+
</block>
|
82 |
+
</reference>
|
83 |
+
</hcd_checkout_index>
|
84 |
+
|
85 |
+
<hcd_checkout_paymentmethod>
|
86 |
+
<remove name="right"/>
|
87 |
+
<remove name="left"/>
|
88 |
+
|
89 |
+
<block type="checkout/onepage_payment_methods" name="root" output="toHtml" template="hcd/onepage/payment/methods.phtml">
|
90 |
+
<action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
|
91 |
+
</block>
|
92 |
+
</hcd_checkout_paymentmethod>
|
93 |
+
|
94 |
+
<!-- Individual blocks for Progress steps begins -->
|
95 |
+
<hcd_checkout_progress_billing>
|
96 |
+
<!-- Mage_Checkout -->
|
97 |
+
<remove name="right"/>
|
98 |
+
<remove name="left"/>
|
99 |
+
|
100 |
+
<block type="checkout/onepage_progress" name="root" output="toHtml" template="checkout/onepage/progress/billing.phtml">
|
101 |
+
<action method="setInfoTemplate"><method></method><template></template></action>
|
102 |
+
</block>
|
103 |
+
</hcd_checkout_progress_billing>
|
104 |
+
|
105 |
+
|
106 |
+
<hcd_checkout_progress_shipping>
|
107 |
+
<!-- Mage_Checkout -->
|
108 |
+
<remove name="right"/>
|
109 |
+
<remove name="left"/>
|
110 |
+
|
111 |
+
<block type="checkout/onepage_progress" name="root" output="toHtml" template="hcd/onepage/progress/shipping.phtml">
|
112 |
+
<action method="setInfoTemplate"><method></method><template></template></action>
|
113 |
+
</block>
|
114 |
+
</hcd_checkout_progress_shipping>
|
115 |
+
|
116 |
+
|
117 |
+
<hcd_checkout_progress_shipping_method>
|
118 |
+
<!-- Mage_Checkout -->
|
119 |
+
<remove name="right"/>
|
120 |
+
<remove name="left"/>
|
121 |
+
|
122 |
+
<block type="checkout/onepage_progress" name="root" output="toHtml" template="checkout/onepage/progress/shipping_method.phtml">
|
123 |
+
<action method="setInfoTemplate"><method></method><template></template></action>
|
124 |
+
</block>
|
125 |
+
</hcd_checkout_progress_shipping_method>
|
126 |
+
|
127 |
+
<hcd_checkout_progress_payment>
|
128 |
+
<!-- Mage_Checkout -->
|
129 |
+
<remove name="right"/>
|
130 |
+
<remove name="left"/>
|
131 |
+
|
132 |
+
<block type="checkout/onepage_progress" name="root" output="toHtml" template="hcd/onepage/progress/payment.phtml">
|
133 |
+
<block type="checkout/onepage_payment_info" name="payment_info">
|
134 |
+
<action method="setInfoTemplate"><method></method><template></template></action>
|
135 |
+
</block>
|
136 |
+
<action method="setInfoTemplate"><method></method><template></template></action>
|
137 |
+
</block>
|
138 |
+
</hcd_checkout_progress_payment>
|
139 |
+
|
140 |
+
</layout>
|
app/design/frontend/base/default/template/hcd/Info/debit.phtml
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<button type="button" title="MasterPass"
|
2 |
+
class="btn-hcdmpa-info"
|
3 |
+
onclick="window.open('https://www.mastercard.com/mc_us/wallet/learnmore/<?php
|
4 |
+
$lang = Mage::app()->getLocale()->getLocaleCode();
|
5 |
+
switch ($lang) {
|
6 |
+
case 'de_DE':
|
7 |
+
case 'de_AT':
|
8 |
+
case 'de_CH':
|
9 |
+
echo 'de/DE';
|
10 |
+
break;
|
11 |
+
case 'fr_FR':
|
12 |
+
echo 'fr/FR';
|
13 |
+
break;
|
14 |
+
case 'en_GB':
|
15 |
+
case 'en_US':
|
16 |
+
default:
|
17 |
+
echo 'en/US';
|
18 |
+
break;
|
19 |
+
}?>')"
|
20 |
+
style="background: url('<?php echo Mage::getDesign()->getSkinUrl('images/hcd/'); ?>masterpass_100_28.jpg'
|
21 |
+
) 0 0 no-repeat;"
|
22 |
+
></button>
|
23 |
+
<div class="hcd-masterpass-payment-data-info"><?php echo $this->getMethod()->getPaymentData();?></div>
|
app/design/frontend/base/default/template/hcd/Info/masterpass.phtml
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<button type="button" title="MasterPass"
|
2 |
+
class="btn-hcdmpa-info"
|
3 |
+
onclick="window.open('https://www.mastercard.com/mc_us/wallet/learnmore/<?php
|
4 |
+
$lang = Mage::app()->getLocale()->getLocaleCode();
|
5 |
+
switch ($lang) {
|
6 |
+
case 'de_DE':
|
7 |
+
case 'de_AT':
|
8 |
+
case 'de_CH':
|
9 |
+
echo 'de/DE';
|
10 |
+
break;
|
11 |
+
case 'fr_FR':
|
12 |
+
echo 'fr/FR';
|
13 |
+
break;
|
14 |
+
case 'en_GB':
|
15 |
+
case 'en_US':
|
16 |
+
default:
|
17 |
+
echo 'en/US';
|
18 |
+
break;
|
19 |
+
}?>')"
|
20 |
+
style="background: url('<?php echo Mage::getDesign()->getSkinUrl('images/hcd/'); ?>masterpass_100_28.jpg'
|
21 |
+
) 0 0 no-repeat;"
|
22 |
+
></button>
|
23 |
+
<div class="hcd-masterpass-payment-data-info"><?php echo $this->getMethod()->getPaymentData();?></div>
|
app/design/frontend/base/default/template/hcd/button.phtml
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
|
4 |
+
if (Mage::getStoreConfig('payment/hcdmpa/active') == 1 and Mage::getSingleton('checkout/session')->getQuote()->isAllowedGuestCheckout()):?>
|
5 |
+
<style>
|
6 |
+
button.btn-hcdmpa {
|
7 |
+
border: 0;
|
8 |
+
height: 42px;
|
9 |
+
width: 180px;
|
10 |
+
background: url( <?php
|
11 |
+
$url = 'https://www.mastercard.com/mc_us/wallet/img/';
|
12 |
+
$url_end = '/mcpp_wllt_btn_chk_180x042px.png';
|
13 |
+
$lang = Mage::app()->getLocale()->getLocaleCode();
|
14 |
+
switch ($lang) {
|
15 |
+
case 'de_DE':
|
16 |
+
case 'de_AT':
|
17 |
+
case 'de_CH':
|
18 |
+
echo $url.'de/DE'.$url_end;
|
19 |
+
break;
|
20 |
+
case 'fr_FR':
|
21 |
+
echo $url.'fr/FR'.$url_end;
|
22 |
+
break;
|
23 |
+
case 'en_GB':
|
24 |
+
case 'en_US':
|
25 |
+
default:
|
26 |
+
echo $url.'en/US'.$url_end;
|
27 |
+
break;
|
28 |
+
}
|
29 |
+
?> ) 0 0 no-repeat;
|
30 |
+
padding: 0 0 0 9px;
|
31 |
+
font: bold 15px/40px Arial, Helvetica, sans-serif;
|
32 |
+
color: #fff;
|
33 |
+
cursor: pointer;
|
34 |
+
|
35 |
+
}
|
36 |
+
.masterpass-please-wait {
|
37 |
+
line-height: 24px;
|
38 |
+
white-space: nowrap;
|
39 |
+
}
|
40 |
+
|
41 |
+
</style>
|
42 |
+
<button type="button" title="MasterPass"
|
43 |
+
class="btn-hcdmpa" id="btn-hcdmpa"
|
44 |
+
onclick="Heidelpay.toggle.getInstance().button('<?php echo Mage::getUrl('hcd/index/wallet',array('_secure'=>true, '_wallet' =>'hcdmpa')); ?>')"
|
45 |
+
></button>
|
46 |
+
<span class="masterpass-please-wait" style="display: none;">
|
47 |
+
<img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Redirect to MasterPass ...') ?>" title="<?php echo $this->__('Redirect to MasterPass ...') ?>" class="v-middle" /> <?php echo $this->__('Redirect to MasterPass ...') ?>
|
48 |
+
</span>
|
49 |
+
<p><a href="https://www.mastercard.com/mc_us/wallet/learnmore/<?php
|
50 |
+
switch ($lang) {
|
51 |
+
case 'de_DE':
|
52 |
+
case 'de_AT':
|
53 |
+
case 'de_CH':
|
54 |
+
echo 'de/DE';
|
55 |
+
break;
|
56 |
+
case 'fr_FR':
|
57 |
+
echo 'fr/FR';
|
58 |
+
break;
|
59 |
+
case 'en_GB':
|
60 |
+
case 'en_US':
|
61 |
+
default:
|
62 |
+
echo 'en/US';
|
63 |
+
break;
|
64 |
+
}?>" target="_blank"><?php echo $this->__('about MasterPass') ?></a></p>
|
65 |
+
<?php endif ?>
|
app/design/frontend/base/default/template/hcd/form/masterpass.phtml
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$data = array();
|
3 |
+
$userData = array();
|
4 |
+
$payment = '';
|
5 |
+
|
6 |
+
$_code=$this->getMethodCode();
|
7 |
+
|
8 |
+
?>
|
9 |
+
<div class="form-list hcd-payment-info" id="payment_form_<?php echo $_code ?>" style="display: none;">
|
10 |
+
<div class="hcd-payment-desc" style="border-left: 0px;">
|
11 |
+
<button type="button" title="MasterPass"
|
12 |
+
class="btn-hcdmpa-payment-data"
|
13 |
+
onclick="window.open('https://www.mastercard.com/mc_us/wallet/learnmore/<?php
|
14 |
+
$lang = Mage::app()->getLocale()->getLocaleCode();
|
15 |
+
switch ($lang) {
|
16 |
+
case 'de_DE':
|
17 |
+
case 'de_AT':
|
18 |
+
case 'de_CH':
|
19 |
+
echo 'de/DE';
|
20 |
+
break;
|
21 |
+
case 'fr_FR':
|
22 |
+
echo 'fr/FR';
|
23 |
+
break;
|
24 |
+
case 'en_GB':
|
25 |
+
default:
|
26 |
+
echo 'en/US';
|
27 |
+
break;
|
28 |
+
}?>')"
|
29 |
+
></button>
|
30 |
+
<div class="hcd-masterpass-payment-data">
|
31 |
+
<?php
|
32 |
+
$mpadata = $this->getMethod()->getPaymentData();
|
33 |
+
if (!empty($mpadata)) {
|
34 |
+
echo $mpadata ;
|
35 |
+
} else {
|
36 |
+
echo '<p>'.$this->__('Deschcdmpa').'</p>';
|
37 |
+
} ?>
|
38 |
+
</div>
|
39 |
+
|
40 |
+
|
41 |
+
</div>
|
42 |
+
</div>
|
app/design/frontend/base/default/template/hcd/mail/hcd_payment_info.phtml
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!-- Heidelpay info area for creditmemo mails -->
|
2 |
+
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
3 |
+
<thead>
|
4 |
+
<tr>
|
5 |
+
<th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Zahlungsinformation:</th>
|
6 |
+
</tr>
|
7 |
+
</thead>
|
8 |
+
<tbody>
|
9 |
+
<tr>
|
10 |
+
<td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
|
11 |
+
{PAYMENTINFO}
|
12 |
+
|
13 |
+
</td>
|
14 |
+
</tr>
|
15 |
+
</tbody>
|
16 |
+
</table>
|
app/design/frontend/base/default/template/hcd/onepage.phtml
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="page-title">
|
2 |
+
<h1 style="vertical-align: middle; height: 40px;"><img src="<?php echo Mage::getDesign()->getSkinUrl('images/hcd/') ?>masterpass_240_66.jpg" alt="MasterPass" style="display: inline; height: 40px;" /> Checkout</h1>
|
3 |
+
</div>
|
4 |
+
<script type="text/javascript" src="<?php echo $this->getJsUrl('varien/accordion.js') ?>"></script>
|
5 |
+
<script type="text/javascript" src="<?php echo $this->getJsUrl('hcd/opcheckout.js') ?>"></script>
|
6 |
+
<ol class="opc" id="checkoutSteps">
|
7 |
+
<?php $i=0; foreach($this->getSteps() as $_stepId => $_stepInfo): ?>
|
8 |
+
<?php if (!$this->getChild($_stepId) || !$this->getChild($_stepId)->isShow()): continue; endif; $i++ ?>
|
9 |
+
<li id="opc-<?php echo $_stepId ?>" class="section<?php echo !empty($_stepInfo['allow'])?' allow':'' ?><?php echo !empty($_stepInfo['complete'])?' saved':'' ?>">
|
10 |
+
<div class="step-title">
|
11 |
+
<span class="number"><?php echo $i ?></span>
|
12 |
+
<h2><?php echo $_stepInfo['label'] ?></h2>
|
13 |
+
<a href="#"><?php echo $this->__('Edit') ?></a>
|
14 |
+
</div>
|
15 |
+
<div id="checkout-step-<?php echo $_stepId ?>" class="step a-item" style="display:none;">
|
16 |
+
<?php echo $this->getChildHtml($_stepId) ?>
|
17 |
+
</div>
|
18 |
+
</li>
|
19 |
+
<?php endforeach ?>
|
20 |
+
</ol>
|
21 |
+
<script type="text/javascript">
|
22 |
+
//<![CDATA[
|
23 |
+
var accordion = new Accordion('checkoutSteps', '.step-title', true);
|
24 |
+
<?php if($this->getActiveStep()): ?>
|
25 |
+
accordion.openSection('opc-<?php echo $this->getActiveStep() ?>');
|
26 |
+
<?php endif ?>
|
27 |
+
var checkout = new Checkout(accordion,{
|
28 |
+
progress: '<?php echo $this->getUrl('hcd/checkout/progress') ?>',
|
29 |
+
review: '<?php echo $this->getUrl('hcd/checkout/review') ?>',
|
30 |
+
saveMethod: '<?php echo $this->getUrl('hcd/checkout/saveMethod') ?>',
|
31 |
+
failure: '<?php echo $this->getUrl('checkout/cart') ?>'}
|
32 |
+
);
|
33 |
+
var payment = new Payment('co-payment-form', '<?php echo $this->getUrl('hcd/checkout/savePayment') ?>');
|
34 |
+
//]]>
|
35 |
+
</script>
|
app/design/frontend/base/default/template/hcd/onepage/billing.phtml
ADDED
@@ -0,0 +1,168 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form id="co-billing-form" action="">
|
2 |
+
<fieldset>
|
3 |
+
<ul class="form-list">
|
4 |
+
<?php if ($this->customerHasAddresses()): ?>
|
5 |
+
<li class="wide">
|
6 |
+
<label for="billing-address-select"><?php echo $this->__('Select a billing address from your address book or enter a new address.') ?></label>
|
7 |
+
<div class="input-box">
|
8 |
+
<?php echo $this->getAddressesHtmlSelect('billing') ?>
|
9 |
+
</div>
|
10 |
+
</li>
|
11 |
+
<?php endif; ?>
|
12 |
+
<li id="billing-new-address-form">
|
13 |
+
<fieldset>
|
14 |
+
<input type="hidden" name="billing[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="billing:address_id" />
|
15 |
+
<ul>
|
16 |
+
<li class="fields"><?php echo $this->getLayout()->createBlock('customer/widget_name')->setObject($this->getAddress()->getFirstname() ? $this->getAddress() : $this->getQuote()->getCustomer())->setForceUseCustomerRequiredAttributes(!$this->isCustomerLoggedIn())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?></li>
|
17 |
+
<li class="fields">
|
18 |
+
<div class="field">
|
19 |
+
<label for="billing:company"><?php echo $this->__('Company') ?></label>
|
20 |
+
<div class="input-box">
|
21 |
+
<input type="text" id="billing:company" name="billing[company]" value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>" title="<?php echo $this->__('Company') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('company') ?>" />
|
22 |
+
</div>
|
23 |
+
</div>
|
24 |
+
<?php if(!$this->isCustomerLoggedIn()): ?>
|
25 |
+
<div class="field">
|
26 |
+
<label for="billing:email" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
|
27 |
+
<div class="input-box">
|
28 |
+
<input type="text" name="billing[email]" id="billing:email" value="<?php echo $this->escapeHtml($this->getAddress()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="input-text validate-email required-entry" />
|
29 |
+
</div>
|
30 |
+
</div>
|
31 |
+
<?php endif; ?>
|
32 |
+
</li>
|
33 |
+
<?php $_streetValidationClass = $this->helper('customer/address')->getAttributeValidationClass('street'); ?>
|
34 |
+
<li class="wide">
|
35 |
+
<label for="billing:street1" class="required"><em>*</em><?php echo $this->__('Address') ?></label>
|
36 |
+
<div class="input-box">
|
37 |
+
<input type="text" title="<?php echo $this->__('Street Address') ?>" name="billing[street][]" id="billing:street1" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet(1)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
|
38 |
+
</div>
|
39 |
+
</li>
|
40 |
+
<?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
|
41 |
+
<?php for ($_i = 2, $_n = $this->helper('customer/address')->getStreetLines(); $_i <= $_n; $_i++): ?>
|
42 |
+
<li class="wide">
|
43 |
+
<div class="input-box">
|
44 |
+
<input type="text" title="<?php echo $this->__('Street Address %s', $_i) ?>" name="billing[street][]" id="billing:street<?php echo $_i ?>" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet($_i)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
|
45 |
+
</div>
|
46 |
+
</li>
|
47 |
+
<?php endfor; ?>
|
48 |
+
<?php if ($this->helper('customer/address')->isVatAttributeVisible()) : ?>
|
49 |
+
<li class="wide">
|
50 |
+
<label for="billing:vat_id"><?php echo $this->__('VAT Number') ?></label>
|
51 |
+
<div class="input-box">
|
52 |
+
<input type="text" id="billing:vat_id" name="billing[vat_id]" value="<?php echo $this->escapeHtml($this->getAddress()->getVatId()) ?>" title="<?php echo $this->__('VAT Number') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('vat_id') ?>" />
|
53 |
+
</div>
|
54 |
+
</li>
|
55 |
+
<?php endif; ?>
|
56 |
+
<li class="fields">
|
57 |
+
<div class="field">
|
58 |
+
<label for="billing:city" class="required"><em>*</em><?php echo $this->__('City') ?></label>
|
59 |
+
<div class="input-box">
|
60 |
+
<input type="text" title="<?php echo $this->__('City') ?>" name="billing[city]" value="<?php echo $this->escapeHtml($this->getAddress()->getCity()) ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('city') ?>" id="billing:city" />
|
61 |
+
</div>
|
62 |
+
</div>
|
63 |
+
<div class="field">
|
64 |
+
<label for="billing:region_id" class="required"><em>*</em><?php echo $this->__('State/Province') ?></label>
|
65 |
+
<div class="input-box">
|
66 |
+
<select id="billing:region_id" name="billing[region_id]" title="<?php echo $this->__('State/Province') ?>" class="validate-select" style="display:none;">
|
67 |
+
<option value=""><?php echo $this->__('Please select region, state or province') ?></option>
|
68 |
+
</select>
|
69 |
+
<script type="text/javascript">
|
70 |
+
//<![CDATA[
|
71 |
+
$('billing:region_id').setAttribute('defaultValue', "<?php echo $this->getAddress()->getRegionId() ?>");
|
72 |
+
//]]>
|
73 |
+
</script>
|
74 |
+
<input type="text" id="billing:region" name="billing[region]" value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>" title="<?php echo $this->__('State/Province') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('region') ?>" style="display:none;" />
|
75 |
+
</div>
|
76 |
+
</div>
|
77 |
+
</li>
|
78 |
+
<li class="fields">
|
79 |
+
<div class="field">
|
80 |
+
<label for="billing:postcode" class="required"><em>*</em><?php echo $this->__('Zip/Postal Code') ?></label>
|
81 |
+
<div class="input-box">
|
82 |
+
<input type="text" title="<?php echo $this->__('Zip/Postal Code') ?>" name="billing[postcode]" id="billing:postcode" value="<?php echo $this->escapeHtml($this->getAddress()->getPostcode()) ?>" class="input-text validate-zip-international <?php echo $this->helper('customer/address')->getAttributeValidationClass('postcode') ?>" />
|
83 |
+
</div>
|
84 |
+
</div>
|
85 |
+
<div class="field">
|
86 |
+
<label for="billing:country_id" class="required"><em>*</em><?php echo $this->__('Country') ?></label>
|
87 |
+
<div class="input-box">
|
88 |
+
<?php echo $this->getCountryHtmlSelect('billing') ?>
|
89 |
+
</div>
|
90 |
+
</div>
|
91 |
+
</li>
|
92 |
+
<li class="fields">
|
93 |
+
<div class="field">
|
94 |
+
<label for="billing:telephone" class="required"><em>*</em><?php echo $this->__('Telephone') ?></label>
|
95 |
+
<div class="input-box">
|
96 |
+
<input type="text" name="billing[telephone]" value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>" title="<?php echo $this->__('Telephone') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('telephone') ?>" id="billing:telephone" />
|
97 |
+
</div>
|
98 |
+
</div>
|
99 |
+
<div class="field">
|
100 |
+
<label for="billing:fax"><?php echo $this->__('Fax') ?></label>
|
101 |
+
<div class="input-box">
|
102 |
+
<input type="text" name="billing[fax]" value="<?php echo $this->escapeHtml($this->getAddress()->getFax()) ?>" title="<?php echo $this->__('Fax') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('fax') ?>" id="billing:fax" />
|
103 |
+
</div>
|
104 |
+
</div>
|
105 |
+
</li>
|
106 |
+
<?php if(!$this->isCustomerLoggedIn()): ?>
|
107 |
+
|
108 |
+
<?php $_dob = $this->getLayout()->createBlock('customer/widget_dob') ?>
|
109 |
+
<?php $_gender = $this->getLayout()->createBlock('customer/widget_gender') ?>
|
110 |
+
<?php if ($_dob->isEnabled() || $_gender->isEnabled()): ?>
|
111 |
+
<li class="fields">
|
112 |
+
<?php if ($_dob->isEnabled()): ?>
|
113 |
+
<div class="field">
|
114 |
+
<?php echo $_dob->setDate($this->getQuote()->getCustomerDob())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
|
115 |
+
</div>
|
116 |
+
<?php endif; ?>
|
117 |
+
<?php if ($_gender->isEnabled()): ?>
|
118 |
+
<div class="field">
|
119 |
+
<?php echo $_gender->setGender($this->getQuote()->getCustomerGender())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
|
120 |
+
</div>
|
121 |
+
<?php endif ?>
|
122 |
+
</li>
|
123 |
+
<?php endif ?>
|
124 |
+
|
125 |
+
<?php $_taxvat = $this->getLayout()->createBlock('customer/widget_taxvat') ?>
|
126 |
+
<?php if ($_taxvat->isEnabled()): ?>
|
127 |
+
<li>
|
128 |
+
<?php echo $_taxvat->setTaxvat($this->getQuote()->getCustomerTaxvat())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
|
129 |
+
</li>
|
130 |
+
<?php endif ?>
|
131 |
+
<?php endif; ?>
|
132 |
+
<li class="no-display"><input type="hidden" name="billing[save_in_address_book]" value="1" /></li>
|
133 |
+
<?php echo $this->getChildHtml('form.additional.info'); ?>
|
134 |
+
</ul>
|
135 |
+
</fieldset>
|
136 |
+
</li>
|
137 |
+
<?php /* Extensions placeholder */ ?>
|
138 |
+
<?php echo $this->getChildHtml('checkout.onepage.billing.extra')?>
|
139 |
+
<?php if ($this->canShip()): ?>
|
140 |
+
<li class="control">
|
141 |
+
<input type="hidden" name="billing[use_for_shipping]" id="billing:use_for_shipping_no" value="0" checked="checked" title="<?php echo $this->__('Ship to different address') ?>" class="radio" />
|
142 |
+
</li>
|
143 |
+
<?php endif; ?>
|
144 |
+
</ul>
|
145 |
+
<?php if (!$this->canShip()): ?>
|
146 |
+
<input type="hidden" name="billing[use_for_shipping]" value="1" />
|
147 |
+
<?php endif; ?>
|
148 |
+
<div class="buttons-set" id="billing-buttons-container">
|
149 |
+
<p class="required"><?php echo $this->__('* Required Fields') ?></p>
|
150 |
+
<button type="button" title="<?php echo $this->__('Continue') ?>" class="button" onclick="billing.save()"><span><span><?php echo $this->__('Continue') ?></span></span></button>
|
151 |
+
<span class="please-wait" id="billing-please-wait" style="display:none;">
|
152 |
+
<img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Loading next step...') ?>" title="<?php echo $this->__('Loading next step...') ?>" class="v-middle" /> <?php echo $this->__('Loading next step...') ?>
|
153 |
+
</span>
|
154 |
+
</div>
|
155 |
+
</fieldset>
|
156 |
+
</form>
|
157 |
+
<script type="text/javascript">
|
158 |
+
//<![CDATA[
|
159 |
+
var billing = new Billing('co-billing-form', '<?php echo $this->getUrl('hcd/checkout/getAddress') ?>address/', '<?php echo $this->getUrl('hcd/checkout/saveBilling') ?>');
|
160 |
+
var shipping = new Shipping('co-billing-form', '<?php echo $this->getUrl('hcd/checkout/getAddress') ?>address/', '<?php echo $this->getUrl('hcd/checkout/saveShipping') ?>');
|
161 |
+
var billingForm = new VarienForm('co-billing-form');
|
162 |
+
|
163 |
+
//billingForm.setElementsRelation('billing:country_id', 'billing:region', '<?php echo $this->getUrl('directory/json/childRegion') ?>', '<?php echo $this->__('Select State/Province...') ?>');
|
164 |
+
$('billing-address-select') && billing.newAddress(!$('billing-address-select').value);
|
165 |
+
|
166 |
+
var billingRegionUpdater = new RegionUpdater('billing:country_id', 'billing:region', 'billing:region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'billing:postcode');
|
167 |
+
//]]>
|
168 |
+
</script>
|
app/design/frontend/base/default/template/hcd/onepage/payment.phtml
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script type="text/javascript">
|
2 |
+
//<![CDATA[
|
3 |
+
var quoteBaseGrandTotal = <?php echo (float)$this->getQuoteBaseGrandTotal(); ?>;
|
4 |
+
var checkQuoteBaseGrandTotal = quoteBaseGrandTotal;
|
5 |
+
var payment = new Payment('co-payment-form', '<?php echo $this->getUrl('hcd/checkout/savePayment') ?>');
|
6 |
+
var lastPrice;
|
7 |
+
//]]>
|
8 |
+
</script>
|
9 |
+
<form action="" id="co-payment-form">
|
10 |
+
<fieldset>
|
11 |
+
<?php echo $this->getChildHtml('methods') ?>
|
12 |
+
</fieldset>
|
13 |
+
</form>
|
14 |
+
<div class="tool-tip" id="payment-tool-tip" style="display:none;">
|
15 |
+
<div class="btn-close"><a href="#" id="payment-tool-tip-close" title="<?php echo $this->__('Close') ?>"><?php echo $this->__('Close') ?></a></div>
|
16 |
+
<div class="tool-tip-content"><img src="<?php echo $this->getSkinUrl('images/cvv.gif') ?>" alt="<?php echo $this->__('Card Verification Number Visual Reference') ?>" title="<?php echo $this->__('Card Verification Number Visual Reference') ?>" /></div>
|
17 |
+
</div>
|
18 |
+
<div class="buttons-set" id="payment-buttons-container">
|
19 |
+
<p class="required"><?php echo $this->__('* Required Fields') ?></p>
|
20 |
+
<p class="back-link"><a href="#" onclick="checkout.back(); return false;"><small>« </small><?php echo $this->__('Back') ?></a></p>
|
21 |
+
<button type="button" class="button" onclick="payment.save()"><span><span><?php echo $this->__('Continue') ?></span></span></button>
|
22 |
+
<span class="please-wait" id="payment-please-wait" style="display:none;">
|
23 |
+
<img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Loading next step...') ?>" title="<?php echo $this->__('Loading next step...') ?>" class="v-middle" /> <?php echo $this->__('Loading next step...') ?>
|
24 |
+
</span>
|
25 |
+
</div>
|
26 |
+
<script type="text/javascript">
|
27 |
+
//<![CDATA[
|
28 |
+
function toggleToolTip(event){
|
29 |
+
if($('payment-tool-tip')){
|
30 |
+
$('payment-tool-tip').setStyle({
|
31 |
+
top: (Event.pointerY(event)-560)+'px'//,
|
32 |
+
//left: (Event.pointerX(event)+100)+'px'
|
33 |
+
})
|
34 |
+
$('payment-tool-tip').toggle();
|
35 |
+
}
|
36 |
+
Event.stop(event);
|
37 |
+
}
|
38 |
+
if($('payment-tool-tip-close')){
|
39 |
+
Event.observe($('payment-tool-tip-close'), 'click', toggleToolTip);
|
40 |
+
}
|
41 |
+
//]]>
|
42 |
+
</script>
|
43 |
+
<script type="text/javascript">
|
44 |
+
//<![CDATA[
|
45 |
+
payment.currentMethod = "<?php echo $this->getChild('methods')->getSelectedMethodCode() ?>";
|
46 |
+
//]]>
|
47 |
+
</script>
|
app/design/frontend/base/default/template/hcd/onepage/payment/methods.phtml
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2006-2014 X.commerce, Inc. (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php
|
28 |
+
/**
|
29 |
+
* One page checkout payment methods
|
30 |
+
*
|
31 |
+
* @var $this Mage_Checkout_Block_Onepage_Payment_Methods
|
32 |
+
*/
|
33 |
+
?>
|
34 |
+
|
35 |
+
<?php
|
36 |
+
$methods = $this->getMethods();
|
37 |
+
|
38 |
+
$oneMethod = 1;
|
39 |
+
?>
|
40 |
+
<?php if (empty($methods)): ?>
|
41 |
+
<dt>
|
42 |
+
<?php echo $this->__('No Payment Methods') ?>
|
43 |
+
</dt>
|
44 |
+
<?php else:
|
45 |
+
foreach ($methods as $_method):
|
46 |
+
$_code = $_method->getCode();
|
47 |
+
if ( $_code != "hcdmpa") continue;
|
48 |
+
?>
|
49 |
+
<dt>
|
50 |
+
<?php if(!$oneMethod): ?>
|
51 |
+
<input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" title="<?php echo $this->escapeHtml($_method->getTitle()) ?>" onclick="payment.switchMethod('<?php echo $_code ?>')"<?php if($this->getSelectedMethodCode()==$_code): ?> checked="checked"<?php endif; ?> class="radio" />
|
52 |
+
<?php else: ?>
|
53 |
+
<span class="no-display"><input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" checked="checked" class="radio" /></span>
|
54 |
+
<?php $oneMethod = $_code; ?>
|
55 |
+
<?php endif; ?>
|
56 |
+
<label for="p_method_<?php echo $_code ?>"><?php echo $this->escapeHtml($this->getMethodTitle($_method)) ?> <?php echo $this->getMethodLabelAfterHtml($_method) ?></label>
|
57 |
+
</dt>
|
58 |
+
<?php if ($html = $this->getPaymentMethodFormHtml($_method)): ?>
|
59 |
+
<dd>
|
60 |
+
<?php echo $html; ?>
|
61 |
+
</dd>
|
62 |
+
<?php endif; ?>
|
63 |
+
<?php endforeach;
|
64 |
+
endif;
|
65 |
+
?>
|
66 |
+
<?php echo $this->getChildChildHtml('additional'); ?>
|
67 |
+
<script type="text/javascript">
|
68 |
+
//<![CDATA[
|
69 |
+
<?php echo $this->getChildChildHtml('scripts'); ?>
|
70 |
+
payment.init();
|
71 |
+
<?php if (is_string($oneMethod)): ?>
|
72 |
+
payment.switchMethod('<?php echo $oneMethod ?>');
|
73 |
+
<?php endif; ?>
|
74 |
+
//]]>
|
75 |
+
</script>
|
app/design/frontend/base/default/template/hcd/onepage/progress.phtml
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="block block-progress opc-block-progress" sytle="opacity: 1;">
|
2 |
+
<div class="block-title">
|
3 |
+
<strong><span><?php echo $this->__('Your Checkout Progress') ?></span></strong>
|
4 |
+
</div>
|
5 |
+
<div class="block-content">
|
6 |
+
<dl>
|
7 |
+
<?php if ($this->getCheckout()->getStepData('billing', 'is_show')): ?>
|
8 |
+
<div id="billing-progress-opcheckout">
|
9 |
+
<?php echo $this->getChildHtml('billing.progress') ?>
|
10 |
+
</div>
|
11 |
+
<?php endif; ?>
|
12 |
+
|
13 |
+
<?php if (!$this->getCheckout()->getQuote()->isVirtual()): ?>
|
14 |
+
<div id="shipping-progress-opcheckout">
|
15 |
+
<?php echo $this->getChildHtml('shipping.progress') ?>
|
16 |
+
</div>
|
17 |
+
<?php endif; ?>
|
18 |
+
|
19 |
+
<?php if ($this->getCheckout()->getStepData('shipping_method', 'is_show')): ?>
|
20 |
+
<div id="shipping_method-progress-opcheckout">
|
21 |
+
<?php echo $this->getChildHtml('shippingmethod.progress') ?>
|
22 |
+
</div>
|
23 |
+
<?php endif; ?>
|
24 |
+
|
25 |
+
<?php if (true == true): ?>
|
26 |
+
<div id="payment-progress-opcheckout">
|
27 |
+
<?php echo $this->getChildHtml('payment.progress') ?>
|
28 |
+
</div>
|
29 |
+
<?php endif; ?>
|
30 |
+
</dl>
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
|
app/design/frontend/base/default/template/hcd/onepage/progress/payment.phtml
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ($this->getCheckout()->getStepData('payment', 'complete')): ?>
|
2 |
+
<dt class="complete">
|
3 |
+
<?php echo $this->__('Payment Method') ?><span class="changelink"> <span class="separator">|</span> <a
|
4 |
+
href="<?php echo Mage::getUrl('hcd/index/wallet',array('_secure'=>true, '_wallet' =>'hcdmpa')); ?>"
|
5 |
+
onclick="window.location='<?php echo Mage::getUrl('hcd/index/wallet',array('_secure'=>true, '_wallet' =>'hcdmpa')); ?>';" style="text-transform: none; size: 10px; display: block;"><?php echo Mage::helper('hcd')->__('Change at MasterPass') ?> </a></span>
|
6 |
+
</dt>
|
7 |
+
<dd>
|
8 |
+
<button type="button" title="MasterPass"
|
9 |
+
class="btn-hcdmpa-info"
|
10 |
+
onclick="window.open('https://www.mastercard.com/mc_us/wallet/learnmore/<?php
|
11 |
+
$lang = Mage::app()->getLocale()->getLocaleCode();
|
12 |
+
switch ($lang) {
|
13 |
+
case 'de_DE':
|
14 |
+
case 'de_AT':
|
15 |
+
case 'de_CH':
|
16 |
+
echo 'de/DE';
|
17 |
+
break;
|
18 |
+
case 'fr_FR':
|
19 |
+
echo 'fr/FR';
|
20 |
+
break;
|
21 |
+
case 'en_GB':
|
22 |
+
case 'en_US':
|
23 |
+
default:
|
24 |
+
echo 'en/US';
|
25 |
+
break;
|
26 |
+
}?>')"
|
27 |
+
style="background: url('<?php echo Mage::getDesign()->getSkinUrl('images/hcd/'); ?>masterpass_100_28.jpg'
|
28 |
+
) 0 0 no-repeat;"
|
29 |
+
></button>
|
30 |
+
<div class="hcd-masterpass-payment-data-info"><?php
|
31 |
+
$session = Mage::getSingleton('checkout/session');
|
32 |
+
|
33 |
+
if ($session->getHcdWallet() !== false) {
|
34 |
+
|
35 |
+
$hpdata = $session->getHcdWallet();
|
36 |
+
|
37 |
+
echo (array_key_exists('mail', $hpdata)) ? $hpdata['mail'].'<br />' : '' ;
|
38 |
+
echo (array_key_exists('brand', $hpdata)) ? Mage::helper('hcd')->__($hpdata['brand']).' ' : '' ;
|
39 |
+
echo (array_key_exists('number', $hpdata)) ? $hpdata['number'].'<br/>' : '' ;
|
40 |
+
echo (array_key_exists('expiryMonth', $hpdata)) ? Mage::helper('hcd')->__('Expires').' '.$hpdata['expiryMonth'].'/' : '' ;
|
41 |
+
echo (array_key_exists('expiryYear', $hpdata)) ? $hpdata['expiryYear'] : '' ;
|
42 |
+
}
|
43 |
+
|
44 |
+
?></div>
|
45 |
+
</dd>
|
46 |
+
<?php else: ?>
|
47 |
+
<dt>
|
48 |
+
<?php echo $this->__('Payment Method') ?>
|
49 |
+
</dt>
|
50 |
+
<?php endif; ?>
|
51 |
+
|
app/design/frontend/base/default/template/hcd/onepage/progress/shipping.phtml
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2006-2014 X.commerce, Inc. (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php if ($this->getCheckout()->getStepData('shipping', 'complete')): ?>
|
28 |
+
<?php $completeClass = $this->getCheckout()->getStepData('shipping', 'complete') ? 'complete' : ''; ?>
|
29 |
+
<dt class="<?php echo $completeClass ?>">
|
30 |
+
<?php echo $this->__('Shipping Address') ?> <span class="changelink" ><span class="separator">|</span> <a
|
31 |
+
href="<?php echo Mage::getUrl('hcd/index/wallet',array('_secure'=>true, '_wallet' =>'hcdmpa')); ?>"
|
32 |
+
onclick="window.location='<?php echo Mage::getUrl('hcd/index/wallet',array('_secure'=>true, '_wallet' =>'hcdmpa')); ?>';" style="text-transform: none; size: 10px; display: block;"><?php echo Mage::helper('hcd')->__('Change at MasterPass') ?></a></span>
|
33 |
+
</dt>
|
34 |
+
<dd class="<?php echo $completeClass ?>">
|
35 |
+
<?php if ($this->getCheckout()->getStepData('shipping', 'complete')): ?>
|
36 |
+
<address><?php echo $this->getShipping()->format('html') ?></address>
|
37 |
+
<?php endif; ?>
|
38 |
+
</dd>
|
39 |
+
<?php else: ?>
|
40 |
+
<dt>
|
41 |
+
<?php echo $this->__('Shipping Address') ?>
|
42 |
+
</dt>
|
43 |
+
<?php endif; ?>
|
44 |
+
|
app/design/frontend/base/default/template/hcd/onepage/shipping_method.phtml
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form id="co-shipping-method-form" action="">
|
2 |
+
<div id="checkout-shipping-method-load">
|
3 |
+
<!-- Content loaded dynamically -->
|
4 |
+
</div>
|
5 |
+
<script type="text/javascript">
|
6 |
+
//<![CDATA[
|
7 |
+
var shippingMethod = new ShippingMethod('co-shipping-method-form', "<?php echo $this->getUrl('hcd/checkout/saveShippingMethod') ?>");
|
8 |
+
//]]>
|
9 |
+
</script>
|
10 |
+
<div id="onepage-checkout-shipping-method-additional-load">
|
11 |
+
<?php echo $this->getChildHtml('additional') ?>
|
12 |
+
</div>
|
13 |
+
<div class="buttons-set" id="shipping-method-buttons-container">
|
14 |
+
<p class="back-link"><a href="#" onclick="checkout.back(); return false;"><small>« </small><?php echo $this->__('Back') ?></a></p>
|
15 |
+
<button type="button" class="button" onclick="shippingMethod.save()"><span><span><?php echo $this->__('Continue') ?></span></span></button>
|
16 |
+
<span id="shipping-method-please-wait" class="please-wait" style="display:none;">
|
17 |
+
<img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Loading next step...') ?>" title="<?php echo $this->__('Loading next step...') ?>" class="v-middle" /> <?php echo $this->__('Loading next step...') ?>
|
18 |
+
</span>
|
19 |
+
</div>
|
20 |
+
</form>
|
app/locale/de_DE/HeidelpayCD_Edition.csv
CHANGED
@@ -1,150 +1,177 @@
|
|
1 |
-
"Redirect to payment process","Weiterleitung zum Bezahlsystem"
|
2 |
-
"Please confirm your payment:","Bitte führen Sie nun die Zahlung durch:"
|
3 |
-
"Card brand","Kartentyp"
|
4 |
-
"Card number","Kartennr."
|
5 |
-
"Card holder","Karteninhaber"
|
6 |
-
"Card expiry","Ablaufdatum"
|
7 |
-
"month","Monat"
|
8 |
-
"year","Jahr"
|
9 |
-
"Verification number","Prüfnummer"
|
10 |
-
"pay now","Jetzt Bezahlen"
|
11 |
-
"payment informations","Zahlungsinformationen - "
|
12 |
-
"Automatically invoiced by Heidelpay.","Automatische Rechnungserstellung durch Heidelpay."
|
13 |
-
"Automatically invoiced","Automatische Rechnungserstellung und Versand"
|
14 |
-
"
|
15 |
-
"Recognition","Wiederkennung"
|
16 |
-
"Sort order","Reihenfolge"
|
17 |
-
"Minimum Amount (CENT)","Minimal Betrag in Cent"
|
18 |
-
"Maximum Amount (CENT)","Maximal Betrag in Cent"
|
19 |
-
"allow specific countries","Erlaubte Länder"
|
20 |
-
"specific countries","Länderauswahl"
|
21 |
-
"always","Immer"
|
22 |
-
"no recognition","keine Wiedererkennung"
|
23 |
-
"only if shippping adress is unchanged","nur bei gleichbleibender Lieferaddresse"
|
24 |
-
"Prepayment Info Text","Bitte überweisen Sie uns den Betrag von <strong>{AMOUNT} {CURRENCY}</strong> auf folgendes Konto:<br/><br/>
|
25 |
-
Kontoinhaber: {CONNECTOR_ACCOUNT_HOLDER}<br/>
|
26 |
-
IBAN: {CONNECTOR_ACCOUNT_IBAN}<br/>
|
27 |
-
BIC: {CONNECTOR_ACCOUNT_BIC}<br/><br/>
|
28 |
-
<i>Geben Sie als Verwendungszweck bitte ausschließlich diese Identifikationsnummer an:</i><br/>
|
29 |
-
<strong>{IDENTIFICATION_SHORTID}</strong>"
|
30 |
-
"Direct Debit Info Text","Der Betrag von <strong>{AMOUNT} {CURRENCY}</strong> wird in den nächsten Tagen von folgendem Konto abgebucht:<br /><br />
|
31 |
-
IBAN: {Iban}<br />
|
32 |
-
BIC: {Bic}<br /><br />
|
33 |
-
<i>Die Abbuchung enthält die Mandatsreferenz-ID: {Ident}<br />
|
34 |
-
und die Gläubiger ID: {CreditorId}</i><br />
|
35 |
-
<br />
|
36 |
-
Bitte sorgen Sie für ausreichende Deckung auf dem entsprechenden Konto."
|
37 |
-
"
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
"
|
43 |
-
"
|
44 |
-
|
45 |
-
"
|
46 |
-
"
|
47 |
-
"
|
48 |
-
"Direct
|
49 |
-
"
|
50 |
-
"
|
51 |
-
|
52 |
-
"
|
53 |
-
"
|
54 |
-
"
|
55 |
-
"
|
56 |
-
"
|
57 |
-
"
|
58 |
-
|
59 |
-
"
|
60 |
-
"
|
61 |
-
"
|
62 |
-
"
|
63 |
-
"
|
64 |
-
"
|
65 |
-
"
|
66 |
-
"
|
67 |
-
"
|
68 |
-
"
|
69 |
-
"
|
70 |
-
"
|
71 |
-
"
|
72 |
-
|
73 |
-
|
74 |
-
"
|
75 |
-
"
|
76 |
-
"
|
77 |
-
"
|
78 |
-
"
|
79 |
-
"
|
80 |
-
"
|
81 |
-
"
|
82 |
-
"
|
83 |
-
"
|
84 |
-
"
|
85 |
-
"
|
86 |
-
"
|
87 |
-
"
|
88 |
-
|
89 |
-
|
90 |
-
"
|
91 |
-
"
|
92 |
-
"
|
93 |
-
"
|
94 |
-
"
|
95 |
-
"
|
96 |
-
"
|
97 |
-
"
|
98 |
-
"
|
99 |
-
"
|
100 |
-
"
|
101 |
-
"
|
102 |
-
"
|
103 |
-
|
104 |
-
"
|
105 |
-
|
106 |
-
"
|
107 |
-
"
|
108 |
-
"
|
109 |
-
"
|
110 |
-
"
|
111 |
-
"
|
112 |
-
"
|
113 |
-
"
|
114 |
-
"
|
115 |
-
"
|
116 |
-
"
|
117 |
-
"
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
"
|
126 |
-
"Account
|
127 |
-
"
|
128 |
-
|
129 |
-
"
|
130 |
-
"
|
131 |
-
"
|
132 |
-
|
133 |
-
"
|
134 |
-
|
135 |
-
"
|
136 |
-
"
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
"
|
143 |
-
|
144 |
-
"
|
145 |
-
"
|
146 |
-
"
|
147 |
-
|
148 |
-
"
|
149 |
-
"
|
150 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"Redirect to payment process","Weiterleitung zum Bezahlsystem"
|
2 |
+
"Please confirm your payment:","Bitte führen Sie nun die Zahlung durch:"
|
3 |
+
"Card brand","Kartentyp"
|
4 |
+
"Card number","Kartennr."
|
5 |
+
"Card holder","Karteninhaber"
|
6 |
+
"Card expiry","Ablaufdatum"
|
7 |
+
"month","Monat"
|
8 |
+
"year","Jahr"
|
9 |
+
"Verification number","Prüfnummer"
|
10 |
+
"pay now","Jetzt Bezahlen"
|
11 |
+
"payment informations","Zahlungsinformationen - "
|
12 |
+
"Automatically invoiced by Heidelpay.","Automatische Rechnungserstellung durch Heidelpay."
|
13 |
+
"Automatically invoiced","Automatische Rechnungserstellung und Versand"
|
14 |
+
"Bookingmode","Buchungsmodus"
|
15 |
+
"Recognition","Wiederkennung"
|
16 |
+
"Sort order","Reihenfolge"
|
17 |
+
"Minimum Amount (CENT)","Minimal Betrag in Cent"
|
18 |
+
"Maximum Amount (CENT)","Maximal Betrag in Cent"
|
19 |
+
"allow specific countries","Erlaubte Länder"
|
20 |
+
"specific countries","Länderauswahl"
|
21 |
+
"always","Immer"
|
22 |
+
"no recognition","keine Wiedererkennung"
|
23 |
+
"only if shippping adress is unchanged","nur bei gleichbleibender Lieferaddresse"
|
24 |
+
"Prepayment Info Text","Bitte überweisen Sie uns den Betrag von <strong>{AMOUNT} {CURRENCY}</strong> auf folgendes Konto:<br/><br/>
|
25 |
+
Kontoinhaber: {CONNECTOR_ACCOUNT_HOLDER}<br/>
|
26 |
+
IBAN: {CONNECTOR_ACCOUNT_IBAN}<br/>
|
27 |
+
BIC: {CONNECTOR_ACCOUNT_BIC}<br/><br/>
|
28 |
+
<i>Geben Sie als Verwendungszweck bitte ausschließlich diese Identifikationsnummer an:</i><br/>
|
29 |
+
<strong>{IDENTIFICATION_SHORTID}</strong>"
|
30 |
+
"Direct Debit Info Text","Der Betrag von <strong>{AMOUNT} {CURRENCY}</strong> wird in den nächsten Tagen von folgendem Konto abgebucht:<br /><br />
|
31 |
+
IBAN: {Iban}<br />
|
32 |
+
BIC: {Bic}<br /><br />
|
33 |
+
<i>Die Abbuchung enthält die Mandatsreferenz-ID: {Ident}<br />
|
34 |
+
und die Gläubiger ID: {CreditorId}</i><br />
|
35 |
+
<br />
|
36 |
+
Bitte sorgen Sie für ausreichende Deckung auf dem entsprechenden Konto."
|
37 |
+
"Invoice Info Text","Bitte überweisen Sie uns den Betrag von <strong>{AMOUNT} {CURRENCY}</strong> auf folgendes Konto:<br/><br/>
|
38 |
+
Kontoinhaber: {CONNECTOR_ACCOUNT_HOLDER}<br/>
|
39 |
+
IBAN: {CONNECTOR_ACCOUNT_IBAN}<br/>
|
40 |
+
BIC: {CONNECTOR_ACCOUNT_BIC}<br/><br/>
|
41 |
+
<i>Geben Sie als Verwendungszweck bitte ausschließlich diese Identifikationsnummer an:</i><br/>
|
42 |
+
<strong>{IDENTIFICATION_SHORTID}</strong>"
|
43 |
+
"An unexpected error occurred. Please contact us to get further information.","Es ist ein Fehler aufgetreten. Bitte kontaktieren Sie uns für weitere Informationen."
|
44 |
+
"continue","Weiter"
|
45 |
+
"Please enter additional payment information.","Geben Sie weitere Zahlungsinformationen ein."
|
46 |
+
"recived amount ","eingegangener Betrag "
|
47 |
+
"Push information from Heidelpay","Push Information von Heidelpay"
|
48 |
+
"Direct Booking","Sofortbuchung"
|
49 |
+
"Preauthorisation","Reservierung"
|
50 |
+
"Expires","Ablaufdatum:"
|
51 |
+
|
52 |
+
"Credit Card","Kreditkarte"
|
53 |
+
"Debit Card","Debitkarte"
|
54 |
+
"Debitcard","Debitkarte"
|
55 |
+
"Direct Debit","Lastschrift"
|
56 |
+
"SOFORT &Üuml;berweisung","SOFORT &Üuml;berweisung"
|
57 |
+
"Giropay","Giropay"
|
58 |
+
"Pay Pal","Pay Pal"
|
59 |
+
"EPS","EPS"
|
60 |
+
"iDeal","iDeal"
|
61 |
+
"Prepayment","Vorkasse"
|
62 |
+
"Invoice","Rechnung"
|
63 |
+
"Mangirkart","MangirKart"
|
64 |
+
"BillSafe","Kauf auf Rechnung"
|
65 |
+
"MasterPass","MasterPass"
|
66 |
+
"MASTER","MasterCard"
|
67 |
+
"VISA","Visa"
|
68 |
+
"AMEX","American Express"
|
69 |
+
"MAESTRO","Maestro"
|
70 |
+
"DISCOVER","Discover"
|
71 |
+
"DINERS","Diners Club"
|
72 |
+
|
73 |
+
|
74 |
+
"Deschcdcc","Sicher zahlen mit Kreditkarte"
|
75 |
+
"Deschcddc","Sicher zahlen mit Debitkarte"
|
76 |
+
"Deschcddd","Sicher zahlen mit Lastschrift"
|
77 |
+
"Deschcdeps","Sicher zahlen mit EPS"
|
78 |
+
"Deschcdgp","Sicher zahlen mit Giropay"
|
79 |
+
"Deschcdide","Sicher zahlen mit iDeal"
|
80 |
+
"Deschcdpal","Sicher zahlen mit PayPal"
|
81 |
+
"Deschcdpp","Sicher zahlen mit Vorkasse"
|
82 |
+
"Deschcdpf","Sicher zahlen mit Postfinance"
|
83 |
+
"Deschcdsu","Sicher zahlen mit Sofortüberweisung"
|
84 |
+
"Deschcdiv","Sicher zahlen mit Rechnung"
|
85 |
+
"Deschcdmk","Sicher zahlen mit MangirKart"
|
86 |
+
"Deschcdbs","Kaufen Sie jetzt auf Rechnung und begutachten Sie Ihre Einkäufe in Ruhe bevor Sie bezahlen. <br/><a title='Ihre Vorteile' href='http://www.billsafe.de/special/payment-info' target='_blank'><img src='https://images.billsafe.de/image/image/id/191997712fbe' style='border:0'/></a>"
|
87 |
+
"Deschcdyt","Sicher zahlen mit Yapital"
|
88 |
+
"Deschcdmpa","MasterPass ist eine digitale Bezahllösung für den Einkauf im Internet von MasterCard, die von Banken und MasterCard direkt bereitgestellt wird. Ihre Kartendaten und Lieferadressen werden an einem geschützten Ort aufbewahrt. Nachdem Sie sich registriert haben, können Sie mit wenigen Klicks sicher online einkaufen."
|
89 |
+
|
90 |
+
"Return in Errorcase","Rückleitung bei Bezahlfehler"
|
91 |
+
"Please configurate where your costumer should be redirected to in case of an payment error","Hier können Sie einstellen, wo der Kunde in Fehlerfall hingeleitet werden soll."
|
92 |
+
"Basket","Warenkorb"
|
93 |
+
"Use Testsystem","Testsystem Betrieb"
|
94 |
+
"If is set to yes, transactionis use the sandbox system and the TRANSACTION.MODE=CONNECTOR_TEST, otherwise real payment will be used with mode LIVE. For details see integration basisc documentation.","Wenn ja eingestellt ist, werden alle Transaktionen auf dem Testsystem durchgeführt. Ansonsten wird das Live System benutzt."
|
95 |
+
"Security Sender","Security Sender"
|
96 |
+
"User Login","User Login"
|
97 |
+
"User Password","User Password"
|
98 |
+
"Debug Log","Debug Log"
|
99 |
+
"If is set to yes, you can controll all neccessary conntetion Data in /var/log/Heidelpay.log","Wenn ja eingestellt wurde, können Sie in var/log/Heidelpay.log alle Debug Informationen einsehen."
|
100 |
+
"Invoicing over heidelpay","Heidelpay Rechnungsversand"
|
101 |
+
"Invoicing over heidelpay requires an extra contract. For more information, please contact your key account manager.","Für Heidelpay Rechnungsversand benötigen Sie einen extra Vertag. Kontaktieren Sie Ihren Vertriebsansprechpartner für ein Angebot."
|
102 |
+
"General Settings Heidelpay","Heidelpay Einstellungen"
|
103 |
+
"about Heidelpay","Über Heidelpay"
|
104 |
+
"about MasterPass","über MasterPass"
|
105 |
+
|
106 |
+
"Heidelpay Credit Card (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Kreditkarte"
|
107 |
+
"Heidelpay Direct Debit (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Lastschrift"
|
108 |
+
"Heidelpay Debit Card (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Debitkarte"
|
109 |
+
"Heidelpay SOFORT Überweisung (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition SOFORT Überweisung"
|
110 |
+
"Heidelpay Giropay (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Giropay"
|
111 |
+
"Heidelpay MangirKart (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition MangirKart"
|
112 |
+
"Heidelpay Postfinance (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Postfinance"
|
113 |
+
"Heidelpay Invoice (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Rechnung"
|
114 |
+
"Heidelpay Pay Pal (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition PayPal"
|
115 |
+
"Heidelpay Prepayment (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Vorkasse"
|
116 |
+
"Heidelpay Billsafe (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition BillSafe"
|
117 |
+
"Heidelpay EPS (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition EPS"
|
118 |
+
"Heidelpay iDeal (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition iDeal"
|
119 |
+
"Heidelpay Yapital (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Yapital"
|
120 |
+
"Heidelpay MasterPass (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition MasterPass"
|
121 |
+
|
122 |
+
"No.","Nr."
|
123 |
+
"Valid until:","Gültig bis:"
|
124 |
+
"close","schliessen"
|
125 |
+
"Cardtype:","Kartentyp:"
|
126 |
+
"Account No","Konto"
|
127 |
+
"Bankcode","BLZ"
|
128 |
+
"IBAN","IBAN"
|
129 |
+
"BIC","BIC"
|
130 |
+
"Owner","Inhaber"
|
131 |
+
"Change at MasterPass","Ändern bei MasterPass"
|
132 |
+
"Please enter account no.","Bitte Konto angeben."
|
133 |
+
"Please enter bankcode.","Bitte BLZ angeben."
|
134 |
+
"Please enter owner.","Bitte Inhaber angeben."
|
135 |
+
"Enter additional information for the payment.","Geben Sie weitere Zahlungsinformationen ein."
|
136 |
+
"BillSafe Info Text","{LEGALNOTE}<br/><br/>
|
137 |
+
Bitte überweisen Sie den Betrag von <strong>{AMOUNT} {CURRENCY}</strong>, innerhalb von <strong>{PERIOD} Tage</strong> nach dem Sie über den Versand informiert wurden, auf folgendes Konto:<br/><br/>
|
138 |
+
<strong>Kontoinhaber: {CONNECTOR_ACCOUNT_HOLDER}<br/>
|
139 |
+
IBAN: {CONNECTOR_ACCOUNT_IBAN}<br/>
|
140 |
+
BIC: {CONNECTOR_ACCOUNT_BIC}</strong><br/><br/>
|
141 |
+
<i>Geben Sie als Verwendungszweck bitte ausschließlich diese Identifikationsnummer an:</i><br/>
|
142 |
+
<strong>{IDENTIFICATION_SHORTID}</strong>"
|
143 |
+
|
144 |
+
"Bank code or bic","Bankleitzahl oder Bic"
|
145 |
+
"Account number or iban","Kontonummer oder Iban"
|
146 |
+
"IBAN & BIC","IBAN & BIC"
|
147 |
+
|
148 |
+
"Account information","Kontoinformationen"
|
149 |
+
"Account no. & Bank no.","Kontonummer & Bankleitzahl"
|
150 |
+
"IBAN & BIC","IBAN & BIC"
|
151 |
+
|
152 |
+
"Canceled by user","Bezahlprozess vom Benutzer abgebrochen."
|
153 |
+
"Redirect to MasterPass ...","Weiterleitung zu MasterPass ..."
|
154 |
+
"This Transaction could not be capture online.","Diese Transaction kann nicht online erfasst werden."
|
155 |
+
"please note that this is only necessary, when you use purchase on account with payment guarantee.","Diese Einstellung ist nur Notwendig, wenn Sie bereits Rechnungskauf mit Zahlungssicherheit verwenden."
|
156 |
+
"please note that capture on delivery is only possible, when you set bookingmode to preauthorisation","Diese Einstellung ist nur möglich, wenn der Buchungsmodus auf Reservierung steht."
|
157 |
+
"Automatically capture on delivery","Automatische Erfassung bei Versand"
|
158 |
+
"Send delivery note to Heidelpay","Versandmeldung an Heidelpay"
|
159 |
+
"Successfully report delivery to Heidelpay.","Lieferung erfolgreich an Heidelpay gemeldet."
|
160 |
+
"Delivery notes to Heidelpay fail, because of : ","Versandmeldung an Heidelpay ist fehlgeschalgen. "
|
161 |
+
|
162 |
+
"You have used the card %CARD% befor, would you like to use this again?","Sie haben beim letzten Einkauf die Karte %CARD% verwendet, wollen Sie diese erneut benutzen?"
|
163 |
+
"HPError-100.100.101","Bitte überprüfen Sie Ihre Eingaben"
|
164 |
+
"HPError-100.100.303","Die Karte ist abgelaufen"
|
165 |
+
"HPError-100.100.500","Bitte überprüfen Sie Ihre Eingaben"
|
166 |
+
"HPError-100.396.101","Abbruch durch Benutzer"
|
167 |
+
"HPError-100.400.110","Bitte wählen Sie eine andere Zahlart"
|
168 |
+
"HPError-800.100.151","Bitte wählen Sie eine andere Zahlart"
|
169 |
+
"HPError-800.100.152","Bitte wählen Sie eine andere Zahlart"
|
170 |
+
"HPError-800.100.153","Bitte überprüfen Sie Ihre Eingaben"
|
171 |
+
"HPError-800.100.157","Bitte überprüfen Sie Ihre Eingaben"
|
172 |
+
"HPError-800.100.159","Bitte wählen Sie eine andere Zahlart"
|
173 |
+
"HPError-800.100.160","Bitte wählen Sie eine andere Zahlart"
|
174 |
+
"HPError-800.100.168","Bitte wählen Sie eine andere Zahlart"
|
175 |
+
"HPError-800.100.171","Bitte wählen Sie eine andere Zahlart"
|
176 |
+
"HPError-800.300.101","Bitte wählen Sie eine andere Zahlart"
|
177 |
+
|
app/locale/en_US/HeidelpayCD_Edition.csv
CHANGED
@@ -1,157 +1,183 @@
|
|
1 |
-
"Redirect to payment process","Umleitung zu Bezahlsystem"
|
2 |
-
"Please confirm your payment:","Please confirm your payment:"
|
3 |
-
"Card brand","Card Brand"
|
4 |
-
"Card number","Card Number"
|
5 |
-
"Card holder","Card Holder"
|
6 |
-
"Card expiry","Expiry Date"
|
7 |
-
"month","month"
|
8 |
-
"year","year"
|
9 |
-
"Verification number","Verification Number"
|
10 |
-
"pay now","Pay now"
|
11 |
-
"payment informations","payment informations -"
|
12 |
-
"Automatically invoiced by Heidelpay.","Automatically invoiced by Heidelpay."
|
13 |
-
"Automatically invoiced","Automatically invoiced"
|
14 |
-
"
|
15 |
-
"Recognition","Recognition"
|
16 |
-
"
|
17 |
-
"
|
18 |
-
"
|
19 |
-
"
|
20 |
-
"specific countries","specific countries"
|
21 |
-
"
|
22 |
-
"
|
23 |
-
"
|
24 |
-
"
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
<
|
29 |
-
<
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
"
|
39 |
-
"
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
"
|
46 |
-
"
|
47 |
-
"
|
48 |
-
"
|
49 |
-
"
|
50 |
-
"
|
51 |
-
|
52 |
-
"
|
53 |
-
"
|
54 |
-
"
|
55 |
-
"
|
56 |
-
"
|
57 |
-
"
|
58 |
-
|
59 |
-
"
|
60 |
-
"
|
61 |
-
"
|
62 |
-
"
|
63 |
-
"
|
64 |
-
"
|
65 |
-
"
|
66 |
-
"
|
67 |
-
"
|
68 |
-
"
|
69 |
-
"
|
70 |
-
"
|
71 |
-
"
|
72 |
-
|
73 |
-
|
74 |
-
"
|
75 |
-
"
|
76 |
-
"
|
77 |
-
"
|
78 |
-
"
|
79 |
-
"
|
80 |
-
"
|
81 |
-
"
|
82 |
-
"
|
83 |
-
"
|
84 |
-
"
|
85 |
-
"
|
86 |
-
"
|
87 |
-
"
|
88 |
-
|
89 |
-
"
|
90 |
-
"
|
91 |
-
"
|
92 |
-
"
|
93 |
-
"
|
94 |
-
"
|
95 |
-
"
|
96 |
-
"
|
97 |
-
"
|
98 |
-
"
|
99 |
-
"
|
100 |
-
"
|
101 |
-
"
|
102 |
-
"Heidelpay
|
103 |
-
|
104 |
-
|
105 |
-
"
|
106 |
-
"
|
107 |
-
"
|
108 |
-
"
|
109 |
-
"
|
110 |
-
"
|
111 |
-
"
|
112 |
-
"
|
113 |
-
"
|
114 |
-
"
|
115 |
-
"
|
116 |
-
"
|
117 |
-
"
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
"
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
"
|
134 |
-
"
|
135 |
-
"
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
"
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
"
|
152 |
-
"
|
153 |
-
"
|
154 |
-
|
155 |
-
"
|
156 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
"HPError-800.300.101","Please choose another payment method"
|
1 |
+
"Redirect to payment process","Umleitung zu Bezahlsystem"
|
2 |
+
"Please confirm your payment:","Please confirm your payment:"
|
3 |
+
"Card brand","Card Brand"
|
4 |
+
"Card number","Card Number"
|
5 |
+
"Card holder","Card Holder"
|
6 |
+
"Card expiry","Expiry Date"
|
7 |
+
"month","month"
|
8 |
+
"year","year"
|
9 |
+
"Verification number","Verification Number"
|
10 |
+
"pay now","Pay now"
|
11 |
+
"payment informations","payment informations -"
|
12 |
+
"Automatically invoiced by Heidelpay.","Automatically invoiced by Heidelpay."
|
13 |
+
"Automatically invoiced","Automatically invoiced"
|
14 |
+
"Bookingmode","Bookingmode"
|
15 |
+
"Recognition","Recognition"
|
16 |
+
"Expires","Expires:"
|
17 |
+
"Sort order","Sort order"
|
18 |
+
"Minimum Amount (CENT)","Minimum Amount (CENT)"
|
19 |
+
"Maximum Amount (CENT)","Maximum Amount (CENT)"
|
20 |
+
"allow specific countries","allow specific countries"
|
21 |
+
"specific countries","specific countries"
|
22 |
+
"always","always"
|
23 |
+
"no recognition","no recognition"
|
24 |
+
"only if shippping adress is unchanged","only if shippping adress is unchanged"
|
25 |
+
"Prepayment Info Text","Please transfer the amount of <strong>{AMOUNT} {CURRENCY}</strong> to the following account<br /><br />
|
26 |
+
Holder: {CONNECTOR_ACCOUNT_HOLDER}<br/>
|
27 |
+
IBAN: {CONNECTOR_ACCOUNT_IBAN}<br/>
|
28 |
+
BIC: {CONNECTOR_ACCOUNT_BIC}<br/><br/>
|
29 |
+
<i>Please use only this identification number as the descriptor :</i><br/>
|
30 |
+
<strong>{IDENTIFICATION_SHORTID}</strong>"
|
31 |
+
"Direct Debit Info Text","The amount of <strong>{AMOUNT} {CURRENCY}</strong> will be debited from this account within the next days:<br /><br />
|
32 |
+
IBAN: {Iban}<br />
|
33 |
+
BIC: {Bic}<br /><br />
|
34 |
+
<i>The booking contains the mandate reference ID: {Ident}<br >
|
35 |
+
and the creditor identifier: {CreditorId}</i><br />
|
36 |
+
<br />
|
37 |
+
Please ensure that there will be sufficient funds on the corresponding account."
|
38 |
+
"An unexpected error occurred. Please contact us to get further information.","An unexpected error occurred. Please contact us to get further information."
|
39 |
+
"Invoice Info Text","Please transfer the amount of <strong>{AMOUNT} {CURRENCY}</strong> to the following account<br /><br />
|
40 |
+
Holder: {CONNECTOR_ACCOUNT_HOLDER}<br/>
|
41 |
+
IBAN: {CONNECTOR_ACCOUNT_IBAN}<br/>
|
42 |
+
BIC: {CONNECTOR_ACCOUNT_BIC}<br/><br/>
|
43 |
+
<i>Please use only this identification number as the descriptor :</i><br/>
|
44 |
+
<strong>{IDENTIFICATION_SHORTID}</strong>"
|
45 |
+
"continue","continue"
|
46 |
+
"Please enter additional payment information.","Please enter additional payment information."
|
47 |
+
"recived amount ","recived amount "
|
48 |
+
"Push information from Heidelpay","Push information from Heidelpay"
|
49 |
+
"Direct Booking","Direct Booking"
|
50 |
+
"Preauthorisation","Preauthorisation"
|
51 |
+
|
52 |
+
"Credit Card","Credit Card"
|
53 |
+
"Debit Card","Debit Card"
|
54 |
+
"Debitcard","Debitcard"
|
55 |
+
"Direct Debit","Direct Debit"
|
56 |
+
"SOFORT &Üuml;berweisung","SOFORT &Üuml;berweisung"
|
57 |
+
"Giropay","Giropay"
|
58 |
+
"Pay Pal","Pay Pal"
|
59 |
+
"EPS","EPS"
|
60 |
+
"iDeal","iDeal"
|
61 |
+
"Prepayment","Prepayment"
|
62 |
+
"Invoice","Invoice"
|
63 |
+
"Mangirkart","MangirKart"
|
64 |
+
"BillSafe","BillSafe"
|
65 |
+
"MasterPass","MasterPass"
|
66 |
+
"MASTER","MasterCard"
|
67 |
+
"VISA","Visa"
|
68 |
+
"AMEX","American Express"
|
69 |
+
"MAESTRO","Maestro"
|
70 |
+
"DISCOVER","Discover"
|
71 |
+
"DINERS","Diners Club"
|
72 |
+
|
73 |
+
"Deschcdcc","Pay safe and secure with Creditcard<br>"
|
74 |
+
"Deschcddc","Pay safe and secure with Debitcard<br>"
|
75 |
+
"Deschcddd","Pay safe and secure with Direct Debit"
|
76 |
+
"Deschcdeps","Pay safe and secure with EPS"
|
77 |
+
"Deschcdgp","Pay safe and secure with Giropay"
|
78 |
+
"Deschcdide","Pay safe and secure with iDeal"
|
79 |
+
"Deschcdpal","Pay safe and secure with PayPal"
|
80 |
+
"Deschcdpp","Pay safe and secure with Prepayment"
|
81 |
+
"Deschcdpf","Pay safe and secure with Postfinace"
|
82 |
+
"Deschcdsu","Pay safe and secure with SofortÜberweisung"
|
83 |
+
"Deschcdiv","Pay comfortable with Invoice"
|
84 |
+
"Deschcdmk","Pay comfortable with MangirKart"
|
85 |
+
"Deschcdbs","Buy with invoice and check your order calmly before payment.<br/>"
|
86 |
+
"Deschcdyt","Pay comfortable with Yapital"
|
87 |
+
"Deschcdmpa","The MasterPass by MasterCard© digital wallet makes online shopping safe and easy by storing all your payment and shipping information in one convenient and secure place. And it's free. With MasterPass, you simply shop, and check out faster."
|
88 |
+
|
89 |
+
"Return in Errorcase","Return in Errorcase"
|
90 |
+
"Please configurate where your costumer should be redirected to in case of an payment error","Please configurate where your costumer should be redirected to in case of an payment error"
|
91 |
+
"Basket","Basket"
|
92 |
+
"Use Testsystem","Use Sandbox"
|
93 |
+
"If is set to yes, transactionis use the sandbox system and the TRANSACTION.MODE=CONNECTOR_TEST, otherwise real payment will be used with mode LIVE. For details see integration basisc documentation.","If is set to yes, transactionis use the sandbox system and the TRANSACTION.MODE=CONNECTOR_TEST, otherwise real payment will be used with mode LIVE. For details see integration basisc documentation."
|
94 |
+
"Security Sender","Security Sender"
|
95 |
+
"User Login","User Login"
|
96 |
+
"User Password","User Password"
|
97 |
+
"Debug Log","Debug Log"
|
98 |
+
"If is set to yes, you can controll all neccessary conntetion Data in /var/log/Heidelpay.log","If is set to yes, you can controll all neccessary conntetion Data in /var/log/Heidelpay.log"
|
99 |
+
"Invoicing over heidelpay","Invoicing over heidelpay"
|
100 |
+
"Invoicing over heidelpay requires an extra contract. For more information, please contact your key account manager.","Invoicing over heidelpay requires an extra contract. For more information, please contact your key account manager."
|
101 |
+
"General Settings Heidelpay","General Settings Heidelpay"
|
102 |
+
"about Heidelpay","about Heidelpay"
|
103 |
+
"about MasterPass","about MasterPass"
|
104 |
+
|
105 |
+
"Heidelpay Credit Card (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Credit Card"
|
106 |
+
"Heidelpay Direct Debit (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Direct Debit"
|
107 |
+
"Heidelpay Debit Card (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Debit Card"
|
108 |
+
"Heidelpay SOFORT Überweisung (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition SOFORT Überweisung"
|
109 |
+
"Heidelpay Giropay (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Giropay"
|
110 |
+
"Heidelpay MangirKart (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition MangirKart"
|
111 |
+
"Heidelpay Postfinance (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Postfinance"
|
112 |
+
"Heidelpay Invoice (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Invoice"
|
113 |
+
"Heidelpay Pay Pal (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition PayPal"
|
114 |
+
"Heidelpay Prepayment (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Prepayment"
|
115 |
+
"Heidelpay Billsafe (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition BillSafe"
|
116 |
+
"Heidelpay EPS (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition EPS"
|
117 |
+
"Heidelpay iDeal (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition iDeal"
|
118 |
+
"Heidelpay Yapital (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Yapital"
|
119 |
+
"Heidelpay MasterPass (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition MasterPass"
|
120 |
+
|
121 |
+
"No.","No."
|
122 |
+
"Valid until:","Valid until:"
|
123 |
+
"close","close"
|
124 |
+
"Cardtype:","Cardtype"
|
125 |
+
"Account No","Account No"
|
126 |
+
"Bankcode","Bankcode"
|
127 |
+
"IBAN","IBAN"
|
128 |
+
"BIC","BIC"
|
129 |
+
"Owner","Owner"
|
130 |
+
"Change at MasterPass":"Change at MasterPass"
|
131 |
+
"Please enter account no.","Please enter account no."
|
132 |
+
"Please enter bankcode.","Please enter bankcode."
|
133 |
+
"Please enter owner.","Please enter owner."
|
134 |
+
"Enter additional information for the payment.","Enter additional information for the payment."
|
135 |
+
"HP_SUCCESS_BILLSAFE","Ihre Transaktion war erfolgreich!
|
136 |
+
|
137 |
+
Ueberweisen Sie uns den Betrag von {CURRENCY} {AMOUNT} auf folgendes Konto
|
138 |
+
Bankname: {ACC_BANKNAME}
|
139 |
+
Kontoinhaber : {ACC_OWNER}
|
140 |
+
Konto-Nr. : {ACC_NUMBER}
|
141 |
+
Bankleitzahl: {ACC_BANKCODE}
|
142 |
+
IBAN: {ACC_IBAN}
|
143 |
+
BIC: {ACC_BIC}
|
144 |
+
Geben sie bitte im Verwendungszweck UNBEDINGT die Identifikationsnummer
|
145 |
+
{SHORTID}
|
146 |
+
und NICHTS ANDERES an."
|
147 |
+
"HP_LEGALNOTE_BILLSAFE","Bitte überweisen Sie den ausstehenden Betrag {DAYS} Tage nach dem Sie über den Versand informiert wurden."
|
148 |
+
|
149 |
+
|
150 |
+
|
151 |
+
"Bank code or bic","Bank code or bic"
|
152 |
+
"Account number or iban","Account number or iban"
|
153 |
+
"IBAN & BIC","IBAN & BIC"
|
154 |
+
|
155 |
+
"Account information","Account information"
|
156 |
+
"Account no. & Bank no.","Account no. & Bank no."
|
157 |
+
"IBAN & BIC","IBAN & BIC"
|
158 |
+
|
159 |
+
"Canceled by user","Canceled by user"
|
160 |
+
"Redirect to MasterPass ...","Redirect to MasterPass ..."
|
161 |
+
"This Transaction could not be capture online.","This Transaction could not be capture online."
|
162 |
+
"please note that this is only necessary, when you use purchase on account with payment guarantee.","please note that this is only necessary, when you use purchase on account with payment guarantee."
|
163 |
+
"please note that capture on delivery is only possible, when you set bookingmode to preauthorisation","please note that capture on delivery is only possible, when you set bookingmode to preauthorisation."
|
164 |
+
"Automatically capture on delivery","Automatically capture on delivery"
|
165 |
+
"Send delivery note to Heidelpay","Send delivery note to Heidelpay"
|
166 |
+
"Successfully report delivery to Heidelpay.","Successfully report delivery to Heidelpay."
|
167 |
+
"Delivery notes to Heidelpay fail, because of : ","Delivery notes to Heidelpay fail, because of : "
|
168 |
+
|
169 |
+
"You have used the card %CARD% befor, would you like to use this again?","You have used the card %CARD% befor, would you like to use this again?"
|
170 |
+
"HPError-100.100.101","Please verify your payment data"
|
171 |
+
"HPError-100.100.303","card expired"
|
172 |
+
"HPError-100.100.500","Please verify your payment data"
|
173 |
+
"HPError-100.396.101","Canceled by user"
|
174 |
+
"HPError-100.400.110","Please choose another payment method"
|
175 |
+
"HPError-800.100.151","Please choose another payment method"
|
176 |
+
"HPError-800.100.152","Please choose another payment method"
|
177 |
+
"HPError-800.100.153","Please verify your payment data"
|
178 |
+
"HPError-800.100.157","Please verify your payment data"
|
179 |
+
"HPError-800.100.159","Please choose another payment method"
|
180 |
+
"HPError-800.100.160","Please choose another payment method"
|
181 |
+
"HPError-800.100.168","Please choose another payment method"
|
182 |
+
"HPError-800.100.171","Please choose another payment method"
|
183 |
"HPError-800.300.101","Please choose another payment method"
|
js/hcd/heidelpaycd.js
CHANGED
@@ -105,6 +105,18 @@ Heidelpay.toggle = Class.create({
|
|
105 |
$$("." + actPayment +"_ACCOUNT_NUMBER")[0].value = replace;
|
106 |
$$("." + actPayment + "_ACCOUNT_VERIFICATION")[0].value = replace;
|
107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
}
|
109 |
});
|
110 |
|
105 |
$$("." + actPayment +"_ACCOUNT_NUMBER")[0].value = replace;
|
106 |
$$("." + actPayment + "_ACCOUNT_VERIFICATION")[0].value = replace;
|
107 |
|
108 |
+
},
|
109 |
+
button: function (url) {
|
110 |
+
|
111 |
+
|
112 |
+
$$('.btn-hcdmpa').each(Element.toggle);
|
113 |
+
|
114 |
+
$$(".btn-checkout").each(Element.toggle);
|
115 |
+
|
116 |
+
$$(".masterpass-please-wait").each(Element.toggle);
|
117 |
+
|
118 |
+
window.location.href = url ;
|
119 |
+
|
120 |
}
|
121 |
});
|
122 |
|
js/hcd/opcheckout.js
ADDED
@@ -0,0 +1,962 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Magento
|
3 |
+
*
|
4 |
+
* NOTICE OF LICENSE
|
5 |
+
*
|
6 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
7 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
8 |
+
* It is also available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/afl-3.0.php
|
10 |
+
* If you did not receive a copy of the license and are unable to
|
11 |
+
* obtain it through the world-wide-web, please send an email
|
12 |
+
* to license@magento.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* DISCLAIMER
|
15 |
+
*
|
16 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
17 |
+
* versions in the future. If you wish to customize Magento for your
|
18 |
+
* needs please refer to http://www.magento.com for more information.
|
19 |
+
*
|
20 |
+
* @category design
|
21 |
+
* @package base_default
|
22 |
+
* @copyright Copyright (c) 2006-2014 X.commerce, Inc. (http://www.magento.com)
|
23 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
24 |
+
*/
|
25 |
+
var Checkout = Class.create();
|
26 |
+
Checkout.prototype = {
|
27 |
+
initialize: function(accordion, urls){
|
28 |
+
this.accordion = accordion;
|
29 |
+
this.progressUrl = urls.progress;
|
30 |
+
this.reviewUrl = urls.review;
|
31 |
+
this.saveMethodUrl = urls.saveMethod;
|
32 |
+
this.failureUrl = urls.failure;
|
33 |
+
this.billingForm = false;
|
34 |
+
this.shippingForm= false;
|
35 |
+
this.syncBillingShipping = false;
|
36 |
+
this.method = '';
|
37 |
+
this.payment = '';
|
38 |
+
this.loadWaiting = false;
|
39 |
+
this.steps = ['login', 'billing', 'shipping', 'shipping_method', 'payment', 'review'];
|
40 |
+
//We use billing as beginning step since progress bar tracks from billing
|
41 |
+
this.currentStep = 'billing';
|
42 |
+
|
43 |
+
this.accordion.sections.each(function(section) {
|
44 |
+
Event.observe($(section).down('.step-title'), 'click', this._onSectionClick.bindAsEventListener(this));
|
45 |
+
}.bind(this));
|
46 |
+
|
47 |
+
this.accordion.disallowAccessToNextSections = true;
|
48 |
+
},
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Section header click handler
|
52 |
+
*
|
53 |
+
* @param event
|
54 |
+
*/
|
55 |
+
_onSectionClick: function(event) {
|
56 |
+
var section = $(Event.element(event).up().up());
|
57 |
+
if (section.hasClassName('allow')) {
|
58 |
+
Event.stop(event);
|
59 |
+
this.gotoSection(section.readAttribute('id').replace('opc-', ''), false);
|
60 |
+
return false;
|
61 |
+
}
|
62 |
+
},
|
63 |
+
|
64 |
+
ajaxFailure: function(){
|
65 |
+
location.href = this.failureUrl;
|
66 |
+
},
|
67 |
+
|
68 |
+
reloadProgressBlock: function(toStep) {
|
69 |
+
this.reloadStep(toStep);
|
70 |
+
if (this.syncBillingShipping) {
|
71 |
+
this.syncBillingShipping = false;
|
72 |
+
this.reloadStep('shipping');
|
73 |
+
}
|
74 |
+
},
|
75 |
+
|
76 |
+
reloadStep: function(prevStep) {
|
77 |
+
var updater = new Ajax.Updater(prevStep + '-progress-opcheckout', this.progressUrl, {
|
78 |
+
method:'get',
|
79 |
+
onFailure:this.ajaxFailure.bind(this),
|
80 |
+
onComplete: function(){
|
81 |
+
this.checkout.resetPreviousSteps();
|
82 |
+
},
|
83 |
+
parameters:prevStep ? { prevStep:prevStep } : null
|
84 |
+
});
|
85 |
+
},
|
86 |
+
|
87 |
+
reloadReviewBlock: function(){
|
88 |
+
var updater = new Ajax.Updater('checkout-review-load', this.reviewUrl, {method: 'get', onFailure: this.ajaxFailure.bind(this)});
|
89 |
+
},
|
90 |
+
|
91 |
+
_disableEnableAll: function(element, isDisabled) {
|
92 |
+
var descendants = element.descendants();
|
93 |
+
for (var k in descendants) {
|
94 |
+
descendants[k].disabled = isDisabled;
|
95 |
+
}
|
96 |
+
element.disabled = isDisabled;
|
97 |
+
},
|
98 |
+
|
99 |
+
setLoadWaiting: function(step, keepDisabled) {
|
100 |
+
if (step) {
|
101 |
+
if (this.loadWaiting) {
|
102 |
+
this.setLoadWaiting(false);
|
103 |
+
}
|
104 |
+
var container = $(step+'-buttons-container');
|
105 |
+
container.addClassName('disabled');
|
106 |
+
container.setStyle({opacity:.5});
|
107 |
+
this._disableEnableAll(container, true);
|
108 |
+
Element.show(step+'-please-wait');
|
109 |
+
} else {
|
110 |
+
if (this.loadWaiting) {
|
111 |
+
var container = $(this.loadWaiting+'-buttons-container');
|
112 |
+
var isDisabled = (keepDisabled ? true : false);
|
113 |
+
if (!isDisabled) {
|
114 |
+
container.removeClassName('disabled');
|
115 |
+
container.setStyle({opacity:1});
|
116 |
+
}
|
117 |
+
this._disableEnableAll(container, isDisabled);
|
118 |
+
Element.hide(this.loadWaiting+'-please-wait');
|
119 |
+
}
|
120 |
+
}
|
121 |
+
this.loadWaiting = step;
|
122 |
+
},
|
123 |
+
|
124 |
+
gotoSection: function (section, reloadProgressBlock) {
|
125 |
+
|
126 |
+
if (reloadProgressBlock) {
|
127 |
+
this.reloadProgressBlock(this.currentStep);
|
128 |
+
}
|
129 |
+
this.currentStep = section;
|
130 |
+
var sectionElement = $('opc-' + section);
|
131 |
+
sectionElement.addClassName('allow');
|
132 |
+
this.accordion.openSection('opc-' + section);
|
133 |
+
if(!reloadProgressBlock) {
|
134 |
+
this.resetPreviousSteps();
|
135 |
+
}
|
136 |
+
},
|
137 |
+
|
138 |
+
resetPreviousSteps: function () {
|
139 |
+
var stepIndex = this.steps.indexOf(this.currentStep);
|
140 |
+
|
141 |
+
//Clear other steps if already populated through javascript
|
142 |
+
for (var i = stepIndex; i < this.steps.length; i++) {
|
143 |
+
var nextStep = this.steps[i];
|
144 |
+
var progressDiv = nextStep + '-progress-opcheckout';
|
145 |
+
if ($(progressDiv)) {
|
146 |
+
//Remove the link
|
147 |
+
$(progressDiv).select('.changelink').each(function (item) {
|
148 |
+
item.remove();
|
149 |
+
});
|
150 |
+
$(progressDiv).select('dt').each(function (item) {
|
151 |
+
item.removeClassName('complete');
|
152 |
+
});
|
153 |
+
//Remove the content
|
154 |
+
$(progressDiv).select('dd.complete').each(function (item) {
|
155 |
+
item.remove();
|
156 |
+
});
|
157 |
+
}
|
158 |
+
}
|
159 |
+
},
|
160 |
+
|
161 |
+
changeSection: function (section) {
|
162 |
+
var changeStep = section.replace('opc-', '');
|
163 |
+
this.gotoSection(changeStep, false);
|
164 |
+
},
|
165 |
+
|
166 |
+
setMethod: function(){
|
167 |
+
if ($('login:guest') && $('login:guest').checked) {
|
168 |
+
this.method = 'guest';
|
169 |
+
var request = new Ajax.Request(
|
170 |
+
this.saveMethodUrl,
|
171 |
+
{method: 'post', onFailure: this.ajaxFailure.bind(this), parameters: {method:'guest'}}
|
172 |
+
);
|
173 |
+
Element.hide('register-customer-password');
|
174 |
+
this.gotoSection('billing', true);
|
175 |
+
}
|
176 |
+
else if($('login:register') && ($('login:register').checked || $('login:register').type == 'hidden')) {
|
177 |
+
this.method = 'register';
|
178 |
+
var request = new Ajax.Request(
|
179 |
+
this.saveMethodUrl,
|
180 |
+
{method: 'post', onFailure: this.ajaxFailure.bind(this), parameters: {method:'register'}}
|
181 |
+
);
|
182 |
+
Element.show('register-customer-password');
|
183 |
+
this.gotoSection('billing', true);
|
184 |
+
}
|
185 |
+
else{
|
186 |
+
alert(Translator.translate('Please choose to register or to checkout as a guest').stripTags());
|
187 |
+
return false;
|
188 |
+
}
|
189 |
+
document.body.fire('login:setMethod', {method : this.method});
|
190 |
+
},
|
191 |
+
|
192 |
+
setBilling: function() {
|
193 |
+
if (($('billing:use_for_shipping_yes')) && ($('billing:use_for_shipping_yes').checked)) {
|
194 |
+
shipping.syncWithBilling();
|
195 |
+
$('opc-shipping').addClassName('allow');
|
196 |
+
this.gotoSection('shipping_method', true);
|
197 |
+
} else if (($('billing:use_for_shipping_no')) && ($('billing:use_for_shipping_no').checked)) {
|
198 |
+
$('shipping:same_as_billing').checked = false;
|
199 |
+
this.gotoSection('shipping', true);
|
200 |
+
} else {
|
201 |
+
$('shipping:same_as_billing').checked = true;
|
202 |
+
this.gotoSection('shipping', true);
|
203 |
+
}
|
204 |
+
|
205 |
+
// this refreshes the checkout progress column
|
206 |
+
|
207 |
+
// if ($('billing:use_for_shipping') && $('billing:use_for_shipping').checked){
|
208 |
+
// shipping.syncWithBilling();
|
209 |
+
// //this.setShipping();
|
210 |
+
// //shipping.save();
|
211 |
+
// $('opc-shipping').addClassName('allow');
|
212 |
+
// this.gotoSection('shipping_method');
|
213 |
+
// } else {
|
214 |
+
// $('shipping:same_as_billing').checked = false;
|
215 |
+
// this.gotoSection('shipping');
|
216 |
+
// }
|
217 |
+
// this.reloadProgressBlock();
|
218 |
+
// //this.accordion.openNextSection(true);
|
219 |
+
},
|
220 |
+
|
221 |
+
setShipping: function() {
|
222 |
+
//this.nextStep();
|
223 |
+
this.gotoSection('shipping_method', true);
|
224 |
+
//this.accordion.openNextSection(true);
|
225 |
+
},
|
226 |
+
|
227 |
+
setShippingMethod: function() {
|
228 |
+
//this.nextStep();
|
229 |
+
this.gotoSection('payment', true);
|
230 |
+
//this.accordion.openNextSection(true);
|
231 |
+
},
|
232 |
+
|
233 |
+
setPayment: function() {
|
234 |
+
//this.nextStep();
|
235 |
+
this.gotoSection('review', true);
|
236 |
+
//this.accordion.openNextSection(true);
|
237 |
+
},
|
238 |
+
|
239 |
+
setReview: function() {
|
240 |
+
this.reloadProgressBlock();
|
241 |
+
//this.nextStep();
|
242 |
+
//this.accordion.openNextSection(true);
|
243 |
+
},
|
244 |
+
|
245 |
+
back: function(){
|
246 |
+
if (this.loadWaiting) return;
|
247 |
+
//Navigate back to the previous available step
|
248 |
+
var stepIndex = this.steps.indexOf(this.currentStep);
|
249 |
+
var section = this.steps[--stepIndex];
|
250 |
+
var sectionElement = $('opc-' + section);
|
251 |
+
|
252 |
+
//Traverse back to find the available section. Ex Virtual product does not have shipping section
|
253 |
+
while (sectionElement === null && stepIndex > 0) {
|
254 |
+
--stepIndex;
|
255 |
+
section = this.steps[stepIndex];
|
256 |
+
sectionElement = $('opc-' + section);
|
257 |
+
}
|
258 |
+
this.changeSection('opc-' + section);
|
259 |
+
},
|
260 |
+
|
261 |
+
setStepResponse: function(response){
|
262 |
+
if (response.update_section) {
|
263 |
+
$('checkout-'+response.update_section.name+'-load').update(response.update_section.html);
|
264 |
+
}
|
265 |
+
if (response.allow_sections) {
|
266 |
+
response.allow_sections.each(function(e){
|
267 |
+
$('opc-'+e).addClassName('allow');
|
268 |
+
});
|
269 |
+
}
|
270 |
+
|
271 |
+
if(response.duplicateBillingInfo)
|
272 |
+
{
|
273 |
+
this.syncBillingShipping = true;
|
274 |
+
shipping.setSameAsBilling(true);
|
275 |
+
}
|
276 |
+
|
277 |
+
if (response.goto_section) {
|
278 |
+
this.gotoSection(response.goto_section, true);
|
279 |
+
return true;
|
280 |
+
}
|
281 |
+
if (response.redirect) {
|
282 |
+
location.href = response.redirect;
|
283 |
+
return true;
|
284 |
+
}
|
285 |
+
return false;
|
286 |
+
}
|
287 |
+
}
|
288 |
+
|
289 |
+
// billing
|
290 |
+
var Billing = Class.create();
|
291 |
+
Billing.prototype = {
|
292 |
+
initialize: function(form, addressUrl, saveUrl){
|
293 |
+
this.form = form;
|
294 |
+
if ($(this.form)) {
|
295 |
+
$(this.form).observe('submit', function(event){this.save();Event.stop(event);}.bind(this));
|
296 |
+
}
|
297 |
+
this.addressUrl = addressUrl;
|
298 |
+
this.saveUrl = saveUrl;
|
299 |
+
this.onAddressLoad = this.fillForm.bindAsEventListener(this);
|
300 |
+
this.onSave = this.nextStep.bindAsEventListener(this);
|
301 |
+
this.onComplete = this.resetLoadWaiting.bindAsEventListener(this);
|
302 |
+
},
|
303 |
+
|
304 |
+
setAddress: function(addressId){
|
305 |
+
if (addressId) {
|
306 |
+
request = new Ajax.Request(
|
307 |
+
this.addressUrl+addressId,
|
308 |
+
{method:'get', onSuccess: this.onAddressLoad, onFailure: checkout.ajaxFailure.bind(checkout)}
|
309 |
+
);
|
310 |
+
}
|
311 |
+
else {
|
312 |
+
this.fillForm(false);
|
313 |
+
}
|
314 |
+
},
|
315 |
+
|
316 |
+
newAddress: function(isNew){
|
317 |
+
if (isNew) {
|
318 |
+
this.resetSelectedAddress();
|
319 |
+
Element.show('billing-new-address-form');
|
320 |
+
} else {
|
321 |
+
Element.hide('billing-new-address-form');
|
322 |
+
}
|
323 |
+
},
|
324 |
+
|
325 |
+
resetSelectedAddress: function(){
|
326 |
+
var selectElement = $('billing-address-select')
|
327 |
+
if (selectElement) {
|
328 |
+
selectElement.value='';
|
329 |
+
}
|
330 |
+
},
|
331 |
+
|
332 |
+
fillForm: function(transport){
|
333 |
+
var elementValues = {};
|
334 |
+
if (transport && transport.responseText){
|
335 |
+
try{
|
336 |
+
elementValues = eval('(' + transport.responseText + ')');
|
337 |
+
}
|
338 |
+
catch (e) {
|
339 |
+
elementValues = {};
|
340 |
+
}
|
341 |
+
}
|
342 |
+
else{
|
343 |
+
this.resetSelectedAddress();
|
344 |
+
}
|
345 |
+
arrElements = Form.getElements(this.form);
|
346 |
+
for (var elemIndex in arrElements) {
|
347 |
+
if (arrElements[elemIndex].id) {
|
348 |
+
var fieldName = arrElements[elemIndex].id.replace(/^billing:/, '');
|
349 |
+
arrElements[elemIndex].value = elementValues[fieldName] ? elementValues[fieldName] : '';
|
350 |
+
if (fieldName == 'country_id' && billingForm){
|
351 |
+
billingForm.elementChildLoad(arrElements[elemIndex]);
|
352 |
+
}
|
353 |
+
}
|
354 |
+
}
|
355 |
+
},
|
356 |
+
|
357 |
+
setUseForShipping: function(flag) {
|
358 |
+
$('shipping:same_as_billing').checked = flag;
|
359 |
+
},
|
360 |
+
|
361 |
+
save: function(){
|
362 |
+
if (checkout.loadWaiting!=false) return;
|
363 |
+
|
364 |
+
var validator = new Validation(this.form);
|
365 |
+
if (validator.validate()) {
|
366 |
+
checkout.setLoadWaiting('billing');
|
367 |
+
|
368 |
+
// if ($('billing:use_for_shipping') && $('billing:use_for_shipping').checked) {
|
369 |
+
// $('billing:use_for_shipping').value=1;
|
370 |
+
// }
|
371 |
+
|
372 |
+
var request = new Ajax.Request(
|
373 |
+
this.saveUrl,
|
374 |
+
{
|
375 |
+
method: 'post',
|
376 |
+
onComplete: this.onComplete,
|
377 |
+
onSuccess: this.onSave,
|
378 |
+
onFailure: checkout.ajaxFailure.bind(checkout),
|
379 |
+
parameters: Form.serialize(this.form)
|
380 |
+
}
|
381 |
+
);
|
382 |
+
}
|
383 |
+
},
|
384 |
+
|
385 |
+
resetLoadWaiting: function(transport){
|
386 |
+
checkout.setLoadWaiting(false);
|
387 |
+
document.body.fire('billing-request:completed', {transport: transport});
|
388 |
+
},
|
389 |
+
|
390 |
+
/**
|
391 |
+
This method recieves the AJAX response on success.
|
392 |
+
There are 3 options: error, redirect or html with shipping options.
|
393 |
+
*/
|
394 |
+
nextStep: function(transport){
|
395 |
+
if (transport && transport.responseText){
|
396 |
+
try{
|
397 |
+
response = eval('(' + transport.responseText + ')');
|
398 |
+
}
|
399 |
+
catch (e) {
|
400 |
+
response = {};
|
401 |
+
}
|
402 |
+
}
|
403 |
+
|
404 |
+
if (response.error){
|
405 |
+
if ((typeof response.message) == 'string') {
|
406 |
+
alert(response.message);
|
407 |
+
} else {
|
408 |
+
if (window.billingRegionUpdater) {
|
409 |
+
billingRegionUpdater.update();
|
410 |
+
}
|
411 |
+
|
412 |
+
alert(response.message.join("\n"));
|
413 |
+
}
|
414 |
+
|
415 |
+
return false;
|
416 |
+
}
|
417 |
+
|
418 |
+
checkout.setStepResponse(response);
|
419 |
+
payment.initWhatIsCvvListeners();
|
420 |
+
// DELETE
|
421 |
+
//alert('error: ' + response.error + ' / redirect: ' + response.redirect + ' / shipping_methods_html: ' + response.shipping_methods_html);
|
422 |
+
// This moves the accordion panels of one page checkout and updates the checkout progress
|
423 |
+
//checkout.setBilling();
|
424 |
+
}
|
425 |
+
}
|
426 |
+
|
427 |
+
// shipping
|
428 |
+
var Shipping = Class.create();
|
429 |
+
Shipping.prototype = {
|
430 |
+
initialize: function(form, addressUrl, saveUrl, methodsUrl){
|
431 |
+
this.form = form;
|
432 |
+
if ($(this.form)) {
|
433 |
+
$(this.form).observe('submit', function(event){this.save();Event.stop(event);}.bind(this));
|
434 |
+
}
|
435 |
+
this.addressUrl = addressUrl;
|
436 |
+
this.saveUrl = saveUrl;
|
437 |
+
this.methodsUrl = methodsUrl;
|
438 |
+
this.onAddressLoad = this.fillForm.bindAsEventListener(this);
|
439 |
+
this.onSave = this.nextStep.bindAsEventListener(this);
|
440 |
+
this.onComplete = this.resetLoadWaiting.bindAsEventListener(this);
|
441 |
+
},
|
442 |
+
|
443 |
+
setAddress: function(addressId){
|
444 |
+
if (addressId) {
|
445 |
+
request = new Ajax.Request(
|
446 |
+
this.addressUrl+addressId,
|
447 |
+
{method:'get', onSuccess: this.onAddressLoad, onFailure: checkout.ajaxFailure.bind(checkout)}
|
448 |
+
);
|
449 |
+
}
|
450 |
+
else {
|
451 |
+
this.fillForm(false);
|
452 |
+
}
|
453 |
+
},
|
454 |
+
|
455 |
+
newAddress: function(isNew){
|
456 |
+
if (isNew) {
|
457 |
+
this.resetSelectedAddress();
|
458 |
+
Element.show('shipping-new-address-form');
|
459 |
+
} else {
|
460 |
+
Element.hide('shipping-new-address-form');
|
461 |
+
}
|
462 |
+
shipping.setSameAsBilling(false);
|
463 |
+
},
|
464 |
+
|
465 |
+
resetSelectedAddress: function(){
|
466 |
+
var selectElement = $('shipping-address-select')
|
467 |
+
if (selectElement) {
|
468 |
+
selectElement.value='';
|
469 |
+
}
|
470 |
+
},
|
471 |
+
|
472 |
+
fillForm: function(transport){
|
473 |
+
var elementValues = {};
|
474 |
+
if (transport && transport.responseText){
|
475 |
+
try{
|
476 |
+
elementValues = eval('(' + transport.responseText + ')');
|
477 |
+
}
|
478 |
+
catch (e) {
|
479 |
+
elementValues = {};
|
480 |
+
}
|
481 |
+
}
|
482 |
+
else{
|
483 |
+
this.resetSelectedAddress();
|
484 |
+
}
|
485 |
+
arrElements = Form.getElements(this.form);
|
486 |
+
for (var elemIndex in arrElements) {
|
487 |
+
if (arrElements[elemIndex].id) {
|
488 |
+
var fieldName = arrElements[elemIndex].id.replace(/^shipping:/, '');
|
489 |
+
arrElements[elemIndex].value = elementValues[fieldName] ? elementValues[fieldName] : '';
|
490 |
+
if (fieldName == 'country_id' && shippingForm){
|
491 |
+
shippingForm.elementChildLoad(arrElements[elemIndex]);
|
492 |
+
}
|
493 |
+
}
|
494 |
+
}
|
495 |
+
},
|
496 |
+
|
497 |
+
setSameAsBilling: function(flag) {
|
498 |
+
$('shipping:same_as_billing').checked = flag;
|
499 |
+
// #5599. Also it hangs up, if the flag is not false
|
500 |
+
// $('billing:use_for_shipping_yes').checked = flag;
|
501 |
+
if (flag) {
|
502 |
+
this.syncWithBilling();
|
503 |
+
}
|
504 |
+
},
|
505 |
+
|
506 |
+
syncWithBilling: function () {
|
507 |
+
$('billing-address-select') && this.newAddress(!$('billing-address-select').value);
|
508 |
+
$('shipping:same_as_billing').checked = true;
|
509 |
+
if (!$('billing-address-select') || !$('billing-address-select').value) {
|
510 |
+
arrElements = Form.getElements(this.form);
|
511 |
+
for (var elemIndex in arrElements) {
|
512 |
+
if (arrElements[elemIndex].id) {
|
513 |
+
var sourceField = $(arrElements[elemIndex].id.replace(/^shipping:/, 'billing:'));
|
514 |
+
if (sourceField){
|
515 |
+
arrElements[elemIndex].value = sourceField.value;
|
516 |
+
}
|
517 |
+
}
|
518 |
+
}
|
519 |
+
//$('shipping:country_id').value = $('billing:country_id').value;
|
520 |
+
shippingRegionUpdater.update();
|
521 |
+
$('shipping:region_id').value = $('billing:region_id').value;
|
522 |
+
$('shipping:region').value = $('billing:region').value;
|
523 |
+
//shippingForm.elementChildLoad($('shipping:country_id'), this.setRegionValue.bind(this));
|
524 |
+
} else {
|
525 |
+
$('shipping-address-select').value = $('billing-address-select').value;
|
526 |
+
}
|
527 |
+
},
|
528 |
+
|
529 |
+
setRegionValue: function(){
|
530 |
+
$('shipping:region').value = $('billing:region').value;
|
531 |
+
},
|
532 |
+
|
533 |
+
save: function(){
|
534 |
+
if (checkout.loadWaiting!=false) return;
|
535 |
+
var validator = new Validation(this.form);
|
536 |
+
if (validator.validate()) {
|
537 |
+
checkout.setLoadWaiting('shipping');
|
538 |
+
var request = new Ajax.Request(
|
539 |
+
this.saveUrl,
|
540 |
+
{
|
541 |
+
method:'post',
|
542 |
+
onComplete: this.onComplete,
|
543 |
+
onSuccess: this.onSave,
|
544 |
+
onFailure: checkout.ajaxFailure.bind(checkout),
|
545 |
+
parameters: Form.serialize(this.form)
|
546 |
+
}
|
547 |
+
);
|
548 |
+
}
|
549 |
+
},
|
550 |
+
|
551 |
+
resetLoadWaiting: function(transport){
|
552 |
+
checkout.setLoadWaiting(false);
|
553 |
+
},
|
554 |
+
|
555 |
+
nextStep: function(transport){
|
556 |
+
if (transport && transport.responseText){
|
557 |
+
try{
|
558 |
+
response = eval('(' + transport.responseText + ')');
|
559 |
+
}
|
560 |
+
catch (e) {
|
561 |
+
response = {};
|
562 |
+
}
|
563 |
+
}
|
564 |
+
if (response.error){
|
565 |
+
if ((typeof response.message) == 'string') {
|
566 |
+
alert(response.message);
|
567 |
+
} else {
|
568 |
+
if (window.shippingRegionUpdater) {
|
569 |
+
shippingRegionUpdater.update();
|
570 |
+
}
|
571 |
+
alert(response.message.join("\n"));
|
572 |
+
}
|
573 |
+
|
574 |
+
return false;
|
575 |
+
}
|
576 |
+
|
577 |
+
checkout.setStepResponse(response);
|
578 |
+
|
579 |
+
/*
|
580 |
+
var updater = new Ajax.Updater(
|
581 |
+
'checkout-shipping-method-load',
|
582 |
+
this.methodsUrl,
|
583 |
+
{method:'get', onSuccess: checkout.setShipping.bind(checkout)}
|
584 |
+
);
|
585 |
+
*/
|
586 |
+
//checkout.setShipping();
|
587 |
+
}
|
588 |
+
}
|
589 |
+
|
590 |
+
// shipping method
|
591 |
+
var ShippingMethod = Class.create();
|
592 |
+
ShippingMethod.prototype = {
|
593 |
+
initialize: function(form, saveUrl){
|
594 |
+
this.form = form;
|
595 |
+
if ($(this.form)) {
|
596 |
+
$(this.form).observe('submit', function(event){this.save();Event.stop(event);}.bind(this));
|
597 |
+
}
|
598 |
+
this.saveUrl = saveUrl;
|
599 |
+
this.validator = new Validation(this.form);
|
600 |
+
this.onSave = this.nextStep.bindAsEventListener(this);
|
601 |
+
this.onComplete = this.resetLoadWaiting.bindAsEventListener(this);
|
602 |
+
},
|
603 |
+
|
604 |
+
validate: function() {
|
605 |
+
var methods = document.getElementsByName('shipping_method');
|
606 |
+
if (methods.length==0) {
|
607 |
+
alert(Translator.translate('Your order cannot be completed at this time as there is no shipping methods available for it. Please make necessary changes in your shipping address.').stripTags());
|
608 |
+
return false;
|
609 |
+
}
|
610 |
+
|
611 |
+
if(!this.validator.validate()) {
|
612 |
+
return false;
|
613 |
+
}
|
614 |
+
|
615 |
+
for (var i=0; i<methods.length; i++) {
|
616 |
+
if (methods[i].checked) {
|
617 |
+
return true;
|
618 |
+
}
|
619 |
+
}
|
620 |
+
alert(Translator.translate('Please specify shipping method.').stripTags());
|
621 |
+
return false;
|
622 |
+
},
|
623 |
+
|
624 |
+
save: function(){
|
625 |
+
|
626 |
+
if (checkout.loadWaiting!=false) return;
|
627 |
+
if (this.validate()) {
|
628 |
+
checkout.setLoadWaiting('shipping-method');
|
629 |
+
var request = new Ajax.Request(
|
630 |
+
this.saveUrl,
|
631 |
+
{
|
632 |
+
method:'post',
|
633 |
+
onComplete: this.onComplete,
|
634 |
+
onSuccess: this.onSave,
|
635 |
+
onFailure: checkout.ajaxFailure.bind(checkout),
|
636 |
+
parameters: Form.serialize(this.form)
|
637 |
+
}
|
638 |
+
);
|
639 |
+
}
|
640 |
+
},
|
641 |
+
|
642 |
+
resetLoadWaiting: function(transport){
|
643 |
+
checkout.setLoadWaiting(false);
|
644 |
+
},
|
645 |
+
|
646 |
+
nextStep: function(transport){
|
647 |
+
if (transport && transport.responseText){
|
648 |
+
try{
|
649 |
+
response = eval('(' + transport.responseText + ')');
|
650 |
+
}
|
651 |
+
catch (e) {
|
652 |
+
response = {};
|
653 |
+
}
|
654 |
+
}
|
655 |
+
|
656 |
+
if (response.error) {
|
657 |
+
alert(response.message);
|
658 |
+
return false;
|
659 |
+
}
|
660 |
+
|
661 |
+
if (response.update_section) {
|
662 |
+
$('checkout-'+response.update_section.name+'-load').update(response.update_section.html);
|
663 |
+
}
|
664 |
+
|
665 |
+
payment.initWhatIsCvvListeners();
|
666 |
+
|
667 |
+
if (response.goto_section) {
|
668 |
+
checkout.gotoSection(response.goto_section, true);
|
669 |
+
checkout.reloadProgressBlock();
|
670 |
+
return;
|
671 |
+
}
|
672 |
+
|
673 |
+
if (response.payment_methods_html) {
|
674 |
+
$('checkout-payment-method-load').update(response.payment_methods_html);
|
675 |
+
}
|
676 |
+
|
677 |
+
checkout.setShippingMethod();
|
678 |
+
}
|
679 |
+
}
|
680 |
+
|
681 |
+
|
682 |
+
// payment
|
683 |
+
var Payment = Class.create();
|
684 |
+
Payment.prototype = {
|
685 |
+
beforeInitFunc:$H({}),
|
686 |
+
afterInitFunc:$H({}),
|
687 |
+
beforeValidateFunc:$H({}),
|
688 |
+
afterValidateFunc:$H({}),
|
689 |
+
initialize: function(form, saveUrl){
|
690 |
+
this.form = form;
|
691 |
+
this.saveUrl = saveUrl;
|
692 |
+
this.onSave = this.nextStep.bindAsEventListener(this);
|
693 |
+
this.onComplete = this.resetLoadWaiting.bindAsEventListener(this);
|
694 |
+
},
|
695 |
+
|
696 |
+
addBeforeInitFunction : function(code, func) {
|
697 |
+
this.beforeInitFunc.set(code, func);
|
698 |
+
},
|
699 |
+
|
700 |
+
beforeInit : function() {
|
701 |
+
(this.beforeInitFunc).each(function(init){
|
702 |
+
(init.value)();;
|
703 |
+
});
|
704 |
+
},
|
705 |
+
|
706 |
+
init : function () {
|
707 |
+
this.beforeInit();
|
708 |
+
var elements = Form.getElements(this.form);
|
709 |
+
if ($(this.form)) {
|
710 |
+
$(this.form).observe('submit', function(event){this.save();Event.stop(event);}.bind(this));
|
711 |
+
}
|
712 |
+
var method = null;
|
713 |
+
for (var i=0; i<elements.length; i++) {
|
714 |
+
if (elements[i].name=='payment[method]') {
|
715 |
+
if (elements[i].checked) {
|
716 |
+
method = elements[i].value;
|
717 |
+
}
|
718 |
+
} else {
|
719 |
+
elements[i].disabled = true;
|
720 |
+
}
|
721 |
+
elements[i].setAttribute('autocomplete','off');
|
722 |
+
}
|
723 |
+
if (method) this.switchMethod(method);
|
724 |
+
this.afterInit();
|
725 |
+
},
|
726 |
+
|
727 |
+
addAfterInitFunction : function(code, func) {
|
728 |
+
this.afterInitFunc.set(code, func);
|
729 |
+
},
|
730 |
+
|
731 |
+
afterInit : function() {
|
732 |
+
(this.afterInitFunc).each(function(init){
|
733 |
+
(init.value)();
|
734 |
+
});
|
735 |
+
},
|
736 |
+
|
737 |
+
switchMethod: function(method){
|
738 |
+
if (this.currentMethod && $('payment_form_'+this.currentMethod)) {
|
739 |
+
this.changeVisible(this.currentMethod, true);
|
740 |
+
$('payment_form_'+this.currentMethod).fire('payment-method:switched-off', {method_code : this.currentMethod});
|
741 |
+
}
|
742 |
+
if ($('payment_form_'+method)){
|
743 |
+
this.changeVisible(method, false);
|
744 |
+
$('payment_form_'+method).fire('payment-method:switched', {method_code : method});
|
745 |
+
} else {
|
746 |
+
//Event fix for payment methods without form like "Check / Money order"
|
747 |
+
document.body.fire('payment-method:switched', {method_code : method});
|
748 |
+
}
|
749 |
+
if (method) {
|
750 |
+
this.lastUsedMethod = method;
|
751 |
+
}
|
752 |
+
this.currentMethod = method;
|
753 |
+
},
|
754 |
+
|
755 |
+
changeVisible: function(method, mode) {
|
756 |
+
var block = 'payment_form_' + method;
|
757 |
+
[block + '_before', block, block + '_after'].each(function(el) {
|
758 |
+
element = $(el);
|
759 |
+
if (element) {
|
760 |
+
element.style.display = (mode) ? 'none' : '';
|
761 |
+
element.select('input', 'select', 'textarea', 'button').each(function(field) {
|
762 |
+
field.disabled = mode;
|
763 |
+
});
|
764 |
+
}
|
765 |
+
});
|
766 |
+
},
|
767 |
+
|
768 |
+
addBeforeValidateFunction : function(code, func) {
|
769 |
+
this.beforeValidateFunc.set(code, func);
|
770 |
+
},
|
771 |
+
|
772 |
+
beforeValidate : function() {
|
773 |
+
var validateResult = true;
|
774 |
+
var hasValidation = false;
|
775 |
+
(this.beforeValidateFunc).each(function(validate){
|
776 |
+
hasValidation = true;
|
777 |
+
if ((validate.value)() == false) {
|
778 |
+
validateResult = false;
|
779 |
+
}
|
780 |
+
}.bind(this));
|
781 |
+
if (!hasValidation) {
|
782 |
+
validateResult = false;
|
783 |
+
}
|
784 |
+
return validateResult;
|
785 |
+
},
|
786 |
+
|
787 |
+
validate: function() {
|
788 |
+
var result = this.beforeValidate();
|
789 |
+
if (result) {
|
790 |
+
return true;
|
791 |
+
}
|
792 |
+
var methods = document.getElementsByName('payment[method]');
|
793 |
+
if (methods.length==0) {
|
794 |
+
alert(Translator.translate('Your order cannot be completed at this time as there is no payment methods available for it.').stripTags());
|
795 |
+
return false;
|
796 |
+
}
|
797 |
+
for (var i=0; i<methods.length; i++) {
|
798 |
+
if (methods[i].checked) {
|
799 |
+
return true;
|
800 |
+
}
|
801 |
+
}
|
802 |
+
result = this.afterValidate();
|
803 |
+
if (result) {
|
804 |
+
return true;
|
805 |
+
}
|
806 |
+
alert(Translator.translate('Please specify payment method.').stripTags());
|
807 |
+
return false;
|
808 |
+
},
|
809 |
+
|
810 |
+
addAfterValidateFunction : function(code, func) {
|
811 |
+
this.afterValidateFunc.set(code, func);
|
812 |
+
},
|
813 |
+
|
814 |
+
afterValidate : function() {
|
815 |
+
var validateResult = true;
|
816 |
+
var hasValidation = false;
|
817 |
+
(this.afterValidateFunc).each(function(validate){
|
818 |
+
hasValidation = true;
|
819 |
+
if ((validate.value)() == false) {
|
820 |
+
validateResult = false;
|
821 |
+
}
|
822 |
+
}.bind(this));
|
823 |
+
if (!hasValidation) {
|
824 |
+
validateResult = false;
|
825 |
+
}
|
826 |
+
return validateResult;
|
827 |
+
},
|
828 |
+
|
829 |
+
save: function(){
|
830 |
+
if (checkout.loadWaiting!=false) return;
|
831 |
+
var validator = new Validation(this.form);
|
832 |
+
if (this.validate() && validator.validate()) {
|
833 |
+
checkout.setLoadWaiting('payment');
|
834 |
+
var request = new Ajax.Request(
|
835 |
+
this.saveUrl,
|
836 |
+
{
|
837 |
+
method:'post',
|
838 |
+
onComplete: this.onComplete,
|
839 |
+
onSuccess: this.onSave,
|
840 |
+
onFailure: checkout.ajaxFailure.bind(checkout),
|
841 |
+
parameters: Form.serialize(this.form)
|
842 |
+
}
|
843 |
+
);
|
844 |
+
}
|
845 |
+
},
|
846 |
+
|
847 |
+
resetLoadWaiting: function(){
|
848 |
+
checkout.setLoadWaiting(false);
|
849 |
+
},
|
850 |
+
|
851 |
+
nextStep: function(transport){
|
852 |
+
if (transport && transport.responseText){
|
853 |
+
try{
|
854 |
+
response = eval('(' + transport.responseText + ')');
|
855 |
+
}
|
856 |
+
catch (e) {
|
857 |
+
response = {};
|
858 |
+
}
|
859 |
+
}
|
860 |
+
/*
|
861 |
+
* if there is an error in payment, need to show error message
|
862 |
+
*/
|
863 |
+
if (response.error) {
|
864 |
+
if (response.fields) {
|
865 |
+
var fields = response.fields.split(',');
|
866 |
+
for (var i=0;i<fields.length;i++) {
|
867 |
+
var field = null;
|
868 |
+
if (field = $(fields[i])) {
|
869 |
+
Validation.ajaxError(field, response.error);
|
870 |
+
}
|
871 |
+
}
|
872 |
+
return;
|
873 |
+
}
|
874 |
+
alert(response.error);
|
875 |
+
return;
|
876 |
+
}
|
877 |
+
|
878 |
+
checkout.setStepResponse(response);
|
879 |
+
|
880 |
+
//checkout.setPayment();
|
881 |
+
},
|
882 |
+
|
883 |
+
initWhatIsCvvListeners: function(){
|
884 |
+
$$('.cvv-what-is-this').each(function(element){
|
885 |
+
Event.observe(element, 'click', toggleToolTip);
|
886 |
+
});
|
887 |
+
}
|
888 |
+
}
|
889 |
+
|
890 |
+
var Review = Class.create();
|
891 |
+
Review.prototype = {
|
892 |
+
initialize: function(saveUrl, successUrl, agreementsForm){
|
893 |
+
this.saveUrl = saveUrl;
|
894 |
+
this.successUrl = successUrl;
|
895 |
+
this.agreementsForm = agreementsForm;
|
896 |
+
this.onSave = this.nextStep.bindAsEventListener(this);
|
897 |
+
this.onComplete = this.resetLoadWaiting.bindAsEventListener(this);
|
898 |
+
},
|
899 |
+
|
900 |
+
save: function(){
|
901 |
+
if (checkout.loadWaiting!=false) return;
|
902 |
+
checkout.setLoadWaiting('review');
|
903 |
+
var params = Form.serialize(payment.form);
|
904 |
+
if (this.agreementsForm) {
|
905 |
+
params += '&'+Form.serialize(this.agreementsForm);
|
906 |
+
}
|
907 |
+
params.save = true;
|
908 |
+
var request = new Ajax.Request(
|
909 |
+
this.saveUrl,
|
910 |
+
{
|
911 |
+
method:'post',
|
912 |
+
parameters:params,
|
913 |
+
onComplete: this.onComplete,
|
914 |
+
onSuccess: this.onSave,
|
915 |
+
onFailure: checkout.ajaxFailure.bind(checkout)
|
916 |
+
}
|
917 |
+
);
|
918 |
+
},
|
919 |
+
|
920 |
+
resetLoadWaiting: function(transport){
|
921 |
+
checkout.setLoadWaiting(false, this.isSuccess);
|
922 |
+
},
|
923 |
+
|
924 |
+
nextStep: function(transport){
|
925 |
+
if (transport && transport.responseText) {
|
926 |
+
try{
|
927 |
+
response = eval('(' + transport.responseText + ')');
|
928 |
+
}
|
929 |
+
catch (e) {
|
930 |
+
response = {};
|
931 |
+
}
|
932 |
+
if (response.redirect) {
|
933 |
+
this.isSuccess = true;
|
934 |
+
location.href = response.redirect;
|
935 |
+
return;
|
936 |
+
}
|
937 |
+
if (response.success) {
|
938 |
+
this.isSuccess = true;
|
939 |
+
window.location=this.successUrl;
|
940 |
+
}
|
941 |
+
else{
|
942 |
+
var msg = response.error_messages;
|
943 |
+
if (typeof(msg)=='object') {
|
944 |
+
msg = msg.join("\n");
|
945 |
+
}
|
946 |
+
if (msg) {
|
947 |
+
alert(msg);
|
948 |
+
}
|
949 |
+
}
|
950 |
+
|
951 |
+
if (response.update_section) {
|
952 |
+
$('checkout-'+response.update_section.name+'-load').update(response.update_section.html);
|
953 |
+
}
|
954 |
+
|
955 |
+
if (response.goto_section) {
|
956 |
+
checkout.gotoSection(response.goto_section, true);
|
957 |
+
}
|
958 |
+
}
|
959 |
+
},
|
960 |
+
|
961 |
+
isSuccess: false
|
962 |
+
}
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>HeidelpayCDEdition</name>
|
4 |
-
<version>15.
|
5 |
<stability>stable</stability>
|
6 |
<license>GPL</license>
|
7 |
<channel>community</channel>
|
@@ -39,13 +39,12 @@ Telefon: +49 (0) 6221 / 65 170-20<br />
|
|
39 |
E-Mail: sales@heidelpay.de<br />
|
40 |
Internet: www.heidelpay.de<br />
|
41 |
</description>
|
42 |
-
<notes>- add new payment method
|
43 |
-
-
|
44 |
-
</notes>
|
45 |
<authors><author><name>Heidelberger Payment GmbH</name><user>Heidelpay</user><email>magento@heidelpay.de</email></author></authors>
|
46 |
-
<date>2015-
|
47 |
-
<time>
|
48 |
-
<contents><target name="magecommunity"><dir name="HeidelpayCD"><dir name="Edition"><dir name="Block"><file name="Abstract.php" hash="e589f421bf86a643921b11d75fcbb8fb"/><dir name="Form"><file name="Creditcard.php" hash="eca2833e42df4e57485afb8aeb0d6a0f"/><file name="Debit.php" hash="fb2ecd8695d813e34e4ab6b6501d359e"/><file name="Desconly.php" hash="912dd8ab02ccc24b7121d6f05255c15d"/><file name="Eps.php" hash="8698a923d04580654cacecfff64268c8"/><file name="Giropay.php" hash="aba0b69429706944ae1ac4466ab9ce3b"/><file name="Ideal.php" hash="a31bd92c30af0718e6f4347f14eba963"/><file name="Postfinance.php" hash="b3a91389b3fb235eb113a919161d2476"/></dir><file name="Index.php" hash="e13d55a3c5aa1ed0ab680ae378131eee"/><dir name="Info"><file name="Debit.php" hash="888f8a1c1aaaf6974131970969caa5f2"/></dir><file name="Success.php" hash="97b586c0d2c5b16c53608b3e41f35b79"/></dir><dir name="Helper"><file name="Data.php" hash="
|
49 |
<compatible/>
|
50 |
-
<dependencies><required><php><min>5.0.0</min><max>5.
|
51 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>HeidelpayCDEdition</name>
|
4 |
+
<version>15.9.9</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>GPL</license>
|
7 |
<channel>community</channel>
|
39 |
E-Mail: sales@heidelpay.de<br />
|
40 |
Internet: www.heidelpay.de<br />
|
41 |
</description>
|
42 |
+
<notes>- add new payment method MasterPass
|
43 |
+
- add auto finalize for invoice</notes>
|
|
|
44 |
<authors><author><name>Heidelberger Payment GmbH</name><user>Heidelpay</user><email>magento@heidelpay.de</email></author></authors>
|
45 |
+
<date>2015-09-30</date>
|
46 |
+
<time>13:18:39</time>
|
47 |
+
<contents><target name="magecommunity"><dir name="HeidelpayCD"><dir name="Edition"><dir name="Block"><file name="Abstract.php" hash="e589f421bf86a643921b11d75fcbb8fb"/><file name="Button.php" hash="64dfc3786020559d2c8e2377d5c8281f"/><dir name="Form"><file name="Creditcard.php" hash="eca2833e42df4e57485afb8aeb0d6a0f"/><file name="Debit.php" hash="fb2ecd8695d813e34e4ab6b6501d359e"/><file name="Desconly.php" hash="912dd8ab02ccc24b7121d6f05255c15d"/><file name="Eps.php" hash="8698a923d04580654cacecfff64268c8"/><file name="Giropay.php" hash="aba0b69429706944ae1ac4466ab9ce3b"/><file name="Ideal.php" hash="a31bd92c30af0718e6f4347f14eba963"/><file name="Masterpass.php" hash="7fb40e7effa042586ae5ac057f12e1a9"/><file name="Postfinance.php" hash="b3a91389b3fb235eb113a919161d2476"/></dir><file name="Index.php" hash="e13d55a3c5aa1ed0ab680ae378131eee"/><dir name="Info"><file name="Debit.php" hash="888f8a1c1aaaf6974131970969caa5f2"/><file name="Masterpass.php" hash="562c524745e0b89ea600435e38e6ce09"/></dir><dir name="Onepage"><file name="Billing.php" hash="fa35f5b8eda774a881999ebcc53ac52a"/><file name="Progress.php" hash="a717a71fd538c8fc5aa2b90de717e9ca"/><file name="Shipping.php" hash="99151e8d86b19160b633a91f0939aad6"/></dir><file name="Onepage.php" hash="51630e0804b42fead2cda80e013d5dbf"/><file name="Success.php" hash="97b586c0d2c5b16c53608b3e41f35b79"/></dir><dir name="Helper"><file name="Data.php" hash="f48ce588d187b2b890a48b8b044830c8"/><file name="Payment.php" hash="4c9e8809cac825de8ab77c3c6555e6ec"/></dir><dir name="Model"><file name="Customer.php" hash="4e65287a3d6a171444614ed580635147"/><dir name="Mysql4"><dir name="Customer"><file name="Collection.php" hash="9fa63b33278570af246ca8cb1cfc706e"/></dir><file name="Customer.php" hash="952d0c21f063e34b0c767968c85184d7"/><dir name="Transaction"><file name="Collection.php" hash="aade54e4bced143dc773a256f27418cd"/></dir><file name="Transaction.php" hash="d3c544e838b9b8f39efaad4caa5d83c2"/></dir><file name="Observer.php" hash="a56a4432ceef018e53da23d1523b9243"/><dir name="Order"><dir name="Pdf"><file name="Invoice.php" hash="f8222c1be3bfa9d20d52c33cfccf9a67"/></dir></dir><dir name="Payment"><file name="Abstract.php" hash="a756f82b0e291bf096a8467956b9af27"/><file name="Hcdbs.php" hash="90639d3a5099fb432750655de7d5a51a"/><file name="Hcdcc.php" hash="7ef1159ce558a399c9e12f6eebd3885f"/><file name="Hcddc.php" hash="6db05d99cd374e873866522a07a82b6a"/><file name="Hcddd.php" hash="f337a26f367ed9e5fcf8e25f73ac6fd7"/><file name="Hcdeps.php" hash="6caef61817c39c62176d0213ae309e56"/><file name="Hcdgp.php" hash="3fb1d66a07d70d744de2539758ab5197"/><file name="Hcdide.php" hash="260bbb90e918f884045a459ad346af30"/><file name="Hcdiv.php" hash="065562ea683f083a157720fa73cc65a7"/><file name="Hcdmk.php" hash="c5c618e46541ba6f23f338a2b6fbe6c5"/><file name="Hcdmpa.php" hash="e955d67dda3524ac3583bbe6e2dd7ae0"/><file name="Hcdpal.php" hash="eab547d1d8f3d56203b66a6e165bb767"/><file name="Hcdpf.php" hash="c06b78f4e07001b8e838b88037ee0e63"/><file name="Hcdpp.php" hash="0dda37098aceb80ed6f0e774550ac2c9"/><file name="Hcdsu.php" hash="41b884aff43ada409a9d16e7a0f29b97"/><file name="Hcdyt.php" hash="3b378f1f52419788cc8b6aaa7fefde1b"/></dir><dir name="Resource"><file name="Encryption.php" hash="edbc116ce3c9dc815a658beb4ac7705a"/><file name="Setup.php" hash="74d6669d6d2273dd241a5064c85c1e78"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Bookingmode.php" hash="a83d2adbb54a69c0afd7ef87857672ee"/><file name="Recognition.php" hash="bec39a1786cca41140c590b86b864850"/><file name="Returnurl.php" hash="626518f91f8b0632211ac85fb658fdd7"/></dir></dir></dir><file name="Transaction.php" hash="7f29642f5699664c3b702410d0445853"/></dir><dir name="controllers"><file name="CheckoutController.php" hash="82492b85dab9bbc31e8ff61f75b49264"/><file name="IndexController.php" hash="56142c73473c420f12c38f4befd6cfe5"/></dir><dir name="etc"><file name="config.xml" hash="1bb4068fc2290a59c8adb2bde9f84336"/><file name="system.xml" hash="0272d10e1bb7ef04ed5d6fcd52bd3d59"/></dir><dir name="sql"><dir name="hcd_setup"><file name="install-15.1.30.php" hash="855a7ef4800bdc2369d8146306365e64"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="hcd.xml" hash="21222f3bb39a41d43e7b781cbeb0b6a9"/></dir><dir name="template"><dir name="hcd"><dir name="Info"><file name="debit.phtml" hash="0632fa163fa5bb7df9c0da2b4010c7dc"/><file name="masterpass.phtml" hash="0632fa163fa5bb7df9c0da2b4010c7dc"/></dir><file name="button.phtml" hash="66ff2e82c4db439d3c616c455e8654f8"/><dir name="form"><file name="creditcard.phtml" hash="73fb91d12a559eebb68ee5c85f285778"/><file name="debit.phtml" hash="e89162ee1e5a8958f4537cffa4873714"/><file name="desconly.phtml" hash="0df2f305be1337de2db69ecb93ce48b7"/><file name="eps.phtml" hash="23895dad6e135ca58473a181bf2f7388"/><file name="giropay.phtml" hash="ebcb9379429b3d47263ee97243688f3c"/><file name="ideal.phtml" hash="23895dad6e135ca58473a181bf2f7388"/><file name="masterpass.phtml" hash="d86140758d30b72389b0bc19677911ef"/><file name="postfinance.phtml" hash="0db7c2d0404efa2feb98748204bf72d4"/></dir><file name="index.phtml" hash="03a0dccd4448c6a3d9745a2cea7fa327"/><dir name="mail"><file name="hcd_payment_info.phtml" hash="1ec6d33fbb5bc8391a8295be1ffa5b38"/></dir><dir name="onepage"><file name="billing.phtml" hash="14b57c38161e6749fbc37813337c2379"/><dir name="payment"><file name="methods.phtml" hash="0e2f9e12e7dfc1070404af7dfdd7b024"/></dir><file name="payment.phtml" hash="6d452186f51dc088c5007c16ddd1cf08"/><dir name="progress"><file name="payment.phtml" hash="440f57443141d1280cf18c798cc8af10"/><file name="shipping.phtml" hash="c659abf65a13a4f1fadcec6221afd1a1"/></dir><file name="progress.phtml" hash="9527eb86ec29030f4b111455d3122388"/><file name="shipping_method.phtml" hash="79f1cc31d10a35df619b15db481e9543"/></dir><file name="onepage.phtml" hash="df4e2760e3804f7a2ff51d4b4cf74538"/><file name="success.phtml" hash="9cac258cb96b057b3de00ab971bf7855"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="hcd"><dir name="Info"><file name="masterpass.phtml" hash="4d8eed392d77abb15418562f25de9611"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="HeidelpayCD_Edition.xml" hash="277ef825780ed2df1f5de2cf949f842b"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="HeidelpayCD_Edition.csv" hash="096f9a31703a975b3987cb5abdd22171"/></dir><dir name="en_US"><file name="HeidelpayCD_Edition.csv" hash="45b06ae656957027fcc7aea52451a4bf"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="hcd"><file name="loading.gif" hash="29868a3a7094b078733caba6b192b080"/><file name="masterpass_100_28.jpg" hash="e0907959b1e345de6a3d73f32a5f5369"/><file name="masterpass_240_66.jpg" hash="7ad0078b8a27914aceb590c4100f3aa8"/></dir></dir><dir name="css"><file name="heidelpaycd.css" hash="403ea53f4c119f0eda8ad78a63197878"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="images"><dir name="hcd"><file name="masterpass_100_28.jpg" hash="e0907959b1e345de6a3d73f32a5f5369"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="hcd"><file name="heidelpaycd.js" hash="65300431d3b17aae05646bc921ff986b"/><file name="opcheckout.js" hash="0b23200ff0fcb85f9ebbbd74fca04064"/></dir></dir></target></contents>
|
48 |
<compatible/>
|
49 |
+
<dependencies><required><php><min>5.0.0</min><max>5.9.99</max></php></required></dependencies>
|
50 |
</package>
|
skin/adminhtml/base/default/images/hcd/masterpass_100_28.jpg
ADDED
Binary file
|
skin/frontend/base/default/css/heidelpaycd.css
CHANGED
@@ -51,4 +51,40 @@
|
|
51 |
.hcd-use_again {
|
52 |
margin-right: 5px;
|
53 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
}
|
51 |
.hcd-use_again {
|
52 |
margin-right: 5px;
|
53 |
|
54 |
+
}
|
55 |
+
|
56 |
+
button.btn-hcdmpa-payment-data {
|
57 |
+
border: 0;
|
58 |
+
height: 46px;
|
59 |
+
width: 80px;
|
60 |
+
background: url('https://www.mastercard.com/mc_us/wallet/img/en/FR/mp_acc_046px_gif.gif'
|
61 |
+
) 0 0 no-repeat;
|
62 |
+
padding: 0 0 0 9px;
|
63 |
+
font: bold 15px/40px Arial, Helvetica, sans-serif;
|
64 |
+
color: #fff;
|
65 |
+
cursor: pointer;
|
66 |
+
position: absolute;
|
67 |
+
}
|
68 |
+
|
69 |
+
|
70 |
+
button.btn-hcdmpa-info {
|
71 |
+
border: 0;
|
72 |
+
width: 100px;
|
73 |
+
height: 28px;
|
74 |
+
padding: 0 0 0 9px;
|
75 |
+
font: bold 15px/40px Arial, Helvetica, sans-serif;
|
76 |
+
color: #fff;
|
77 |
+
cursor: pointer;
|
78 |
+
}
|
79 |
+
|
80 |
+
|
81 |
+
.hcd-masterpass-payment-data {
|
82 |
+
margin-left: 85px;
|
83 |
+
padding-left: 5px;
|
84 |
+
height: 46px;
|
85 |
+
}
|
86 |
+
|
87 |
+
.hcd-masterpass-payment-data-info {
|
88 |
+
margin-top: 5px;
|
89 |
+
font-size: 12px;
|
90 |
}
|
skin/frontend/base/default/images/hcd/masterpass_100_28.jpg
ADDED
Binary file
|
skin/frontend/base/default/images/hcd/masterpass_240_66.jpg
ADDED
Binary file
|