HeidelpayCDEdition - Version 15.9.9

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

Files changed (49) hide show
  1. app/code/community/HeidelpayCD/Edition/Block/Button.php +6 -0
  2. app/code/community/HeidelpayCD/Edition/Block/Form/Masterpass.php +9 -0
  3. app/code/community/HeidelpayCD/Edition/Block/Info/Masterpass.php +12 -0
  4. app/code/community/HeidelpayCD/Edition/Block/Onepage.php +35 -0
  5. app/code/community/HeidelpayCD/Edition/Block/Onepage/Billing.php +37 -0
  6. app/code/community/HeidelpayCD/Edition/Block/Onepage/Progress.php +79 -0
  7. app/code/community/HeidelpayCD/Edition/Block/Onepage/Shipping.php +37 -0
  8. app/code/community/HeidelpayCD/Edition/Helper/Data.php +7 -7
  9. app/code/community/HeidelpayCD/Edition/Helper/Payment.php +138 -13
  10. app/code/community/HeidelpayCD/Edition/Model/Observer.php +130 -0
  11. app/code/community/HeidelpayCD/Edition/Model/Payment/Abstract.php +94 -64
  12. app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdbs.php +2 -3
  13. app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdcc.php +2 -0
  14. app/code/community/HeidelpayCD/Edition/Model/Payment/Hcddc.php +2 -0
  15. app/code/community/HeidelpayCD/Edition/Model/Payment/Hcddd.php +3 -2
  16. app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdiv.php +2 -0
  17. app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdmpa.php +108 -0
  18. app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdpal.php +2 -0
  19. app/code/community/HeidelpayCD/Edition/Model/Payment/Hcdpp.php +1 -2
  20. app/code/community/HeidelpayCD/Edition/Model/Transaction.php +14 -4
  21. app/code/community/HeidelpayCD/Edition/controllers/CheckoutController.php +268 -0
  22. app/code/community/HeidelpayCD/Edition/controllers/IndexController.php +224 -19
  23. app/code/community/HeidelpayCD/Edition/etc/config.xml +56 -3
  24. app/code/community/HeidelpayCD/Edition/etc/system.xml +159 -4
  25. app/code/community/HeidelpayCD/Edition/sql/hcd_setup/install-15.1.30.php +170 -170
  26. app/design/adminhtml/default/default/template/hcd/Info/masterpass.phtml +22 -0
  27. app/design/frontend/base/default/layout/hcd.xml +115 -2
  28. app/design/frontend/base/default/template/hcd/Info/debit.phtml +23 -0
  29. app/design/frontend/base/default/template/hcd/Info/masterpass.phtml +23 -0
  30. app/design/frontend/base/default/template/hcd/button.phtml +65 -0
  31. app/design/frontend/base/default/template/hcd/form/masterpass.phtml +42 -0
  32. app/design/frontend/base/default/template/hcd/mail/hcd_payment_info.phtml +16 -0
  33. app/design/frontend/base/default/template/hcd/onepage.phtml +35 -0
  34. app/design/frontend/base/default/template/hcd/onepage/billing.phtml +168 -0
  35. app/design/frontend/base/default/template/hcd/onepage/payment.phtml +47 -0
  36. app/design/frontend/base/default/template/hcd/onepage/payment/methods.phtml +75 -0
  37. app/design/frontend/base/default/template/hcd/onepage/progress.phtml +33 -0
  38. app/design/frontend/base/default/template/hcd/onepage/progress/payment.phtml +51 -0
  39. app/design/frontend/base/default/template/hcd/onepage/progress/shipping.phtml +44 -0
  40. app/design/frontend/base/default/template/hcd/onepage/shipping_method.phtml +20 -0
  41. app/locale/de_DE/HeidelpayCD_Edition.csv +177 -150
  42. app/locale/en_US/HeidelpayCD_Edition.csv +182 -156
  43. js/hcd/heidelpaycd.js +12 -0
  44. js/hcd/opcheckout.js +962 -0
  45. package.xml +7 -8
  46. skin/adminhtml/base/default/images/hcd/masterpass_100_28.jpg +0 -0
  47. skin/frontend/base/default/css/heidelpaycd.css +36 -0
  48. skin/frontend/base/default/images/hcd/masterpass_100_28.jpg +0 -0
  49. 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
