CDev_XPaymentsConnector - Version 1.2.7

Version Notes

Version number: 1.2.7

Download this release

Release Info

Developer Valerii Demidov
Extension CDev_XPaymentsConnector
Version 1.2.7
Comparing to
See all releases


Code changes from version 1.2.6 to 1.2.7

Files changed (23) hide show
  1. app/code/community/Cdev/XPaymentsConnector/Block/Adminhtml/System/Config/Form/Subselect.php +75 -0
  2. app/code/community/Cdev/XPaymentsConnector/Block/Checkout/Onepage/Settings.php +3 -12
  3. app/code/community/Cdev/XPaymentsConnector/Block/Customer/Cardadd.php +1 -1
  4. app/code/community/Cdev/XPaymentsConnector/Block/Form/Cc.php +34 -0
  5. app/code/community/Cdev/XPaymentsConnector/Block/Form/Container.php +32 -0
  6. app/code/community/Cdev/XPaymentsConnector/Helper/Data.php +78 -1
  7. app/code/community/Cdev/XPaymentsConnector/Model/Adminhtml/System/Config/Source/Placedisplay.php +42 -0
  8. app/code/community/Cdev/XPaymentsConnector/Model/Observer.php +39 -20
  9. app/code/community/Cdev/XPaymentsConnector/controllers/ProcessingController.php +5 -1
  10. app/code/community/Cdev/XPaymentsConnector/etc/config.xml +16 -1
  11. app/code/community/Cdev/XPaymentsConnector/etc/system.xml +14 -13
  12. app/design/frontend/default/default/template/xpaymentsconnector/checkout/onepage/settings.phtml +0 -56
  13. app/design/frontend/default/default/template/xpaymentsconnector/checkout/onepage/xpayment-iframe.phtml +3 -2
  14. app/design/frontend/default/default/template/xpaymentsconnector/customer/usercards/cardadd.phtml +1 -1
  15. app/design/frontend/default/default/template/xpaymentsconnector/form/cc.phtml +61 -0
  16. app/design/frontend/rwd/default/template/xpaymentsconnector/checkout/onepage/settings.phtml +0 -56
  17. app/design/frontend/rwd/default/template/xpaymentsconnector/checkout/onepage/xpayment-iframe.phtml +3 -2
  18. app/design/frontend/rwd/default/template/xpaymentsconnector/customer/usercards/cardadd.phtml +1 -1
  19. app/design/frontend/rwd/default/template/xpaymentsconnector/form/cc.phtml +61 -0
  20. app/locale/en_US/Cdev_XPaymentsConnector.csv +1 -1
  21. js/xpayment/checkout-submit.js +34 -0
  22. js/xpayment/settings.css +19 -0
  23. package.xml +5 -5
app/code/community/Cdev/XPaymentsConnector/Block/Adminhtml/System/Config/Form/Subselect.php ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-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@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @author Valerii Demidov
16
+ * @category Cdev
17
+ * @package Cdev_XPaymentsConnector
18
+ * @copyright (c) Qualiteam Software Ltd. <info@qtmsoft.com>. All rights reserved.
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+
22
+
23
+ class Cdev_XPaymentsConnector_Block_Adminhtml_System_Config_Form_Subselect extends Mage_Adminhtml_Block_System_Config_Form_Field
24
+ {
25
+
26
+ /**
27
+ * Get the button and scripts contents
28
+ *
29
+ * @param Varien_Data_Form_Element_Abstract $element
30
+ * @return string
31
+ */
32
+ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
33
+ {
34
+ $html = parent::_getElementHtml($element);
35
+ $js = $this->getElementJsEvents();
36
+ $html = $html.$js;
37
+
38
+ return $html;
39
+ }
40
+
41
+
42
+ /* Enter description here...
43
+ *
44
+ * @return string
45
+ */
46
+ public function getElementJsEvents()
47
+ {
48
+ $js = <<<EndHTML
49
+ <script type="text/javascript">
50
+ document.observe("dom:loaded", function() {
51
+ var useIframe = $('payment_xpayments_use_iframe');
52
+ var placeDisplaySelect = $('row_payment_xpayments_placedisplay');
53
+ if(useIframe.value == 0){
54
+ placeDisplaySelect.hide();
55
+ }
56
+ Event.observe(useIframe, 'change', checkPlaceDisplayAccess.bind(this));
57
+ function checkPlaceDisplayAccess(event)
58
+ {
59
+ var conditionNameElement = Event.element(event);
60
+ if(conditionNameElement.value == 1){
61
+ placeDisplaySelect.show();
62
+ }else{
63
+ placeDisplaySelect.hide();
64
+ }
65
+
66
+ }
67
+ });
68
+ </script>
69
+ EndHTML;
70
+
71
+ return $js;
72
+ }
73
+
74
+
75
+ }
app/code/community/Cdev/XPaymentsConnector/Block/Checkout/Onepage/Settings.php CHANGED
@@ -25,22 +25,13 @@
25
 
26
  class Cdev_XPaymentsConnector_Block_Checkout_Onepage_Settings extends Mage_Core_Block_Template
27
  {
28
- public function getIframeUrl(){
29
-
30
- $xpaymentFormData = Mage::helper('payment')->getMethodInstance("xpayments")->getFormFields();
31
- $xpaymentFormUrl = Mage::helper('payment')->getMethodInstance("xpayments")->getUrl();
32
-
33
- Mage::helper("xpaymentsconnector")->prepareOrderKey();
34
- $token = Mage::helper("xpaymentsconnector")->getIframeToken();
35
- $iframeUrlDataArray = array('target' => $xpaymentFormData['target'], 'token' => $token);
36
- $iframeUrl = $xpaymentFormUrl . "?" . http_build_query($iframeUrlDataArray);
37
- return $iframeUrl;
38
- }
39
 
40
  public function isXpaymentMethod(){
41
 
42
  $paymentCode = Mage::getSingleton('checkout/session')->getQuote()->getPayment()->getMethodInstance()->getCode();
43
- if($paymentCode == "xpayments"){
 
 
44
  return true;
45
  }
46
  else{
25
 
26
  class Cdev_XPaymentsConnector_Block_Checkout_Onepage_Settings extends Mage_Core_Block_Template
27
  {
 
 
 
 
 
 
 
 
 
 
 
28
 
29
  public function isXpaymentMethod(){
30
 
31
  $paymentCode = Mage::getSingleton('checkout/session')->getQuote()->getPayment()->getMethodInstance()->getCode();
32
+ $xpaymentPaymentCode = Mage::getModel("xpaymentsconnector/payment_cc")->getCode();
33
+
34
+ if($paymentCode == $xpaymentPaymentCode){
35
  return true;
36
  }
37
  else{
app/code/community/Cdev/XPaymentsConnector/Block/Customer/Cardadd.php CHANGED
@@ -42,7 +42,7 @@ class Cdev_XPaymentsConnector_Block_Customer_Cardadd extends Mage_Core_Block_Tem
42
  /**
43
  * @return string (url)
44
  */
45
- public function getIframeUrl(){
46
 
47
  // update standart iframe handshake request
48
  $refId = "authorization";
42
  /**
43
  * @return string (url)
44
  */
45
+ public function getAuthorizeIframeUrl(){
46
 
47
  // update standart iframe handshake request
48
  $refId = "authorization";
app/code/community/Cdev/XPaymentsConnector/Block/Form/Cc.php CHANGED
@@ -32,4 +32,38 @@ class Cdev_XPaymentsConnector_Block_Form_Cc extends Mage_Payment_Block_Form
32
  $this->setTemplate('xpaymentsconnector/form/cc.phtml');
33
  }
34
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  }
32
  $this->setTemplate('xpaymentsconnector/form/cc.phtml');
33
  }
34
 
35
+ public function getIframeUrl()
36
+ {
37
+
38
+ $quotePayment = Mage::getSingleton('checkout/session')->getQuote()->getPayment();
39
+ $isPaymentPlaceDisplayFlag = Mage::helper("xpaymentsconnector")->isIframePaymentPlaceDisplay();
40
+ $methods = Mage::helper("xpaymentsconnector")->getAllowedPaymentsMethods();
41
+ if ($quotePayment->getMethod()) {
42
+ $currentPaymentMethodCode = $quotePayment->getMethodInstance()->getCode();
43
+ $xpaymentPaymentCode = Mage::getModel("xpaymentsconnector/payment_cc")->getCode();
44
+ if ($isPaymentPlaceDisplayFlag) {
45
+ if ($currentPaymentMethodCode == $xpaymentPaymentCode) {
46
+ $unsetParams = array("token");
47
+ Mage::helper("xpaymentsconnector")->unsetXpaymentPrepareOrder($unsetParams);
48
+ return Mage::helper("xpaymentsconnector")->getIframeUrl();
49
+ }
50
+ }
51
+ }
52
+
53
+ if($methods && $isPaymentPlaceDisplayFlag){
54
+ if(count($methods) == 1){
55
+ $currentMethod = current($methods);
56
+ $xpaymentPaymentCode = Mage::getModel("xpaymentsconnector/payment_cc")->getCode();
57
+ if($currentMethod["method_code"] == $xpaymentPaymentCode){
58
+ $unsetParams = array("token");
59
+ Mage::helper("xpaymentsconnector")->unsetXpaymentPrepareOrder($unsetParams);
60
+ return Mage::helper("xpaymentsconnector")->getIframeUrl();
61
+ }
62
+ }
63
+ }
64
+
65
+
66
+ return "#";
67
+ }
68
+
69
  }
app/code/community/Cdev/XPaymentsConnector/Block/Form/Container.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-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@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @author Valerii Demidov
16
+ * @category Cdev
17
+ * @package Cdev_XPaymentsConnector
18
+ * @copyright (c) Qualiteam Software Ltd. <info@qtmsoft.com>. All rights reserved.
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+
22
+
23
+ class Cdev_XPaymentsConnector_Block_Form_Container extends Mage_Checkout_Block_Onepage_Payment_Methods
24
+ {
25
+ public function getMethods()
26
+ {
27
+ $methods = parent::getMethods();
28
+ Mage::helper("xpaymentsconnector")->setAllowedPaymentsMethods($methods);
29
+ return $methods;
30
+
31
+ }
32
+ }
app/code/community/Cdev/XPaymentsConnector/Helper/Data.php CHANGED
@@ -91,6 +91,38 @@ class Cdev_XPaymentsConnector_Helper_Data extends Mage_Payment_Helper_Data
91
 
92
  }
93
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  /**
95
  * This function return saved X-Payments response data.
96
  * Xpayment Prepare Order Mas(xpayment_prepare_order):
@@ -133,6 +165,7 @@ class Cdev_XPaymentsConnector_Helper_Data extends Mage_Payment_Helper_Data
133
  }
134
 
135
  /**
 
136
  * @param array $unsetParams
137
  */
138
  public function unsetXpaymentPrepareOrder($unsetParams = array()){
@@ -146,20 +179,53 @@ class Cdev_XPaymentsConnector_Helper_Data extends Mage_Payment_Helper_Data
146
  Mage::getSingleton("checkout/session")->setData("xpayment_prepare_order",$xpaymentPrepareOrder);
147
  return;
148
  }
 
149
  Mage::getSingleton("checkout/session")->unsetData("xpayment_prepare_order");
150
  }
151
 
152
  /**
153
  * Save X-Payments response data after card data send.
 
154
  * @param array $responseData
155
  */
156
- public function savePaymentResponse($responseData = array())
157
  {
158
  $xpaymentPrepareOrder = Mage::getSingleton("checkout/session")->getData("xpayment_prepare_order");
159
  $xpaymentPrepareOrder["xpayment_response"] = $responseData;
160
  Mage::getSingleton("checkout/session")->setData("xpayment_prepare_order", $xpaymentPrepareOrder);
161
  }
162
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
163
  public function getReviewButtonTemplate($name, $block)
164
  {
165
  $quote = Mage::getSingleton('checkout/session')->getQuote();
@@ -517,4 +583,15 @@ class Cdev_XPaymentsConnector_Helper_Data extends Mage_Payment_Helper_Data
517
  }
518
  }
519
 
 
 
 
 
 
 
 
 
 
 
 
520
  }