- $respone = $client->request('POST');
31
- $res = $respone->getBody();
 
 
 
 
 
 
 
 
 
 
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
- $params['PAYMENT.CODE'] = strtoupper($config['PAYMENT.METHOD']).'.'.$config['PAYMENT.TYPE'];
 
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
- $path = "payment/".$order->getPayment()->getMethodInstance()->getCode()."/";
 
 
 
 
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) $invoice->sendEmail(true, $invoiceMailComment); // Rechnung versenden
 
 
 
 
 
 
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 = true;
15
- protected $_canCapturePartial = true;
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 = array());
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
- 'PRESENTATION.CURRENCY' => $order->getOrderCurrencyCode(),
215
- 'IDENTIFICATION.TRANSACTIONID' => $order->getRealOrderId()
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
- 'SHOPMODULE.VERSION' => 'HeidelpayCD Edition - '. (string) Mage::getConfig()->getNode()->modules->HeidelpayCD_Edition->version
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
- $CustomerId = $billing->getCustomerId();
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
- if($this->getCustomerData($this->_code, $billing->getCustomerId())) {
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
- // remove cc or dc reference data
281
- if ($this->_code == 'hcdcc' or $this->_code == 'hcddc') {
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
- $this->log('Can capture ? '.($this->canCapture()) ? 'YES': 'NO');
 
 
 
 
426
  if ($this->canCapture()) {
427
- $order = $payment->getOrder();
428
  $Autorisation = Mage::getModel('hcd/transaction')->getOneTransactionByMethode($order->getRealOrderId() , 'PA');
429
 
430
- $config = $this->getMainConfig($this->_code, $Autorisation['CRITERION_STOREID']);
431
 
 
 
 
 
432
 
433
- // finalize function for invoice and billsafe transactions
434
- $config['PAYMENT.TYPE'] = ($this->_code == 'hcdbs' or $this->_code == 'hcdiv') ? 'FI' : 'CP'; // If billsafe or invoice set to fin
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=array());
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
- $visitorData = Mage::getSingleton('core/session')->getVisitorData();
584
- $CustomerId = $visitorData['visitor_id'];
585
- $StoreId = 0;
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
- $this->getCheckout()->setHcdPaymentInfo($load_snippet);
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
- $this->getCheckout()->setHcdPaymentInfo($load_snippet);
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
- return json_decode(Mage::getModel('hcd/resource_encryption')->decrypt($data[0]['jsonresponse']),true);
82
-
 
 
 
 
83
  }
84
 
85
  public function getOneTransactionByMethode($transid , $methode) {
86
 
87
- $data = array();
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
- return json_decode(Mage::getModel('hcd/resource_encryption')->decrypt($data[0]['jsonresponse']),true);
 
 
 
 
 
 
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("Get response form server " . Mage::app()->getRequest()->getServer('REMOTE_ADDR') . " with an invalid hash. This could be some kind of manipulation.", 'WARN');
134
  $this->_redirect('', array('_forced_secure' => true, '_store_to_url' => true, '_nosid' => true));
135
  };
136
 
137
  $session->unsHcdPaymentInfo();
138
- $order->getPayment()->getMethodInstance()->showPaymentInfo($data);
139
- if($session->getHcdPaymentInfo() !== false) $order->setCustomerNote($session->getHcdPaymentInfo());
 
 
 
 
 
 
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'] = $Request->getPOST('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="(\w+)">(\w+)<\/Criterion>/', '<$2>$3</$2>',$rawPost);
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 == null) {
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.5.28</version>
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>0</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>31HA07BC811E8AEF9AB2733D80C21DA8</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>Bookinnmode</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>Bookinnmode</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>Bookinnmode</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
- </layout>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ &nbsp;
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>&laquo; </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>&laquo; </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&uuml;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&uuml;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
- "Bookinnmode","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&auml;nder"
20
- "specific countries","L&auml;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 &uuml;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&szlig;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&auml;chsten Tagen von folgendem Konto abgebucht:<br /><br />
31
- IBAN: {Iban}<br />
32
- BIC: {Bic}<br /><br />
33
- <i>Die Abbuchung enth&auml;lt die Mandatsreferenz-ID: {Ident}<br />
34
- und die Gl&auml;ubiger ID: {CreditorId}</i><br />
35
- <br />
36
- Bitte sorgen Sie f&uuml;r ausreichende Deckung auf dem entsprechenden Konto."
37
- "An unexpected error occurred. Please contact us to get further information.","Es ist ein Fehler aufgetrehten. Bitte kontaktieren Sie uns f&uumlr weitere Informationen."
38
- "continue","Weiter"
39
- "Please enter additional payment information.","Geben Sie weitere Zahlungsinformationen ein."
40
- "recived amount ","eingegangener Betrag "
41
- "Push information from Heidelpay","Push Information von Heidelpay"
42
- "Direct Booking","Sofortbuchung"
43
- "Preauthorisation","Reservierung"
44
-
45
- "Credit Card","Kreditkarte"
46
- "Debit Card","Debitkarte"
47
- "Debitcard","Debitkarte"
48
- "Direct Debit","Lastschrift"
49
- "SOFORT &Üuml;berweisung","SOFORT &Üuml;berweisung"
50
- "Giropay","Giropay"
51
- "Pay Pal","Pay Pal"
52
- "EPS","EPS"
53
- "iDeal","iDeal"
54
- "Prepayment","Vorkasse"
55
- "Invoice","Rechnung"
56
- "Mangirkart","MangirKart"
57
- "BillSafe","Kauf auf Rechnung"
58
-
59
- "Deschcdcc","Sicher zahlen mit Kreditkarte"
60
- "Deschcddc","Sicher zahlen mit Debitkarte"
61
- "Deschcddd","Sicher zahlen mit Lastschrift"
62
- "Deschcdeps","Sicher zahlen mit EPS"
63
- "Deschcdgp","Sicher zahlen mit Giropay"
64
- "Deschcdide","Sicher zahlen mit iDeal"
65
- "Deschcdpal","Sicher zahlen mit PayPal"
66
- "Deschcdpp","Sicher zahlen mit Vorkasse"
67
- "Deschcdpf","Sicher zahlen mit Postfinance"
68
- "Deschcdsu","Sicher zahlen mit Sofort&uuml;berweisung"
69
- "Deschcdiv","Sicher zahlen mit Rechnung"
70
- "Deschcdmk","Sicher zahlen mit MangirKart"
71
- "Deschcdbs","Kaufen Sie jetzt auf Rechnung und begutachten Sie Ihre Eink&auml;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>"
72
- "Deschcdyt","Sicher zahlen mit Yapital"
73
-
74
- "Return in Errorcase","R&uuml;ckleitung bei Bezahlfehler"
75
- "Please configurate where your costumer should be redirected to in case of an payment error","Hier k&ouml;nnen Sie einstellen, wo der Kunde in Fehlerfall hingeleitet werden soll."
76
- "Basket","Warenkorb"
77
- "Use Testsystem","Testsystem Betrieb"
78
- "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&uuml;hrt. Ansonsten wird das Live System benutzt."
79
- "Security Sender","Security Sender"
80
- "User Login","User Login"
81
- "User Password","User Password"
82
- "Debug Log","Debug Log"
83
- "If is set to yes, you can controll all neccessary conntetion Data in /var/log/Heidelpay.log","Wenn ja eingestellt wurde, k&ouml;nnen Sie in var/log/Heidelpay.log alle Debug Informationen einsehen."
84
- "Invoicing over heidelpay","Heidelpay Rechnungsversand"
85
- "Invoicing over heidelpay requires an extra contract. For more information, please contact your key account manager.","F&uuml;r Heidelpay Rechnungsversand ben&ouml;tigen Sie einen extra Vertag. Kontaktieren Sie Ihren Vertriebsansprechpartner f&uuml;r ein Angebot."
86
- "General Settings Heidelpay","Heidelpay Einstellungen"
87
- "about Heidelpay","&Uuml;ber Heidelpay"
88
-
89
- "Heidelpay Credit Card (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Kreditkarte"
90
- "Heidelpay Direct Debit (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Lastschrift"
91
- "Heidelpay Debit Card (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Debitkarte"
92
- "Heidelpay SOFORT &Uuml;berweisung (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition SOFORT &Uuml;berweisung"
93
- "Heidelpay Giropay (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Giropay"
94
- "Heidelpay MangirKart (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition MangirKart"
95
- "Heidelpay Postfinance (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Postfinance"
96
- "Heidelpay Invoice (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Rechnung"
97
- "Heidelpay Pay Pal (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition PayPal"
98
- "Heidelpay Prepayment (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Vorkasse"
99
- "Heidelpay Billsafe (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition BillSafe"
100
- "Heidelpay EPS (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition EPS"
101
- "Heidelpay iDeal (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition iDeal"
102
- "Heidelpay Yapital (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Yapital"
103
-
104
- "No.","Nr."
105
- "Valid until:","G&uuml;ltig bis:"
106
- "close","schliessen"
107
- "Cardtype:","Kartentyp:"
108
- "Account No","Konto"
109
- "Bankcode","BLZ"
110
- "IBAN","IBAN"
111
- "BIC","BIC"
112
- "Owner","Inhaber"
113
- "Please enter account no.","Bitte Konto angeben."
114
- "Please enter bankcode.","Bitte BLZ angeben."
115
- "Please enter owner.","Bitte Inhaber angeben."
116
- "Enter additional information for the payment.","Geben Sie weitere Zahlungsinformationen ein."
117
- "BillSafe Info Text","{LEGALNOTE}<br/><br/>
118
- Bitte &uuml;berweisen Sie den Betrag von <strong>{AMOUNT} {CURRENCY}</strong>, innerhalb von <strong>{PERIOD} Tage</strong> nach dem Sie &uuml;ber den Versand informiert wurden, auf folgendes Konto:<br/><br/>
119
- <strong>Kontoinhaber: {CONNECTOR_ACCOUNT_HOLDER}<br/>
120
- IBAN: {CONNECTOR_ACCOUNT_IBAN}<br/>
121
- BIC: {CONNECTOR_ACCOUNT_BIC}</strong><br/><br/>
122
- <i>Geben Sie als Verwendungszweck bitte ausschlie&szlig;lich diese Identifikationsnummer an:</i><br/>
123
- <strong>{IDENTIFICATION_SHORTID}</strong>"
124
-
125
- "Bank code or bic","Bankleitzahl oder Bic"
126
- "Account number or iban","Kontonummer oder Iban"
127
- "IBAN & BIC","IBAN & BIC"
128
-
129
- "Account information","Kontoinformationen"
130
- "Account no. & Bank no.","Kontonummer & Bankleitzahl"
131
- "IBAN & BIC","IBAN & BIC"
132
-
133
- "Canceled by user","Bezahlprozess vom Benutzer abgebrochen."
134
-
135
- "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?"
136
- "HPError-100.100.101","Bitte &uuml;berpr&uuml;fen Sie Ihre Eingaben"
137
- "HPError-100.100.303","Die Karte ist abgelaufen"
138
- "HPError-100.100.500","Bitte &uuml;berpr&uuml;fen Sie Ihre Eingaben"
139
- "HPError-100.396.101","Abbruch durch Benutzer"
140
- "HPError-100.400.110","Bitte w&auml;hlen Sie eine andere Zahlart"
141
- "HPError-800.100.151","Bitte w&auml;hlen Sie eine andere Zahlart"
142
- "HPError-800.100.152","Bitte w&auml;hlen Sie eine andere Zahlart"
143
- "HPError-800.100.153","Bitte &uuml;berpr&uuml;fen Sie Ihre Eingaben"
144
- "HPError-800.100.157","Bitte &uuml;berpr&uuml;fen Sie Ihre Eingaben"
145
- "HPError-800.100.159","Bitte w&auml;hlen Sie eine andere Zahlart"
146
- "HPError-800.100.160","Bitte w&auml;hlen Sie eine andere Zahlart"
147
- "HPError-800.100.168","Bitte w&auml;hlen Sie eine andere Zahlart"
148
- "HPError-800.100.171","Bitte w&auml;hlen Sie eine andere Zahlart"
149
- "HPError-800.300.101","Bitte w&auml;hlen Sie eine andere Zahlart"
150
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Redirect to payment process","Weiterleitung zum Bezahlsystem"
2
+ "Please confirm your payment:","Bitte f&uuml;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&uuml;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&auml;nder"
20
+ "specific countries","L&auml;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 &uuml;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&szlig;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&auml;chsten Tagen von folgendem Konto abgebucht:<br /><br />
31
+ IBAN: {Iban}<br />
32
+ BIC: {Bic}<br /><br />
33
+ <i>Die Abbuchung enth&auml;lt die Mandatsreferenz-ID: {Ident}<br />
34
+ und die Gl&auml;ubiger ID: {CreditorId}</i><br />
35
+ <br />
36
+ Bitte sorgen Sie f&uuml;r ausreichende Deckung auf dem entsprechenden Konto."
37
+ "Invoice Info Text","Bitte &uuml;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&szlig;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&uumlr 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&uuml;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&auml;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&ouml;sung f&uuml;r den Einkauf im Internet von MasterCard, die von Banken und MasterCard direkt bereitgestellt wird. Ihre Kartendaten und Lieferadressen werden an einem gesch&uuml;tzten Ort aufbewahrt. Nachdem Sie sich registriert haben, k&ouml;nnen Sie mit wenigen Klicks sicher online einkaufen."
89
+
90
+ "Return in Errorcase","R&uuml;ckleitung bei Bezahlfehler"
91
+ "Please configurate where your costumer should be redirected to in case of an payment error","Hier k&ouml;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&uuml;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&ouml;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&uuml;r Heidelpay Rechnungsversand ben&ouml;tigen Sie einen extra Vertag. Kontaktieren Sie Ihren Vertriebsansprechpartner f&uuml;r ein Angebot."
102
+ "General Settings Heidelpay","Heidelpay Einstellungen"
103
+ "about Heidelpay","&Uuml;ber Heidelpay"
104
+ "about MasterPass","&uuml;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 &Uuml;berweisung (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition SOFORT &Uuml;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&uuml;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","&Auml;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 &uuml;berweisen Sie den Betrag von <strong>{AMOUNT} {CURRENCY}</strong>, innerhalb von <strong>{PERIOD} Tage</strong> nach dem Sie &uuml;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&szlig;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&ouml;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 &uuml;berpr&uuml;fen Sie Ihre Eingaben"
164
+ "HPError-100.100.303","Die Karte ist abgelaufen"
165
+ "HPError-100.100.500","Bitte &uuml;berpr&uuml;fen Sie Ihre Eingaben"
166
+ "HPError-100.396.101","Abbruch durch Benutzer"
167
+ "HPError-100.400.110","Bitte w&auml;hlen Sie eine andere Zahlart"
168
+ "HPError-800.100.151","Bitte w&auml;hlen Sie eine andere Zahlart"
169
+ "HPError-800.100.152","Bitte w&auml;hlen Sie eine andere Zahlart"
170
+ "HPError-800.100.153","Bitte &uuml;berpr&uuml;fen Sie Ihre Eingaben"
171
+ "HPError-800.100.157","Bitte &uuml;berpr&uuml;fen Sie Ihre Eingaben"
172
+ "HPError-800.100.159","Bitte w&auml;hlen Sie eine andere Zahlart"
173
+ "HPError-800.100.160","Bitte w&auml;hlen Sie eine andere Zahlart"
174
+ "HPError-800.100.168","Bitte w&auml;hlen Sie eine andere Zahlart"
175
+ "HPError-800.100.171","Bitte w&auml;hlen Sie eine andere Zahlart"
176
+ "HPError-800.300.101","Bitte w&auml;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
- "Bookinnmode","Bookinnmode"
15
- "Recognition","Recognition"
16
- "Sort order","Sort order"
17
- "Minimum Amount (CENT)","Minimum Amount (CENT)"
18
- "Maximum Amount (CENT)","Maximum Amount (CENT)"
19
- "allow specific countries","allow specific countries"
20
- "specific countries","specific countries"
21
- "always","always"
22
- "no recognition","no recognition"
23
- "only if shippping adress is unchanged","only if shippping adress is unchanged"
24
- "Prepayment Info Text","Please transfer the amount of <strong>{AMOUNT} {CURRENCY}</strong> to the following account<br /><br />
25
- Holder: {CONNECTOR_ACCOUNT_HOLDER}<br/>
26
- IBAN: {CONNECTOR_ACCOUNT_IBAN}<br/>
27
- BIC: {CONNECTOR_ACCOUNT_BIC}<br/><br/>
28
- <i>Please use only this identification number as the descriptor :</i><br/>
29
- <strong>{IDENTIFICATION_SHORTID}</strong>"
30
- "Direct Debit Info Text","The amount of <strong>{AMOUNT} {CURRENCY}</strong> will be debited from this account within the next days:<br /><br />
31
- IBAN: {Iban}<br />
32
- BIC: {Bic}<br /><br />
33
- <i>The booking contains the mandate reference ID: {Ident}<br >
34
- and the creditor identifier: {CreditorId}</i><br />
35
- <br />
36
- Please ensure that there will be sufficient funds on the corresponding account."
37
- "An unexpected error occurred. Please contact us to get further information.","An unexpected error occurred. Please contact us to get further information."
38
- "continue","continue"
39
- "Please enter additional payment information.","Please enter additional payment information."
40
- "recived amount ","recived amount "
41
- "Push information from Heidelpay","Push information from Heidelpay"
42
- "Direct Booking","Direct Booking"
43
- "Preauthorisation","Preauthorisation"
44
-
45
- "Credit Card","Credit Card"
46
- "Debit Card","Debit Card"
47
- "Debitcard","Debitcard"
48
- "Direct Debit","Direct Debit"
49
- "SOFORT &Üuml;berweisung","SOFORT &Üuml;berweisung"
50
- "Giropay","Giropay"
51
- "Pay Pal","Pay Pal"
52
- "EPS","EPS"
53
- "iDeal","iDeal"
54
- "Prepayment","Prepayment"
55
- "Invoice","Invoice"
56
- "Mangirkart","MangirKart"
57
- "BillSafe","BillSafe"
58
-
59
- "Deschcdcc","Pay safe and secure with Creditcard<br>"
60
- "Deschcddc","Pay safe and secure with Debitcard<br>"
61
- "Deschcddd","Pay safe and secure with Direct Debit"
62
- "Deschcdeps","Pay safe and secure with EPS"
63
- "Deschcdgp","Pay safe and secure with Giropay"
64
- "Deschcdide","Pay safe and secure with iDeal"
65
- "Deschcdpal","Pay safe and secure with PayPal"
66
- "Deschcdpp","Pay safe and secure with Prepayment"
67
- "Deschcdpf","Pay safe and secure with Postfinace"
68
- "Deschcdsu","Pay safe and secure with Sofort&Uuml;berweisung"
69
- "Deschcdiv","Pay comfortable with Invoice"
70
- "Deschcdmk","Pay comfortable with MangirKart"
71
- "Deschcdbs","Buy with invoice and check your order calmly before payment.<br/>"
72
- "Deschcdyt","Pay comfortable with Yapital"
73
-
74
- "Return in Errorcase","Return in Errorcase"
75
- "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"
76
- "Basket","Basket"
77
- "Use Testsystem","Use Sandbox"
78
- "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."
79
- "Security Sender","Security Sender"
80
- "User Login","User Login"
81
- "User Password","User Password"
82
- "Debug Log","Debug Log"
83
- "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"
84
- "Invoicing over heidelpay","Invoicing over heidelpay"
85
- "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."
86
- "General Settings Heidelpay","General Settings Heidelpay"
87
- "about Heidelpay","about Heidelpay"
88
-
89
- "Heidelpay Credit Card (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Credit Card"
90
- "Heidelpay Direct Debit (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Direct Debit"
91
- "Heidelpay Debit Card (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Debit Card"
92
- "Heidelpay SOFORT &Uuml;berweisung (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition SOFORT &Uuml;berweisung"
93
- "Heidelpay Giropay (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Giropay"
94
- "Heidelpay MangirKart (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition MangirKart"
95
- "Heidelpay Postfinance (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Postfinance"
96
- "Heidelpay Invoice (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Invoice"
97
- "Heidelpay Pay Pal (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition PayPal"
98
- "Heidelpay Prepayment (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Prepayment"
99
- "Heidelpay Billsafe (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition BillSafe"
100
- "Heidelpay EPS (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition EPS"
101
- "Heidelpay iDeal (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition iDeal"
102
- "Heidelpay Yapital (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition Yapital"
103
-
104
- "No.","No."
105
- "Valid until:","Valid until:"
106
- "close","close"
107
- "Cardtype:","Cardtype"
108
- "Account No","Account No"
109
- "Bankcode","Bankcode"
110
- "IBAN","IBAN"
111
- "BIC","BIC"
112
- "Owner","Owner"
113
- "Please enter account no.","Please enter account no."
114
- "Please enter bankcode.","Please enter bankcode."
115
- "Please enter owner.","Please enter owner."
116
- "Enter additional information for the payment.","Enter additional information for the payment."
117
- "HP_SUCCESS_BILLSAFE","Ihre Transaktion war erfolgreich!
118
-
119
- Ueberweisen Sie uns den Betrag von {CURRENCY} {AMOUNT} auf folgendes Konto
120
- Bankname: {ACC_BANKNAME}
121
- Kontoinhaber : {ACC_OWNER}
122
- Konto-Nr. : {ACC_NUMBER}
123
- Bankleitzahl: {ACC_BANKCODE}
124
- IBAN: {ACC_IBAN}
125
- BIC: {ACC_BIC}
126
- Geben sie bitte im Verwendungszweck UNBEDINGT die Identifikationsnummer
127
- {SHORTID}
128
- und NICHTS ANDERES an."
129
- "HP_LEGALNOTE_BILLSAFE","Bitte überweisen Sie den ausstehenden Betrag {DAYS} Tage nach dem Sie über den Versand informiert wurden."
130
-
131
-
132
-
133
- "Bank code or bic","Bank code or bic"
134
- "Account number or iban","Account number or iban"
135
- "IBAN & BIC","IBAN & BIC"
136
-
137
- "Account information","Account information"
138
- "Account no. & Bank no.","Account no. & Bank no."
139
- "IBAN & BIC","IBAN & BIC"
140
-
141
- "Canceled by user","Canceled by user"
142
-
143
- "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?"
144
- "HPError-100.100.101","Please verify your payment data"
145
- "HPError-100.100.303","card expired"
146
- "HPError-100.100.500","Please verify your payment data"
147
- "HPError-100.396.101","Canceled by user"
148
- "HPError-100.400.110","Please choose another payment method"
149
- "HPError-800.100.151","Please choose another payment method"
150
- "HPError-800.100.152","Please choose another payment method"
151
- "HPError-800.100.153","Please verify your payment data"
152
- "HPError-800.100.157","Please verify your payment data"
153
- "HPError-800.100.159","Please choose another payment method"
154
- "HPError-800.100.160","Please choose another payment method"
155
- "HPError-800.100.168","Please choose another payment method"
156
- "HPError-800.100.171","Please choose another payment method"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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&Uuml;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&copy; digital wallet makes online shopping safe and easy by storing all your payment and shipping information in one convenient and secure place. And it&apos;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 &Uuml;berweisung (hcd)","<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAADBQTFRFODg43d3dt7e3KCgoREREU1NTAQEBEhIS////scfeeXl57OzsqKioXV1dk5OTnZ2dfmcBJgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDgsIBJoD8v4AAABKSURBVAjXY5gJBQwzOsCgE53RCmM0AxknQIwGIMOiOyxBA8TgcFson9YCZIRzdHT0JQAZZSA1y4CMIhCjDaQGxOjtxGkFkAFzBgC9LkKOoh4LJgAAAABJRU5ErkJggg==' style='margin-right: 5px'/> Heidelpay CD-Edition SOFORT &Uuml;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.28</version>
5
  <stability>stable</stability>
6
  <license>GPL</license>
7
  <channel>community</channel>
@@ -39,13 +39,12 @@ Telefon: +49 (0) 6221 / 65 170-20&lt;br /&gt;&#xD;
39
  E-Mail: sales@heidelpay.de&lt;br /&gt;&#xD;
40
  Internet: www.heidelpay.de&lt;br /&gt;&#xD;
41
  </description>
42
- <notes>- add new payment method Yapital&#xD;
43
- - fix issue regarding missing invoice number on invoice mail&#xD;
44
- </notes>
45
  <authors><author><name>Heidelberger Payment GmbH</name><user>Heidelpay</user><email>magento@heidelpay.de</email></author></authors>
46
- <date>2015-05-28</date>
47
- <time>15:48:02</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="5e5781fd10c60a1aaaf434e632959249"/><file name="Payment.php" hash="782d00ad82330896f83154228198b891"/></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><dir name="Order"><dir name="Pdf"><file name="Invoice.php" hash="f8222c1be3bfa9d20d52c33cfccf9a67"/></dir></dir><dir name="Payment"><file name="Abstract.php" hash="c6dde76e69cf4158296bccfa5469e1ca"/><file name="Hcdbs.php" hash="86c75495b59b74ef2e28aeec9f2c34fd"/><file name="Hcdcc.php" hash="3bcb26cf280966d2d5925834bf4f1034"/><file name="Hcddc.php" hash="ec9dffb5d0d70316b22dd26000abea55"/><file name="Hcddd.php" hash="1ba1f5818596dce9fbf80626008d83a8"/><file name="Hcdeps.php" hash="6caef61817c39c62176d0213ae309e56"/><file name="Hcdgp.php" hash="3fb1d66a07d70d744de2539758ab5197"/><file name="Hcdide.php" hash="260bbb90e918f884045a459ad346af30"/><file name="Hcdiv.php" hash="772d8ea2ee2f9b7cdf52a6de8c6393ef"/><file name="Hcdmk.php" hash="c5c618e46541ba6f23f338a2b6fbe6c5"/><file name="Hcdpal.php" hash="5c0b3140d896bc92ca0fc87e61573e07"/><file name="Hcdpf.php" hash="c06b78f4e07001b8e838b88037ee0e63"/><file name="Hcdpp.php" hash="0e769db526ca92c12f7e70837305a749"/><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="7d3b2af934c03de7f7a9d9d1348e1c7e"/></dir><dir name="controllers"><file name="IndexController.php" hash="a6a8030a19ff0dbd490cb242ea74c3bf"/></dir><dir name="etc"><file name="config.xml" hash="f96acab7633c7a6a75f799a0b663fc8b"/><file name="system.xml" hash="c10ccf8864e29c13a4963886a88044f9"/></dir><dir name="sql"><dir name="hcd_setup"><file name="install-15.1.30.php" hash="f7f87111e5401feb60b2aa3090c40740"/></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="4af5b464a17cba9b9eaa000262abeffa"/></dir><dir name="template"><dir name="hcd"><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="postfinance.phtml" hash="0db7c2d0404efa2feb98748204bf72d4"/></dir><file name="index.phtml" hash="03a0dccd4448c6a3d9745a2cea7fa327"/><file name="success.phtml" hash="9cac258cb96b057b3de00ab971bf7855"/></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="df543719296f8ccb3c5a91d415f8cc6e"/></dir><dir name="en_US"><file name="HeidelpayCD_Edition.csv" hash="e5124dabd04e6db61c8601b1464700eb"/></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"/></dir></dir><dir name="css"><file name="heidelpaycd.css" hash="fb5022c109928b0f28fd660012dcce76"/></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="hcd"><file name="heidelpaycd.js" hash="1d37a437235520a71cd20847d569411c"/></dir></dir></target></contents>
49
  <compatible/>
50
- <dependencies><required><php><min>5.0.0</min><max>5.6.99</max></php></required></dependencies>
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&lt;br /&gt;&#xD;
40
  Internet: www.heidelpay.de&lt;br /&gt;&#xD;
41
  </description>
42
+ <notes>- add new payment method MasterPass&#xD;
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