91
 
92
  }
93
 
94
+ /**
95
+ * This function set 'place_display' flag for feature x-payment form.
96
+ * Xpayment Prepare Order Mas(xpayment_prepare_order):
97
+ * - prepare_order_id (int)
98
+ * - xpayment_response
99
+ * - token
100
+ * - place_display
101
+ * return
102
+ * @return bool or int
103
+ */
104
+ public function setIframePlaceDisplaySettings()
105
+ {
106
+ $useIframe = Mage::getStoreConfig('payment/xpayments/use_iframe');
107
+ if($useIframe){
108
+ $xpaymentPrepareOrder = Mage::getSingleton("checkout/session")->getData("xpayment_prepare_order");
109
+ $xpaymentPrepareOrder["place_display"] = Mage::getStoreConfig('payment/xpayments/placedisplay');
110
+ Mage::getSingleton("checkout/session")->setData("xpayment_prepare_order", $xpaymentPrepareOrder);
111
+ }
112
+ }
113
+
114
+ /**
115
+ * check 'xpayment' config settigs
116
+ * @return bool
117
+ */
118
+ public function isIframePaymentPlaceDisplay(){
119
+ $xpaymentPrepareOrder = Mage::getSingleton("checkout/session")->getData("xpayment_prepare_order");
120
+ if(isset($xpaymentPrepareOrder["place_display"]) && ($xpaymentPrepareOrder["place_display"] == "payment" )){
121
+ return true;
122
+ }
123
+ return false;
124
+ }
125
+
126
  /**
127
  * This function return saved X-Payments response data.
128
  * Xpayment Prepare Order Mas(xpayment_prepare_order):
165
  }
166
 
167
  /**
168
+ * Unset prepare order params
169
  * @param array $unsetParams
170
  */
171
  public function unsetXpaymentPrepareOrder($unsetParams = array()){
179
  Mage::getSingleton("checkout/session")->setData("xpayment_prepare_order",$xpaymentPrepareOrder);
180
  return;
181
  }
182
+
183
  Mage::getSingleton("checkout/session")->unsetData("xpayment_prepare_order");
184
  }
185
 
186
  /**
187
  * Save X-Payments response data after card data send.
188
+ * - xpayment_response
189
  * @param array $responseData
190
  */
191
+ public function savePaymentResponse($responseData)
192
  {
193
  $xpaymentPrepareOrder = Mage::getSingleton("checkout/session")->getData("xpayment_prepare_order");
194
  $xpaymentPrepareOrder["xpayment_response"] = $responseData;
195
  Mage::getSingleton("checkout/session")->setData("xpayment_prepare_order", $xpaymentPrepareOrder);
196
  }
197
 
198
+ /**
199
+ * Save all allowed payments for current checkout session in store.
200
+ * - allowed_payments
201
+ * @param array $methods
202
+ */
203
+ public function setAllowedPaymentsMethods($methodsInstances)
204
+ {
205
+ $xpaymentPrepareOrder = Mage::getSingleton("checkout/session")->getData("xpayment_prepare_order");
206
+ $xpaymentPrepareOrder["allowed_payments"] = $methodsInstances;
207
+ $methods = array();
208
+ foreach($methodsInstances as $methodInstance){
209
+ $methods[]["method_code"] = $methodInstance->getCode();
210
+ }
211
+ $xpaymentPrepareOrder["allowed_payments"] = $methods;
212
+ Mage::getSingleton("checkout/session")->setData("xpayment_prepare_order", $xpaymentPrepareOrder);
213
+ }
214
+
215
+ /**
216
+ * get all allowed payments for current checkout session in store.
217
+ * - allowed_payments
218
+ */
219
+ public function getAllowedPaymentsMethods()
220
+ {
221
+ $xpaymentPrepareOrder = Mage::getSingleton("checkout/session")->getData("xpayment_prepare_order");
222
+ if ($xpaymentPrepareOrder && isset($xpaymentPrepareOrder["allowed_payments"]) && !empty($xpaymentPrepareOrder["allowed_payments"])) {
223
+ return $xpaymentPrepareOrder["allowed_payments"];
224
+ }
225
+ return false;
226
+ }
227
+
228
+
229
  public function getReviewButtonTemplate($name, $block)
230
  {
231
  $quote = Mage::getSingleton('checkout/session')->getQuote();
583
  }
584
  }
585
 
586
+ public function getIframeUrl(){
587
+ $xpaymentFormData = Mage::helper('payment')->getMethodInstance("xpayments")->getFormFields();
588
+ $xpaymentFormUrl = Mage::helper('payment')->getMethodInstance("xpayments")->getUrl();
589
+
590
+ $this->prepareOrderKey();
591
+ $token = $this->getIframeToken();
592
+ $iframeUrlDataArray = array('target' => $xpaymentFormData['target'], 'token' => $token);
593
+ $iframeUrl = $xpaymentFormUrl . "?" . http_build_query($iframeUrlDataArray);
594
+ return $iframeUrl;
595
+ }
596
+
597
  }
app/code/community/Cdev/XPaymentsConnector/Model/Adminhtml/System/Config/Source/Placedisplay.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-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@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @author Valerii Demidov
16
+ * @category Cdev
17
+ * @package Cdev_XPaymentsConnector
18
+ * @copyright (c) Qualiteam Software Ltd. <info@qtmsoft.com>. All rights reserved.
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ ?>
22
+
23
+ <?php
24
+ /**
25
+ * Additional display settings for "IFrame" variant of payment method (frontend)
26
+ */
27
+ ?>
28
+
29
+ <?php
30
+
31
+ class Cdev_XPaymentsConnector_Model_Adminhtml_System_Config_Source_Placedisplay
32
+ {
33
+ public function toOptionArray()
34
+ {
35
+ $themes = array(
36
+ array('value' => 'review', 'label' => 'Order Review step'),
37
+ array('value' => 'payment', 'label' => 'Payment Information step'),
38
+ );
39
+
40
+ return $themes;
41
+ }
42
+ }
app/code/community/Cdev/XPaymentsConnector/Model/Observer.php CHANGED
@@ -30,6 +30,10 @@ class Cdev_XPaymentsConnector_Model_Observer extends Mage_CatalogInventory_Model
30
 
31
  Mage::getSingleton("checkout/session")->unsetData("user_card_save");
32
 
 
 
 
 
33
  //set recurring product discount
34
  $isRecurrnigProduct = Mage::helper("xpaymentsconnector")->checkIsRecurringOrder();
35
  if ($isRecurrnigProduct) {
@@ -78,23 +82,6 @@ class Cdev_XPaymentsConnector_Model_Observer extends Mage_CatalogInventory_Model
78
  }
79
  }
80
 
81
- public function postDispatchSavePayment($observer){
82
- $quote = Mage::getSingleton('checkout/session')->getQuote();
83
- $paymentMethodCode = $quote->getPayment()->getMethodInstance()->getCode();
84
-
85
- $isXpayments = Mage::helper("xpaymentsconnector")->isXpaymentsMethod($paymentMethodCode);
86
- if ($isXpayments) {
87
- Mage::helper("xpaymentsconnector")->prepareOrderKey();
88
- }
89
- if ($paymentMethodCode == "xpayments"){
90
- $saveCard = Mage::app()->getRequest()->getPost("savecard");
91
- if($saveCard){
92
- Mage::getSingleton("checkout/session")->setData("user_card_save",$saveCard);
93
- }
94
- }else{
95
- Mage::getSingleton("checkout/session")->unsetData("user_card_save");
96
- }
97
- }
98
 
99
  /**
100
  * Dispatch: checkout_type_onepage_save_order_after
@@ -395,13 +382,45 @@ class Cdev_XPaymentsConnector_Model_Observer extends Mage_CatalogInventory_Model
395
  Mage::helper("xpaymentsconnector")->unsetXpaymentPrepareOrder($unsetParams);
396
  }
397
 
 
 
 
 
 
 
 
 
 
398
  /**
399
  * Remove X-Payments token after update shipping method
400
  * @param $observer
401
  */
402
- public function postdispatchSaveShippingMethod($observer){
403
- $unsetParams = array("token");
404
- Mage::helper("xpaymentsconnector")->unsetXpaymentPrepareOrder($unsetParams);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
405
  }
406
 
407
  /**
30
 
31
  Mage::getSingleton("checkout/session")->unsetData("user_card_save");
32
 
33
+ //unset x-payment form place settings
34
+ $unsetParams = array("place_display");
35
+ Mage::helper("xpaymentsconnector")->unsetXpaymentPrepareOrder($unsetParams);
36
+
37
  //set recurring product discount
38
  $isRecurrnigProduct = Mage::helper("xpaymentsconnector")->checkIsRecurringOrder();
39
  if ($isRecurrnigProduct) {
82
  }
83
  }
84
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
 
86
  /**
87
  * Dispatch: checkout_type_onepage_save_order_after
382
  Mage::helper("xpaymentsconnector")->unsetXpaymentPrepareOrder($unsetParams);
383
  }
384
 
385
+
386
+ /**
387
+ * Set 'place_display' flag for feature x-payment form.
388
+ * @param $observer
389
+ */
390
+ public function predispatchSaveShippingMethod(){
391
+ Mage::helper("xpaymentsconnector")->setIframePlaceDisplaySettings();
392
+ }
393
+
394
  /**
395
  * Remove X-Payments token after update shipping method
396
  * @param $observer
397
  */
398
+ public function postdispatchSaveShippingMethod($observer)
399
+ {
400
+ $isPaymentPlaceDisplayFlag = Mage::helper("xpaymentsconnector")->isIframePaymentPlaceDisplay();
401
+ if (!$isPaymentPlaceDisplayFlag) {
402
+ $unsetParams = array("token");
403
+ Mage::helper("xpaymentsconnector")->unsetXpaymentPrepareOrder($unsetParams);
404
+ }
405
+ }
406
+
407
+ public function postDispatchSavePayment($observer){
408
+ $quote = Mage::getSingleton('checkout/session')->getQuote();
409
+ $paymentMethodCode = $quote->getPayment()->getMethodInstance()->getCode();
410
+ $xpaymentPaymentCode = Mage::getModel("xpaymentsconnector/payment_cc")->getCode();
411
+
412
+ $isXpayments = Mage::helper("xpaymentsconnector")->isXpaymentsMethod($paymentMethodCode);
413
+ if ($isXpayments) {
414
+ Mage::helper("xpaymentsconnector")->prepareOrderKey();
415
+ }
416
+ if ($paymentMethodCode == $xpaymentPaymentCode){
417
+ $saveCard = Mage::app()->getRequest()->getPost("savecard");
418
+ if($saveCard){
419
+ Mage::getSingleton("checkout/session")->setData("user_card_save",$saveCard);
420
+ }
421
+ }else{
422
+ Mage::getSingleton("checkout/session")->unsetData("user_card_save");
423
+ }
424
  }
425
 
426
  /**
app/code/community/Cdev/XPaymentsConnector/controllers/ProcessingController.php CHANGED
@@ -573,5 +573,9 @@ class Cdev_XPaymentsConnector_ProcessingController extends Mage_Core_Controller_
573
 
574
  }
575
 
576
-
 
 
 
 
577
  }
573
 
574
  }
575
 
576
+ public function getcheckoutiframeurlAction(){
577
+ $xpUrlPath = array();
578
+ $xpUrlPath["iframe_url"] = Mage::helper("xpaymentsconnector")->getIframeUrl();
579
+ $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($xpUrlPath));
580
+ }
581
  }
app/code/community/Cdev/XPaymentsConnector/etc/config.xml CHANGED
@@ -89,7 +89,12 @@
89
  </customer>
90
  <xpaymentsconnector>
91
  <class>Cdev_XPaymentsConnector_Block</class>
92
- </xpaymentsconnector>
 
 
 
 
 
93
  </blocks>
94
  <events>
95
  <sales_order_payment_cancel_invoice>
@@ -252,6 +257,16 @@
252
  </web4procheckout>
253
  </observers>
254
  </controller_action_postdispatch_checkout_onepage_saveShippingMethod>
 
 
 
 
 
 
 
 
 
 
255
  </events>
256
  <sales>
257
  <quote>
89
  </customer>
90
  <xpaymentsconnector>
91
  <class>Cdev_XPaymentsConnector_Block</class>
92
+ </xpaymentsconnector>
93
+ <checkout>
94
+ <rewrite>
95
+ <onepage_payment_methods>Cdev_XPaymentsConnector_Block_Form_Container</onepage_payment_methods>
96
+ </rewrite>
97
+ </checkout>
98
  </blocks>
99
  <events>
100
  <sales_order_payment_cancel_invoice>
257
  </web4procheckout>
258
  </observers>
259
  </controller_action_postdispatch_checkout_onepage_saveShippingMethod>
260
+ <!--Remove X-Payments token after update shipping method -->
261
+ <controller_action_predispatch_checkout_onepage_saveShippingMethod>
262
+ <observers>
263
+ <web4procheckout>
264
+ <type>singleton</type>
265
+ <class>Cdev_XPaymentsConnector_Model_Observer</class>
266
+ <method>predispatchSaveShippingMethod</method>
267
+ </web4procheckout>
268
+ </observers>
269
+ </controller_action_predispatch_checkout_onepage_saveShippingMethod>
270
  </events>
271
  <sales>
272
  <quote>
app/code/community/Cdev/XPaymentsConnector/etc/system.xml CHANGED
@@ -75,19 +75,10 @@
75
  <show_in_website>1</show_in_website>
76
  <show_in_store>0</show_in_store>
77
  </specificcountry>
78
- <order_status translate="label">
79
- <label>New order status</label>
80
- <frontend_type>select</frontend_type>
81
- <source_model>adminhtml/system_config_source_order_status</source_model>
82
- <sort_order>6</sort_order>
83
- <show_in_default>1</show_in_default>
84
- <show_in_website>1</show_in_website>
85
- <show_in_store>0</show_in_store>
86
- </order_status>
87
  <confid translate="label">
88
  <label>Payment configuration</label>
89
  <frontend_type>select</frontend_type>
90
- <sort_order>7</sort_order>
91
  <source_model>xpaymentsconnector/source_paymentconfiguration</source_model>
92
  <show_in_default>1</show_in_default>
93
  <show_in_website>1</show_in_website>
@@ -97,16 +88,26 @@
97
  <label>Use iFrame</label>
98
  <frontend_type>select</frontend_type>
99
  <source_model>adminhtml/system_config_source_yesno</source_model>
100
- <sort_order>8</sort_order>
 
101
  <show_in_default>1</show_in_default>
102
  <show_in_website>1</show_in_website>
103
  <show_in_store>0</show_in_store>
104
  </use_iframe>
 
 
 
 
 
 
 
 
 
105
  <use_authorize translate="label">
106
  <label>Use forced Authorize operation</label>
107
  <frontend_type>select</frontend_type>
108
  <source_model>adminhtml/system_config_source_yesno</source_model>
109
- <sort_order>8</sort_order>
110
  <show_in_default>1</show_in_default>
111
  <show_in_website>1</show_in_website>
112
  <show_in_store>0</show_in_store>
@@ -115,7 +116,7 @@
115
  <label>Use forced Authorize operation for initial fee</label>
116
  <frontend_type>select</frontend_type>
117
  <source_model>adminhtml/system_config_source_yesno</source_model>
118
- <sort_order>8</sort_order>
119
  <show_in_default>1</show_in_default>
120
  <show_in_website>1</show_in_website>
121
  <show_in_store>0</show_in_store>
75
  <show_in_website>1</show_in_website>
76
  <show_in_store>0</show_in_store>
77
  </specificcountry>
 
 
 
 
 
 
 
 
 
78
  <confid translate="label">
79
  <label>Payment configuration</label>
80
  <frontend_type>select</frontend_type>
81
+ <sort_order>6</sort_order>
82
  <source_model>xpaymentsconnector/source_paymentconfiguration</source_model>
83
  <show_in_default>1</show_in_default>
84
  <show_in_website>1</show_in_website>
88
  <label>Use iFrame</label>
89
  <frontend_type>select</frontend_type>
90
  <source_model>adminhtml/system_config_source_yesno</source_model>
91
+ <frontend_model>xpaymentsconnector/adminhtml_system_config_form_subselect</frontend_model>
92
+ <sort_order>7</sort_order>
93
  <show_in_default>1</show_in_default>
94
  <show_in_website>1</show_in_website>
95
  <show_in_store>0</show_in_store>
96
  </use_iframe>
97
+ <placedisplay translate="label">
98
+ <label>Show credit card form at</label>
99
+ <frontend_type>select</frontend_type>
100
+ <source_model>xpaymentsconnector/adminhtml_system_config_source_placedisplay</source_model>
101
+ <sort_order>8</sort_order>
102
+ <show_in_default>1</show_in_default>
103
+ <show_in_website>1</show_in_website>
104
+ <show_in_store>0</show_in_store>
105
+ </placedisplay>
106
  <use_authorize translate="label">
107
  <label>Use forced Authorize operation</label>
108
  <frontend_type>select</frontend_type>
109
  <source_model>adminhtml/system_config_source_yesno</source_model>
110
+ <sort_order>9</sort_order>
111
  <show_in_default>1</show_in_default>
112
  <show_in_website>1</show_in_website>
113
  <show_in_store>0</show_in_store>
116
  <label>Use forced Authorize operation for initial fee</label>
117
  <frontend_type>select</frontend_type>
118
  <source_model>adminhtml/system_config_source_yesno</source_model>
119
+ <sort_order>10</sort_order>
120
  <show_in_default>1</show_in_default>
121
  <show_in_website>1</show_in_website>
122
  <show_in_store>0</show_in_store>
app/design/frontend/default/default/template/xpaymentsconnector/checkout/onepage/settings.phtml DELETED
@@ -1,56 +0,0 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-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@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * @category Cdev
16
- * @package Cdev_XPaymentsConnector
17
- * @copyright Copyright (c) 2010 Creative Development LLC <info@cdev.ru>. All rights reserved
18
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
- * @version SVN: $Id: blank.phtml 3624 2010-07-28 05:45:05Z max $
20
- */
21
- ?>
22
- <?php
23
-
24
-
25
- ?>
26
-
27
- <script>
28
- /* function xpaymentSave(){
29
- if (checkout.loadWaiting!=false) return;
30
-
31
- var validator = new Validation(this.form);
32
- if (validator.validate()) {
33
- checkout.setLoadWaiting('billing');
34
-
35
- // if ($('billing:use_for_shipping') && $('billing:use_for_shipping').checked) {
36
- // $('billing:use_for_shipping').value=1;
37
- // }
38
- console.log(this.saveUrl);
39
- /*var request = new Ajax.Request(
40
- this.saveUrl,
41
- {
42
- method: 'post',
43
- onComplete: this.onComplete,
44
- onSuccess: this.onSave,
45
- onFailure: checkout.ajaxFailure.bind(checkout),
46
- parameters: Form.serialize(this.form)
47
- }
48
- );*//*
49
- }
50
- },
51
-
52
- alert("ura");*/
53
-
54
- </script>
55
-
56
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/default/default/template/xpaymentsconnector/checkout/onepage/xpayment-iframe.phtml CHANGED
@@ -31,11 +31,12 @@
31
  $useIframe = Mage::getStoreConfig('payment/xpayments/use_iframe');
32
  $isRecuringProduct = Mage::helper("xpaymentsconnector")->checkIsRecurringOrder();
33
  $IsSaveCardsPaymentActive = (bool)Mage::getStoreConfig('payment/savedcards/active');
 
34
  ?>
35
 
36
- <?php if($this->isXpaymentMethod() && $useIframe):?>
37
  <?php
38
- $iFrameUrl = $this->getIframeUrl();
39
  $isNeedToSaveUserCard = Mage::helper("xpaymentsconnector")->isNeedToSaveUserCard();
40
  $customerRegistered = Mage::helper("xpaymentsconnector")->isRegisteredUser();
41
  ?>
31
  $useIframe = Mage::getStoreConfig('payment/xpayments/use_iframe');
32
  $isRecuringProduct = Mage::helper("xpaymentsconnector")->checkIsRecurringOrder();
33
  $IsSaveCardsPaymentActive = (bool)Mage::getStoreConfig('payment/savedcards/active');
34
+ $displayOnPaymentStep = (bool)(Mage::getStoreConfig('payment/xpayments/placedisplay') == "review");
35
  ?>
36
 
37
+ <?php if($this->isXpaymentMethod() && $useIframe && $displayOnPaymentStep):?>
38
  <?php
39
+ $iFrameUrl = Mage::helper("xpaymentsconnector")->getIframeUrl();
40
  $isNeedToSaveUserCard = Mage::helper("xpaymentsconnector")->isNeedToSaveUserCard();
41
  $customerRegistered = Mage::helper("xpaymentsconnector")->isRegisteredUser();
42
  ?>
app/design/frontend/default/default/template/xpaymentsconnector/customer/usercards/cardadd.phtml CHANGED
@@ -34,7 +34,7 @@ $xpayUrl = $xpayUrlMas["scheme"]."://".$xpayUrlMas["host"];
34
  </div>
35
 
36
  <?php
37
- $iFrameUrl = $this->getIframeUrl();
38
  ?>
39
  <div id="new-card-block">
40
  <div id="xpayment-iframe-block">
34
  </div>
35
 
36
  <?php
37
+ $iFrameUrl = $this->getAuthorizeIframeUrl();
38
  ?>
39
  <div id="new-card-block">
40
  <div id="xpayment-iframe-block">
app/design/frontend/default/default/template/xpaymentsconnector/form/cc.phtml CHANGED
@@ -29,7 +29,14 @@
29
  $useIframe = Mage::getStoreConfig('payment/xpayments/use_iframe');
30
  $isRecuringProduct = Mage::helper("xpaymentsconnector")->checkIsRecurringOrder();
31
  $IsSaveCardsPaymentActive = (bool)Mage::getStoreConfig('payment/savedcards/active');
 
 
 
 
 
 
32
  ?>
 
33
  <?php if (!$useIframe): ?>
34
  <?php if (!$isRecuringProduct): ?>
35
  <?php if ($IsSaveCardsPaymentActive): ?>
@@ -55,6 +62,60 @@
55
  </li>
56
  </ul>
57
  <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  <?php endif; ?>
59
 
60
 
 
29
  $useIframe = Mage::getStoreConfig('payment/xpayments/use_iframe');
30
  $isRecuringProduct = Mage::helper("xpaymentsconnector")->checkIsRecurringOrder();
31
  $IsSaveCardsPaymentActive = (bool)Mage::getStoreConfig('payment/savedcards/active');
32
+
33
+ // iframe display settings on the current page
34
+ $displayOnPaymentStep = (bool)(Mage::getStoreConfig('payment/xpayments/placedisplay') == "payment");
35
+
36
+ $isNeedToSaveUserCard = Mage::helper("xpaymentsconnector")->isNeedToSaveUserCard();
37
+ $customerRegistered = Mage::helper("xpaymentsconnector")->isRegisteredUser();
38
  ?>
39
+
40
  <?php if (!$useIframe): ?>
41
  <?php if (!$isRecuringProduct): ?>
42
  <?php if ($IsSaveCardsPaymentActive): ?>
62
  </li>
63
  </ul>
64
  <?php endif; ?>
65
+ <?php elseif($displayOnPaymentStep): ?>
66
+ <?php $iframeUrl = $this->getIframeUrl();?>
67
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none;">
68
+ <li>
69
+ <div id="xpayment-iframe-block">
70
+ <iframe id="xp-iframe" class="xp-iframe" data-src="<?php echo $iframeUrl; ?>" src="<?php echo $iframeUrl;?>" name="xp-iframe" style="display: none">
71
+ </iframe>
72
+ <div id="paymentstep-ajax-loader"></div>
73
+ <?php if($customerRegistered):?>
74
+ <?php if(!$isRecuringProduct): ?>
75
+ <?php if ($IsSaveCardsPaymentActive): ?>
76
+ <span id="iframe-save-card-switcher" >
77
+ <input type="checkbox" <?php echo ($isNeedToSaveUserCard)?"checked":"";?> title="<?php echo $this->__("Use this credit card"); ?>" class="checkbox x-payment-card " id="iframe_savecard" name="iframe_savecard" value="1" />
78
+ <label for="iframe_savecard"><?php echo $this->__("I want to use this credit card for my future orders in this shop."); ?></label>
79
+ </span>
80
+ <script type="text/javascript">
81
+ var url = "<?php echo Mage::getUrl("xpaymentsconnector/processing/saveusercard");?>";
82
+ $('iframe_savecard').observe('change',
83
+ function() {
84
+ if($('iframe_savecard').checked === true) {
85
+ new Ajax.Request(url, {
86
+ parameters: "user_card_save=1"
87
+ });
88
+ }else{
89
+ new Ajax.Request(url, {
90
+ parameters: "user_card_save=0"
91
+ });
92
+ }
93
+ });
94
+ </script>
95
+ <?php endif; ?>
96
+ <?php else: ?>
97
+ <span id="iframe-save-card-switcher" >
98
+ <?php echo $this->__("Your credit card will be saved for this subscription."); ?>
99
+ </span>
100
+ <?php endif;?>
101
+ <?php endif;?>
102
+ </div>
103
+ </li>
104
+ </ul>
105
+
106
+ <script type="text/javascript">
107
+ xpaymentMethodCode = '<?php echo $_code; ?>';
108
+ getIfameUrl = "<?php echo Mage::getUrl("xpaymentsconnector/processing/getcheckoutiframeurl", array('_nosid' => true, '_secure' => true));?>";
109
+ displayIframeOnPaymentStep = '<?php echo $displayOnPaymentStep ?>';
110
+ iframe = $('xp-iframe');
111
+
112
+ Event.observe(iframe, "load", function () {
113
+ $('paymentstep-ajax-loader').hide();
114
+ iframe.show();
115
+ });
116
+ </script>
117
+
118
  <?php endif; ?>
119
 
120
 
121
+
app/design/frontend/rwd/default/template/xpaymentsconnector/checkout/onepage/settings.phtml DELETED
@@ -1,56 +0,0 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-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@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * @category Cdev
16
- * @package Cdev_XPaymentsConnector
17
- * @copyright Copyright (c) 2010 Creative Development LLC <info@cdev.ru>. All rights reserved
18
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
- * @version SVN: $Id: blank.phtml 3624 2010-07-28 05:45:05Z max $
20
- */
21
- ?>
22
- <?php
23
-
24
-
25
- ?>
26
-
27
- <script>
28
- /* function xpaymentSave(){
29
- if (checkout.loadWaiting!=false) return;
30
-
31
- var validator = new Validation(this.form);
32
- if (validator.validate()) {
33
- checkout.setLoadWaiting('billing');
34
-
35
- // if ($('billing:use_for_shipping') && $('billing:use_for_shipping').checked) {
36
- // $('billing:use_for_shipping').value=1;
37
- // }
38
- console.log(this.saveUrl);
39
- /*var request = new Ajax.Request(
40
- this.saveUrl,
41
- {
42
- method: 'post',
43
- onComplete: this.onComplete,
44
- onSuccess: this.onSave,
45
- onFailure: checkout.ajaxFailure.bind(checkout),
46
- parameters: Form.serialize(this.form)
47
- }
48
- );*//*
49
- }
50
- },
51
-
52
- alert("ura");*/
53
-
54
- </script>
55
-
56
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/rwd/default/template/xpaymentsconnector/checkout/onepage/xpayment-iframe.phtml CHANGED
@@ -31,11 +31,12 @@
31
  $useIframe = Mage::getStoreConfig('payment/xpayments/use_iframe');
32
  $isRecuringProduct = Mage::helper("xpaymentsconnector")->checkIsRecurringOrder();
33
  $IsSaveCardsPaymentActive = (bool)Mage::getStoreConfig('payment/savedcards/active');
 
34
  ?>
35
 
36
- <?php if($this->isXpaymentMethod() && $useIframe):?>
37
  <?php
38
- $iFrameUrl = $this->getIframeUrl();
39
  $isNeedToSaveUserCard = Mage::helper("xpaymentsconnector")->isNeedToSaveUserCard();
40
  $customerRegistered = Mage::helper("xpaymentsconnector")->isRegisteredUser();
41
  ?>
31
  $useIframe = Mage::getStoreConfig('payment/xpayments/use_iframe');
32
  $isRecuringProduct = Mage::helper("xpaymentsconnector")->checkIsRecurringOrder();
33
  $IsSaveCardsPaymentActive = (bool)Mage::getStoreConfig('payment/savedcards/active');
34
+ $displayOnPaymentStep = (bool)(Mage::getStoreConfig('payment/xpayments/placedisplay') == "review");
35
  ?>
36
 
37
+ <?php if($this->isXpaymentMethod() && $useIframe && $displayOnPaymentStep):?>
38
  <?php
39
+ $iFrameUrl = Mage::helper("xpaymentsconnector")->getIframeUrl();
40
  $isNeedToSaveUserCard = Mage::helper("xpaymentsconnector")->isNeedToSaveUserCard();
41
  $customerRegistered = Mage::helper("xpaymentsconnector")->isRegisteredUser();
42
  ?>
app/design/frontend/rwd/default/template/xpaymentsconnector/customer/usercards/cardadd.phtml CHANGED
@@ -34,7 +34,7 @@ $xpayUrl = $xpayUrlMas["scheme"]."://".$xpayUrlMas["host"];
34
  </div>
35
 
36
  <?php
37
- $iFrameUrl = $this->getIframeUrl();
38
  ?>
39
  <div id="new-card-block">
40
  <div id="xpayment-iframe-block">
34
  </div>
35
 
36
  <?php
37
+ $iFrameUrl = $this->getAuthorizeIframeUrl();
38
  ?>
39
  <div id="new-card-block">
40
  <div id="xpayment-iframe-block">
app/design/frontend/rwd/default/template/xpaymentsconnector/form/cc.phtml CHANGED
@@ -29,7 +29,14 @@
29
  $useIframe = Mage::getStoreConfig('payment/xpayments/use_iframe');
30
  $isRecuringProduct = Mage::helper("xpaymentsconnector")->checkIsRecurringOrder();
31
  $IsSaveCardsPaymentActive = (bool)Mage::getStoreConfig('payment/savedcards/active');
 
 
 
 
 
 
32
  ?>
 
33
  <?php if (!$useIframe): ?>
34
  <?php if (!$isRecuringProduct): ?>
35
  <?php if ($IsSaveCardsPaymentActive): ?>
@@ -55,6 +62,60 @@
55
  </li>
56
  </ul>
57
  <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  <?php endif; ?>
59
 
60
 
 
29
  $useIframe = Mage::getStoreConfig('payment/xpayments/use_iframe');
30
  $isRecuringProduct = Mage::helper("xpaymentsconnector")->checkIsRecurringOrder();
31
  $IsSaveCardsPaymentActive = (bool)Mage::getStoreConfig('payment/savedcards/active');
32
+
33
+ // iframe display settings on the current page
34
+ $displayOnPaymentStep = (bool)(Mage::getStoreConfig('payment/xpayments/placedisplay') == "payment");
35
+
36
+ $isNeedToSaveUserCard = Mage::helper("xpaymentsconnector")->isNeedToSaveUserCard();
37
+ $customerRegistered = Mage::helper("xpaymentsconnector")->isRegisteredUser();
38
  ?>
39
+
40
  <?php if (!$useIframe): ?>
41
  <?php if (!$isRecuringProduct): ?>
42
  <?php if ($IsSaveCardsPaymentActive): ?>
62
  </li>
63
  </ul>
64
  <?php endif; ?>
65
+ <?php elseif($displayOnPaymentStep): ?>
66
+ <?php $iframeUrl = $this->getIframeUrl();?>
67
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none;">
68
+ <li>
69
+ <div id="xpayment-iframe-block">
70
+ <iframe id="xp-iframe" class="xp-iframe" data-src="<?php echo $iframeUrl; ?>" src="<?php echo $iframeUrl;?>" name="xp-iframe" style="display: none">
71
+ </iframe>
72
+ <div id="paymentstep-ajax-loader"></div>
73
+ <?php if($customerRegistered):?>
74
+ <?php if(!$isRecuringProduct): ?>
75
+ <?php if ($IsSaveCardsPaymentActive): ?>
76
+ <span id="iframe-save-card-switcher" >
77
+ <input type="checkbox" <?php echo ($isNeedToSaveUserCard)?"checked":"";?> title="<?php echo $this->__("Use this credit card"); ?>" class="checkbox x-payment-card " id="iframe_savecard" name="iframe_savecard" value="1" />
78
+ <label for="iframe_savecard"><?php echo $this->__("I want to use this credit card for my future orders in this shop."); ?></label>
79
+ </span>
80
+ <script type="text/javascript">
81
+ var url = "<?php echo Mage::getUrl("xpaymentsconnector/processing/saveusercard");?>";
82
+ $('iframe_savecard').observe('change',
83
+ function() {
84
+ if($('iframe_savecard').checked === true) {
85
+ new Ajax.Request(url, {
86
+ parameters: "user_card_save=1"
87
+ });
88
+ }else{
89
+ new Ajax.Request(url, {
90
+ parameters: "user_card_save=0"
91
+ });
92
+ }
93
+ });
94
+ </script>
95
+ <?php endif; ?>
96
+ <?php else: ?>
97
+ <span id="iframe-save-card-switcher" >
98
+ <?php echo $this->__("Your credit card will be saved for this subscription."); ?>
99
+ </span>
100
+ <?php endif;?>
101
+ <?php endif;?>
102
+ </div>
103
+ </li>
104
+ </ul>
105
+
106
+ <script type="text/javascript">
107
+ xpaymentMethodCode = '<?php echo $_code; ?>';
108
+ getIfameUrl = "<?php echo Mage::getUrl("xpaymentsconnector/processing/getcheckoutiframeurl", array('_nosid' => true, '_secure' => true));?>";
109
+ displayIframeOnPaymentStep = '<?php echo $displayOnPaymentStep ?>';
110
+ iframe = $('xp-iframe');
111
+
112
+ Event.observe(iframe, "load", function () {
113
+ $('paymentstep-ajax-loader').hide();
114
+ iframe.show();
115
+ });
116
+ </script>
117
+
118
  <?php endif; ?>
119
 
120
 
121
+
app/locale/en_US/Cdev_XPaymentsConnector.csv CHANGED
@@ -110,7 +110,7 @@
110
  "Transaction status is '%s'","Transaction status is '%s'"
111
  "You created card number '%s'. Transaction status is '%s'.","You created card number '%s'. Transaction status is '%s'."
112
  "Your order state has been changed during checkout. You will be redirected to the cart contents page.","Your order state has been changed during checkout. You will be redirected to the cart contents page."
113
-
114
 
115
 
116
 
110
  "Transaction status is '%s'","Transaction status is '%s'"
111
  "You created card number '%s'. Transaction status is '%s'.","You created card number '%s'. Transaction status is '%s'."
112
  "Your order state has been changed during checkout. You will be redirected to the cart contents page.","Your order state has been changed during checkout. You will be redirected to the cart contents page."
113
+ "Show credit card form at","Show credit card form at"
114
 
115
 
116
 
js/xpayment/checkout-submit.js CHANGED
@@ -18,6 +18,11 @@
18
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
  */
20
 
 
 
 
 
 
21
  function submitXpaymentIframe(iframeCheckUrl) {
22
 
23
  var currentIframeUrl = jQuery("#xp-iframe").attr("src");
@@ -62,6 +67,7 @@ function submitXpaymentIframe(iframeCheckUrl) {
62
 
63
  function receiveMessage(event)
64
  {
 
65
  jQuery("#review-buttons-container .btn-checkout").show();
66
  jQuery("#review-please-wait").hide();
67
  }
@@ -75,3 +81,31 @@ function getUrlParameterByName(name,url) {
75
  }
76
 
77
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
  */
20
 
21
+ var xpaymentMethodCode;
22
+ var getIfameUrl;
23
+ var displayIframeOnPaymentStep = 0;
24
+ var iframe;
25
+
26
  function submitXpaymentIframe(iframeCheckUrl) {
27
 
28
  var currentIframeUrl = jQuery("#xp-iframe").attr("src");
67
 
68
  function receiveMessage(event)
69
  {
70
+ jQuery("#opc-payment .step-title").click();
71
  jQuery("#review-buttons-container .btn-checkout").show();
72
  jQuery("#review-please-wait").hide();
73
  }
81
  }
82
 
83
 
84
+ document.observe("dom:loaded", function () {
85
+ $('checkoutSteps').observe('change',
86
+ function () {
87
+ if (displayIframeOnPaymentStep) {
88
+ var activePaymentName = $$('input:checked[type=radio][name=payment[method]]')[0].value;
89
+ if (xpaymentMethodCode == activePaymentName) {
90
+ var iframe = $('xp-iframe');
91
+ var currentIframeUrl = iframe.getAttribute("src");
92
+ if (currentIframeUrl == "#") {
93
+ new Ajax.Request(getIfameUrl,
94
+ {
95
+ method: "post",
96
+ onSuccess: function (response) {
97
+ var jsonResponse = response.responseText.evalJSON();
98
+ iframe.setAttribute('src', jsonResponse.iframe_url);
99
+ },
100
+ onFailure: function () {
101
+ alert("Can't connect to Xpayment server...")
102
+ }
103
+ });
104
+ }
105
+ }
106
+ }
107
+ });
108
+
109
+ });
110
+
111
+
js/xpayment/settings.css CHANGED
@@ -36,6 +36,16 @@
36
  border-right: 1px solid #d9dde3;
37
  }
38
 
 
 
 
 
 
 
 
 
 
 
39
  iframe .buttonRow {
40
  display: none;
41
  }
@@ -66,6 +76,15 @@ iframe .buttonRow {
66
  z-index: 100000;
67
  }
68
 
 
 
 
 
 
 
 
 
 
69
  #payment_form_xpayments > li {
70
  padding-left: 20px;
71
  }
36
  border-right: 1px solid #d9dde3;
37
  }
38
 
39
+ #checkout-payment-method-load #xpayment-iframe-block {
40
+ padding-bottom: 10px;
41
+ border: 0px;
42
+ }
43
+
44
+ #checkout-payment-method-load #xpayment-iframe-block iframe{
45
+ border: 1px solid #d9dde3;
46
+ margin-left: 0%;
47
+ }
48
+
49
  iframe .buttonRow {
50
  display: none;
51
  }
76
  z-index: 100000;
77
  }
78
 
79
+ #paymentstep-ajax-loader {
80
+ background: url("images/loader.gif") 50% 50% no-repeat;
81
+ height: 213px;
82
+ margin-bottom: 0;
83
+ margin-right: 0;
84
+ text-align: center;
85
+ z-index: 100000;
86
+ }
87
+
88
  #payment_form_xpayments > li {
89
  padding-left: 20px;
90
  }
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>CDev_XPaymentsConnector</name>
4
- <version>1.2.6</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL 3.0</license>
7
  <channel>community</channel>
@@ -10,11 +10,11 @@
10
  <description>X-Payments connector&#xD;
11
  This extension integrates Magento with X-Payments - a PA-DSS certified payment module.&#xD;
12
  </description>
13
- <notes>Version number: 1.2.6</notes>
14
  <authors><author><name>Valerii Demidov</name><user>Valerii</user><email>vdemidov@corp.web4pro.com.ua</email></author></authors>
15
- <date>2014-09-12</date>
16
- <time>08:12:53</time>
17
- <contents><target name="magecommunity"><dir name="Cdev"><dir name="XPaymentsConnector"><dir name="Block"><dir name="Adminhtml"><dir name="Customer"><dir name="Edit"><dir name="Renderer"><file name="Cardtype.php" hash="62499b375fa9c7ba091ff7763d54a95d"/><file name="Txnid.php" hash="13d4ed0d24df35cc9956dc155b3ce8b5"/></dir><dir name="Tab"><file name="Usercards.php" hash="248e454bc1c43d41013fd5d077b39961"/></dir></dir></dir><dir name="Sales"><dir name="Order"><dir name="View"><dir name="Tab"><file name="Xporderstate.php" hash="c18f9945cc3a67e8687bc14b4a989fa1"/></dir></dir></dir></dir><dir name="Usercards"><file name="Grid.php" hash="ba4e515d5e9342b11d63dc796aa96e8a"/></dir></dir><file name="Beforesuccess.php" hash="60a7d25651a98f71ca67ed70380e1659"/><file name="Cancel.php" hash="3283657e21047278d81ac4478ac81de6"/><dir name="Checkout"><dir name="Onepage"><file name="Settings.php" hash="8d975592555c5f7dd52299f026ee5fb7"/></dir></dir><file name="Control.php" hash="e0ef77a236030598882937acb2a9c4e0"/><dir name="Customer"><dir name="Account"><file name="Navigation.php" hash="aad9aa09d20706f042f1deac00d04473"/></dir><file name="Cardadd.php" hash="6887735f7db52fb1ee734792f9b0576b"/><file name="Success.php" hash="54f243e60b735cdd5cd879be65838fee"/><file name="Usercards.php" hash="ce4b7f73fb735a55d914ba0dad38d68a"/></dir><file name="Failure.php" hash="537aec3d3ee63ff1ac2d2300c2ca259e"/><dir name="Form"><file name="Cc.php" hash="ce7a6fe2a208cb736ccd3ccddf39d003"/><file name="Prepaidpayments.php" hash="66959c7b8e7714f80f44da9afde93936"/><file name="Savedcards.php" hash="552579e7918fc666dc6de8983fc185b3"/></dir><dir name="Info"><file name="Cc.php" hash="80ec2f2dd7691519d481977ab7bdcec4"/><file name="Prepaidpayments.php" hash="5046201a95c114c6020696b7d2855b7f"/><file name="Savedcards.php" hash="5e8b71515b6d516621aea6abfda332fe"/></dir><dir name="Recurring"><dir name="Profile"><file name="View.php" hash="ee800cc7d48e437d3e993e5bd6d42a96"/></dir></dir><file name="Redirect.php" hash="e4745b70dbe2d33b327a70eb195c9345"/><file name="Success.php" hash="d2f023bc2206cbb33997b791a57b1b4e"/></dir><dir name="Helper"><file name="Data.php" hash="3ea663123bfa3b72a30df327c6fb8338"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Paymentconfiguration"><file name="Collection.php" hash="98760f276af5182d42801865cb116db4"/></dir><file name="Paymentconfiguration.php" hash="ca045f953ec018c583279340c137ff71"/><dir name="Usercards"><file name="Collection.php" hash="6df6d26bef085e86c6db625487006086"/></dir><file name="Usercards.php" hash="ffb98ad5a0c252bbbf14adb086cf0d3c"/></dir><file name="Observer.php" hash="0af3940d6be0bab0473fcc5ca1114de6"/><dir name="Payment"><file name="Cc.php" hash="98ef7808480f1e3f99c912b2ffb00eb8"/><file name="Prepaidpayments.php" hash="9bbab2a26748c59609d6c81d8fc37c41"/><dir name="Recurring"><file name="Profile.php" hash="7c0e5c707531e5d258b8c493243c00a1"/></dir><file name="Savedcards.php" hash="e97d591bcdf4b66231aa62cb72b32770"/></dir><file name="Paymentconfiguration.php" hash="c0a6c5b610e42037f9904247e657a0e6"/><dir name="Quote"><dir name="Address"><dir name="Total"><dir name="Nominal"><dir name="Recurring"><file name="Discount.php" hash="9c2ee0abac22865bb349dc11cebd66b2"/></dir></dir><file name="Nominal.php" hash="a835e5ed1692a8712571db963c22bd60"/></dir></dir></dir><file name="Quote.php" hash="01a8a985a91d805a1af4950406bd89bf"/><dir name="Sales"><dir name="Recurring"><file name="Profile.php" hash="5f5486cb753946720ad932b6eb5d6831"/></dir></dir><dir name="Source"><file name="Paymentconfiguration.php" hash="eb9b8e1187a4a4f4614582d5f7932c37"/></dir><file name="Usercards.php" hash="049b38f03920a17d5dbd0ba5e3a834cc"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="CustomerController.php" hash="8f2bc887259b9d5ae6f3a731e7a2eb6a"/></dir><file name="ControlController.php" hash="92e1380179483d97cd27be1d147833ba"/><file name="CustomerController.php" hash="38cb8af6cf9cf609fd31da5ec79ef263"/><file name="ProcessingController.php" hash="7ab567f40d731ed85bb38172ebcbebf5"/></dir><dir name="etc"><file name="config.xml" hash="2cebef0135ca4ea96666538c2659ff91"/><file name="system.xml" hash="d9fd273ac8f7ea361a923696af286a8f"/></dir><dir name="sql"><dir name="xpaymentsconnector_setup"><file name="mysql4-install-1.0.0.php" hash="5b6ed901a54700d986dd81029104ed72"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="5e2da32a0f87b747a5e9f3d9095e962a"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="566cd8aa894ff488f60bd718ad8b2772"/><file name="mysql4-upgrade-1.0.2-1.0.3.php" hash="0f44cf02457c2b6a887b399e94b89e57"/><file name="mysql4-upgrade-1.0.3-1.0.4.php" hash="f353d20a6d6ac827be5cd581cc988660"/><file name="mysql4-upgrade-1.0.4-1.0.5.php" hash="9b71385496b9b42e5a79b0cbbc557dff"/><file name="mysql4-upgrade-1.0.5-1.0.6.php" hash="fa79555b4802a96579f314a670ab8ed3"/><file name="mysql4-upgrade-1.0.6-1.0.7.php" hash="b9708303f3160fc0c9347f4600e27aba"/><file name="mysql4-upgrade-1.0.7-1.0.8.php" hash="2d07945a0438bf29f1386e47b2b5498b"/><file name="mysql4-upgrade-1.0.8-1.0.9.php" hash="83a4aace7f0e389c5caaaf97675f6c24"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="xpaymentsconnector.xml" hash="bfe38bbacc0cc7d3a2bc4c51fc0c2a53"/></dir><dir name="template"><dir name="xpaymentsconnector"><file name="control.phtml" hash="66bb941b66f57585b2035f29afcea22d"/><dir name="form"><file name="prepaidpayments.phtml" hash="bfe70a3c62187bcd9915fb621eda58b9"/><file name="savedcards.phtml" hash="27ef4734f19ded0eb98214276a58e550"/></dir><dir name="info"><file name="cc.phtml" hash="67282ccf6f932de083bc477cc4238d22"/><file name="prepaidpayments.phtml" hash="f4bd2aa628257cb1f3450a1632a0b771"/><file name="savedcards.phtml" hash="299a1719dd63755b9d31f25c4d9738ac"/></dir><file name="info.phtml" hash="ab312e6f206c51ff3134b9a3ce5b5440"/><dir name="order"><dir name="view"><dir name="tab"><file name="xporderstate.phtml" hash="9a91a75622f7b2309e1fc16d61552952"/></dir></dir></dir><dir name="pdf"><file name="info.phtml" hash="9603c212b8efd1247ce36239d7365a73"/></dir><dir name="usercards"><dir name="tab"><file name="js.phtml" hash="ae8189ee0b9f0bd09d61692403527331"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="xpaymentsconnector.xml" hash="3c61c475430307e89459a92b44b140e6"/></dir><dir name="template"><dir name="xpaymentsconnector"><file name="blank.phtml" hash="a22778db8681a9aaee22eb2d8f8c6533"/><file name="cancel.phtml" hash="3ba9764fcbf85a3504664b342450ec2b"/><dir name="checkout"><dir name="onepage"><file name="beforesuccess.phtml" hash="8e05eff3705ac40d758c21523640f969"/><dir name="review"><file name="button.phtml" hash="ed96034bc129f74af1020384499840a9"/></dir><file name="settings.phtml" hash="3770940ac85ef9037160f4d1278069be"/><file name="xpayment-iframe.phtml" hash="26e89590e2390602a7c836a6c73d6d01"/></dir></dir><dir name="customer"><file name="cardaddsuccess.phtml" hash="6771721173b99c0cf70391c22d878276"/><dir name="usercards"><file name="cardadd.phtml" hash="6cee3d1ac74fcab72d9eb5284ce01139"/><file name="list.phtml" hash="5bf980a24c788af17cd80a8bf511807f"/></dir></dir><file name="failure.phtml" hash="3d0691440fda2d1f3a314cd151d6ea90"/><dir name="form"><file name="cc.phtml" hash="7c8766bc36d2f9a60e242ae551002437"/><file name="savedcards.phtml" hash="acbfcc5771443fcee06d715c3c049546"/></dir><dir name="info"><file name="cc.phtml" hash="9f96547c119d966eb26c67fb557cf1b8"/><file name="prepaidpayments.phtml" hash="f4bd2aa628257cb1f3450a1632a0b771"/><file name="savedcards.phtml" hash="b44b31ecdf8c653ea8299c9664061b27"/></dir><file name="redirect.phtml" hash="4c9c74e94c9a3015dee181a0ef978550"/></dir></dir></dir></dir><dir name="rwd"><dir name="default"><dir name="layout"><file name="xpaymentsconnector.xml" hash="3c61c475430307e89459a92b44b140e6"/></dir><dir name="template"><dir name="xpaymentsconnector"><file name="blank.phtml" hash="a22778db8681a9aaee22eb2d8f8c6533"/><file name="cancel.phtml" hash="3ba9764fcbf85a3504664b342450ec2b"/><dir name="checkout"><dir name="onepage"><file name="beforesuccess.phtml" hash="8e05eff3705ac40d758c21523640f969"/><dir name="review"><file name="button.phtml" hash="ed96034bc129f74af1020384499840a9"/></dir><file name="settings.phtml" hash="3770940ac85ef9037160f4d1278069be"/><file name="xpayment-iframe.phtml" hash="26e89590e2390602a7c836a6c73d6d01"/></dir></dir><dir name="customer"><file name="cardaddsuccess.phtml" hash="6771721173b99c0cf70391c22d878276"/><dir name="usercards"><file name="cardadd.phtml" hash="6cee3d1ac74fcab72d9eb5284ce01139"/><file name="list.phtml" hash="5bf980a24c788af17cd80a8bf511807f"/></dir></dir><file name="failure.phtml" hash="3d0691440fda2d1f3a314cd151d6ea90"/><dir name="form"><file name="cc.phtml" hash="7c8766bc36d2f9a60e242ae551002437"/><file name="savedcards.phtml" hash="acbfcc5771443fcee06d715c3c049546"/></dir><dir name="info"><file name="cc.phtml" hash="9f96547c119d966eb26c67fb557cf1b8"/><file name="prepaidpayments.phtml" hash="f4bd2aa628257cb1f3450a1632a0b771"/><file name="savedcards.phtml" hash="b44b31ecdf8c653ea8299c9664061b27"/></dir><file name="redirect.phtml" hash="4c9c74e94c9a3015dee181a0ef978550"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Cdev_XPaymentsConnector.xml" hash="3b87bc5a9c17519d38e7de93b5ad13b9"/></dir></target><target name="mage"><dir name="js"><dir name="xpayment"><file name="checkout-submit.js" hash="dc00ba3b3bc9183679272ab1aa7cf456"/><dir name="images"><file name="card_types.png" hash="d35ba97c55e2cc1273a0dd1d7862d84c"/><file name="loader.gif" hash="e67d85a8d2d4021514815d0ff4d65173"/></dir><file name="settings.css" hash="653c4d64a546ef82b63664bd569bafa8"/></dir></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="Cdev_XPaymentsConnector.csv" hash="b920adfca23deb393fc0a5a85f5c7527"/></dir></dir></target></contents>
18
  <compatible/>
19
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
20
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>CDev_XPaymentsConnector</name>
4
+ <version>1.2.7</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL 3.0</license>
7
  <channel>community</channel>
10
  <description>X-Payments connector&#xD;
11
  This extension integrates Magento with X-Payments - a PA-DSS certified payment module.&#xD;
12
  </description>
13
+ <notes>Version number: 1.2.7</notes>
14
  <authors><author><name>Valerii Demidov</name><user>Valerii</user><email>vdemidov@corp.web4pro.com.ua</email></author></authors>
15
+ <date>2014-10-03</date>
16
+ <time>15:46:18</time>
17
+ <contents><target name="magecommunity"><dir name="Cdev"><dir name="XPaymentsConnector"><dir name="Block"><dir name="Adminhtml"><dir name="Customer"><dir name="Edit"><dir name="Renderer"><file name="Cardtype.php" hash="62499b375fa9c7ba091ff7763d54a95d"/><file name="Txnid.php" hash="13d4ed0d24df35cc9956dc155b3ce8b5"/></dir><dir name="Tab"><file name="Usercards.php" hash="248e454bc1c43d41013fd5d077b39961"/></dir></dir></dir><dir name="Sales"><dir name="Order"><dir name="View"><dir name="Tab"><file name="Xporderstate.php" hash="c18f9945cc3a67e8687bc14b4a989fa1"/></dir></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><file name="Subselect.php" hash="c989f9ce4b9af2885c6d28e874825eab"/></dir></dir></dir><dir name="Usercards"><file name="Grid.php" hash="ba4e515d5e9342b11d63dc796aa96e8a"/></dir></dir><file name="Beforesuccess.php" hash="60a7d25651a98f71ca67ed70380e1659"/><file name="Cancel.php" hash="3283657e21047278d81ac4478ac81de6"/><dir name="Checkout"><dir name="Onepage"><file name="Settings.php" hash="cb6c6eac7712be2889b03a9762db25b6"/></dir></dir><file name="Control.php" hash="e0ef77a236030598882937acb2a9c4e0"/><dir name="Customer"><dir name="Account"><file name="Navigation.php" hash="aad9aa09d20706f042f1deac00d04473"/></dir><file name="Cardadd.php" hash="d46b80f3ee05cc46faf3d74b589baafa"/><file name="Success.php" hash="54f243e60b735cdd5cd879be65838fee"/><file name="Usercards.php" hash="ce4b7f73fb735a55d914ba0dad38d68a"/></dir><file name="Failure.php" hash="537aec3d3ee63ff1ac2d2300c2ca259e"/><dir name="Form"><file name="Cc.php" hash="e66f4a72b6ef02cdec8c45522a171568"/><file name="Container.php" hash="f5b3fd1fbf43eee8a6036a2a3a0bd5f7"/><file name="Prepaidpayments.php" hash="66959c7b8e7714f80f44da9afde93936"/><file name="Savedcards.php" hash="552579e7918fc666dc6de8983fc185b3"/></dir><dir name="Info"><file name="Cc.php" hash="80ec2f2dd7691519d481977ab7bdcec4"/><file name="Prepaidpayments.php" hash="5046201a95c114c6020696b7d2855b7f"/><file name="Savedcards.php" hash="5e8b71515b6d516621aea6abfda332fe"/></dir><dir name="Recurring"><dir name="Profile"><file name="View.php" hash="ee800cc7d48e437d3e993e5bd6d42a96"/></dir></dir><file name="Redirect.php" hash="e4745b70dbe2d33b327a70eb195c9345"/><file name="Success.php" hash="d2f023bc2206cbb33997b791a57b1b4e"/></dir><dir name="Helper"><file name="Data.php" hash="f8788883d2a01fbfbc036d445637b7df"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Source"><file name="Placedisplay.php" hash="a42a68646dc2e1aa77502ec1be0dbaf7"/></dir></dir></dir></dir><dir name="Mysql4"><dir name="Paymentconfiguration"><file name="Collection.php" hash="98760f276af5182d42801865cb116db4"/></dir><file name="Paymentconfiguration.php" hash="ca045f953ec018c583279340c137ff71"/><dir name="Usercards"><file name="Collection.php" hash="6df6d26bef085e86c6db625487006086"/></dir><file name="Usercards.php" hash="ffb98ad5a0c252bbbf14adb086cf0d3c"/></dir><file name="Observer.php" hash="2e10fd26ebdee15572b34bd893ff1c8a"/><dir name="Payment"><file name="Cc.php" hash="98ef7808480f1e3f99c912b2ffb00eb8"/><file name="Prepaidpayments.php" hash="9bbab2a26748c59609d6c81d8fc37c41"/><dir name="Recurring"><file name="Profile.php" hash="7c0e5c707531e5d258b8c493243c00a1"/></dir><file name="Savedcards.php" hash="e97d591bcdf4b66231aa62cb72b32770"/></dir><file name="Paymentconfiguration.php" hash="c0a6c5b610e42037f9904247e657a0e6"/><dir name="Quote"><dir name="Address"><dir name="Total"><dir name="Nominal"><dir name="Recurring"><file name="Discount.php" hash="9c2ee0abac22865bb349dc11cebd66b2"/></dir></dir><file name="Nominal.php" hash="a835e5ed1692a8712571db963c22bd60"/></dir></dir></dir><file name="Quote.php" hash="01a8a985a91d805a1af4950406bd89bf"/><dir name="Sales"><dir name="Recurring"><file name="Profile.php" hash="5f5486cb753946720ad932b6eb5d6831"/></dir></dir><dir name="Source"><file name="Paymentconfiguration.php" hash="eb9b8e1187a4a4f4614582d5f7932c37"/></dir><file name="Usercards.php" hash="049b38f03920a17d5dbd0ba5e3a834cc"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="CustomerController.php" hash="8f2bc887259b9d5ae6f3a731e7a2eb6a"/></dir><file name="ControlController.php" hash="92e1380179483d97cd27be1d147833ba"/><file name="CustomerController.php" hash="38cb8af6cf9cf609fd31da5ec79ef263"/><file name="ProcessingController.php" hash="027c7e13ef50375a030aca4dba27381f"/></dir><dir name="etc"><file name="config.xml" hash="aee71c1283c101a0829d012a66479b34"/><file name="system.xml" hash="40015b50b9b503d49bed0e850cd78e03"/></dir><dir name="sql"><dir name="xpaymentsconnector_setup"><file name="mysql4-install-1.0.0.php" hash="5b6ed901a54700d986dd81029104ed72"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="5e2da32a0f87b747a5e9f3d9095e962a"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="566cd8aa894ff488f60bd718ad8b2772"/><file name="mysql4-upgrade-1.0.2-1.0.3.php" hash="0f44cf02457c2b6a887b399e94b89e57"/><file name="mysql4-upgrade-1.0.3-1.0.4.php" hash="f353d20a6d6ac827be5cd581cc988660"/><file name="mysql4-upgrade-1.0.4-1.0.5.php" hash="9b71385496b9b42e5a79b0cbbc557dff"/><file name="mysql4-upgrade-1.0.5-1.0.6.php" hash="fa79555b4802a96579f314a670ab8ed3"/><file name="mysql4-upgrade-1.0.6-1.0.7.php" hash="b9708303f3160fc0c9347f4600e27aba"/><file name="mysql4-upgrade-1.0.7-1.0.8.php" hash="2d07945a0438bf29f1386e47b2b5498b"/><file name="mysql4-upgrade-1.0.8-1.0.9.php" hash="83a4aace7f0e389c5caaaf97675f6c24"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="xpaymentsconnector.xml" hash="bfe38bbacc0cc7d3a2bc4c51fc0c2a53"/></dir><dir name="template"><dir name="xpaymentsconnector"><file name="control.phtml" hash="66bb941b66f57585b2035f29afcea22d"/><dir name="form"><file name="prepaidpayments.phtml" hash="bfe70a3c62187bcd9915fb621eda58b9"/><file name="savedcards.phtml" hash="27ef4734f19ded0eb98214276a58e550"/></dir><dir name="info"><file name="cc.phtml" hash="67282ccf6f932de083bc477cc4238d22"/><file name="prepaidpayments.phtml" hash="f4bd2aa628257cb1f3450a1632a0b771"/><file name="savedcards.phtml" hash="299a1719dd63755b9d31f25c4d9738ac"/></dir><file name="info.phtml" hash="ab312e6f206c51ff3134b9a3ce5b5440"/><dir name="order"><dir name="view"><dir name="tab"><file name="xporderstate.phtml" hash="9a91a75622f7b2309e1fc16d61552952"/></dir></dir></dir><dir name="pdf"><file name="info.phtml" hash="9603c212b8efd1247ce36239d7365a73"/></dir><dir name="usercards"><dir name="tab"><file name="js.phtml" hash="ae8189ee0b9f0bd09d61692403527331"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="xpaymentsconnector.xml" hash="3c61c475430307e89459a92b44b140e6"/></dir><dir name="template"><dir name="xpaymentsconnector"><file name="blank.phtml" hash="a22778db8681a9aaee22eb2d8f8c6533"/><file name="cancel.phtml" hash="3ba9764fcbf85a3504664b342450ec2b"/><dir name="checkout"><dir name="onepage"><file name="beforesuccess.phtml" hash="8e05eff3705ac40d758c21523640f969"/><dir name="review"><file name="button.phtml" hash="ed96034bc129f74af1020384499840a9"/></dir><file name="xpayment-iframe.phtml" hash="193d75fa0cc4c11f7ffc94becbfb4afa"/></dir></dir><dir name="customer"><file name="cardaddsuccess.phtml" hash="6771721173b99c0cf70391c22d878276"/><dir name="usercards"><file name="cardadd.phtml" hash="8b347d0f43deb95710709ab7010bf1d7"/><file name="list.phtml" hash="5bf980a24c788af17cd80a8bf511807f"/></dir></dir><file name="failure.phtml" hash="3d0691440fda2d1f3a314cd151d6ea90"/><dir name="form"><file name="cc.phtml" hash="6977a84c16bc2ba0bff8347dc7715069"/><file name="savedcards.phtml" hash="acbfcc5771443fcee06d715c3c049546"/></dir><dir name="info"><file name="cc.phtml" hash="9f96547c119d966eb26c67fb557cf1b8"/><file name="prepaidpayments.phtml" hash="f4bd2aa628257cb1f3450a1632a0b771"/><file name="savedcards.phtml" hash="b44b31ecdf8c653ea8299c9664061b27"/></dir><file name="redirect.phtml" hash="4c9c74e94c9a3015dee181a0ef978550"/></dir></dir></dir></dir><dir name="rwd"><dir name="default"><dir name="layout"><file name="xpaymentsconnector.xml" hash="3c61c475430307e89459a92b44b140e6"/></dir><dir name="template"><dir name="xpaymentsconnector"><file name="blank.phtml" hash="a22778db8681a9aaee22eb2d8f8c6533"/><file name="cancel.phtml" hash="3ba9764fcbf85a3504664b342450ec2b"/><dir name="checkout"><dir name="onepage"><file name="beforesuccess.phtml" hash="8e05eff3705ac40d758c21523640f969"/><dir name="review"><file name="button.phtml" hash="ed96034bc129f74af1020384499840a9"/></dir><file name="xpayment-iframe.phtml" hash="193d75fa0cc4c11f7ffc94becbfb4afa"/></dir></dir><dir name="customer"><file name="cardaddsuccess.phtml" hash="6771721173b99c0cf70391c22d878276"/><dir name="usercards"><file name="cardadd.phtml" hash="8b347d0f43deb95710709ab7010bf1d7"/><file name="list.phtml" hash="5bf980a24c788af17cd80a8bf511807f"/></dir></dir><file name="failure.phtml" hash="3d0691440fda2d1f3a314cd151d6ea90"/><dir name="form"><file name="cc.phtml" hash="6977a84c16bc2ba0bff8347dc7715069"/><file name="savedcards.phtml" hash="acbfcc5771443fcee06d715c3c049546"/></dir><dir name="info"><file name="cc.phtml" hash="9f96547c119d966eb26c67fb557cf1b8"/><file name="prepaidpayments.phtml" hash="f4bd2aa628257cb1f3450a1632a0b771"/><file name="savedcards.phtml" hash="b44b31ecdf8c653ea8299c9664061b27"/></dir><file name="redirect.phtml" hash="4c9c74e94c9a3015dee181a0ef978550"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Cdev_XPaymentsConnector.xml" hash="3b87bc5a9c17519d38e7de93b5ad13b9"/></dir></target><target name="mage"><dir name="js"><dir name="xpayment"><file name="checkout-submit.js" hash="f6203cdcc53d44b281eae5349d55d412"/><dir name="images"><file name="card_types.png" hash="d35ba97c55e2cc1273a0dd1d7862d84c"/><file name="loader.gif" hash="e67d85a8d2d4021514815d0ff4d65173"/></dir><file name="settings.css" hash="f637ab74b9e0854f4180ff808da0ff16"/></dir></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="Cdev_XPaymentsConnector.csv" hash="d3b55522dd6832c05138d65195a82f87"/></dir></dir></target></contents>
18
  <compatible/>
19
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
20
  </package>