HC_PayByFinance - Version 1.0.3.3

Version Notes

* Deposit amount to calculate with discounts and giftcards
* Demo URL instead of UAT
* Unit tests to reach UAT
* Changed license from HWS to GPL
* HC-150 Address Checked and Wizard fields
* HC-154 debug POST requests to order comments
* HC-158 If basket is not valid for Finance, invalidate session
* HC-161 HTTPS on session save urls

Download this release

Release Info

Developer Sandor Czettner
Extension HC_PayByFinance
Version 1.0.3.3
Comparing to
See all releases


Code changes from version 1.0.3 to 1.0.3.3

app/code/local/HC/PayByFinance/Model/Observer.php CHANGED
@@ -29,7 +29,7 @@ class HC_PayByFinance_Model_Observer
29
  /**
30
  * Clearing enterprise full page cache after saving a service
31
  *
32
- * @param Object $observer Onserver object
33
  *
34
  * @return void
35
  */
@@ -44,7 +44,7 @@ class HC_PayByFinance_Model_Observer
44
  /**
45
  * Converting address data into a quote
46
  *
47
- * @param Object $observer Onserver object
48
  *
49
  * @return void
50
  */
@@ -95,7 +95,7 @@ class HC_PayByFinance_Model_Observer
95
  * Order save event. Responds only if it's the first save after converted from quote
96
  * See $order->setFromQuote() in function convertQuoteAddressToOrder()
97
  *
98
- * @param Object $observer Onserver object
99
  *
100
  * @return void
101
  */
@@ -119,7 +119,7 @@ class HC_PayByFinance_Model_Observer
119
  /**
120
  * Checkout success event to redirect to Hitachi
121
  *
122
- * @param Object $observer Onserver object
123
  *
124
  * @return void
125
  */
29
  /**
30
  * Clearing enterprise full page cache after saving a service
31
  *
32
+ * @param Object $observer Observer object
33
  *
34
  * @return void
35
  */
44
  /**
45
  * Converting address data into a quote
46
  *
47
+ * @param Object $observer Observer object
48
  *
49
  * @return void
50
  */
95
  * Order save event. Responds only if it's the first save after converted from quote
96
  * See $order->setFromQuote() in function convertQuoteAddressToOrder()
97
  *
98
+ * @param Object $observer Observer object
99
  *
100
  * @return void
101
  */
119
  /**
120
  * Checkout success event to redirect to Hitachi
121
  *
122
+ * @param Object $observer Observer object
123
  *
124
  * @return void
125
  */
app/code/local/HC/PayByFinance/Model/Post.php CHANGED
@@ -91,12 +91,24 @@ class HC_PayByFinance_Model_Post extends Mage_Core_Model_Abstract
91
  'id2' => trim((string) Mage::getStoreConfig($helper::XML_PATH_PBF_ACCOUNT_ID2)),
92
  'ver' => $adapter::PROTOCOL_VERSION,
93
  'eea' => Mage::getStoreConfig($helper::XML_PATH_ERROR_NOTIFY_EMAIL),
94
- 'eurl' => Mage::getUrl('paybyfinance/checkout/response'),
95
- 'acceptedURL' => Mage::getUrl('paybyfinance/checkout/response'),
96
- 'referredURL' => Mage::getUrl('paybyfinance/checkout/response'),
97
- 'declinedURL' => Mage::getUrl('paybyfinance/checkout/response'),
98
- 'toStoreURL' => Mage::getUrl('paybyfinance/checkout/response'),
99
- 'notificationURL' => Mage::getUrl('paybyfinance/notification'),
 
 
 
 
 
 
 
 
 
 
 
 
100
  'address_checked' => $addressChecked == "1" ? 'Y' : 'N',
101
  'wizard' => $wizard == "1" ? 'Y' : 'N',
102
  );
91
  'id2' => trim((string) Mage::getStoreConfig($helper::XML_PATH_PBF_ACCOUNT_ID2)),
92
  'ver' => $adapter::PROTOCOL_VERSION,
93
  'eea' => Mage::getStoreConfig($helper::XML_PATH_ERROR_NOTIFY_EMAIL),
94
+ 'eurl' => Mage::getUrl(
95
+ 'paybyfinance/checkout/response', array("_secure" => true)
96
+ ),
97
+ 'acceptedURL' => Mage::getUrl(
98
+ 'paybyfinance/checkout/response', array("_secure" => true)
99
+ ),
100
+ 'referredURL' => Mage::getUrl(
101
+ 'paybyfinance/checkout/response', array("_secure" => true)
102
+ ),
103
+ 'declinedURL' => Mage::getUrl(
104
+ 'paybyfinance/checkout/response', array("_secure" => true)
105
+ ),
106
+ 'toStoreURL' => Mage::getUrl(
107
+ 'paybyfinance/checkout/response', array("_secure" => true)
108
+ ),
109
+ 'notificationURL' => Mage::getUrl(
110
+ 'paybyfinance/notification', array("_secure" => true)
111
+ ),
112
  'address_checked' => $addressChecked == "1" ? 'Y' : 'N',
113
  'wizard' => $wizard == "1" ? 'Y' : 'N',
114
  );
app/code/local/HC/PayByFinance/Model/Post/Unittest.php CHANGED
@@ -26,7 +26,7 @@
26
  */
27
  class HC_PayByFinance_Model_Post_Unittest extends HC_PayByFinance_Model_Post_Abstract
28
  {
29
- const POST_URL = 'https://uat-www.creditmaster2.co.uk/Ecommerce/etailer/createQuote.action';
30
- const NOTIFY_URL = 'https://uat-www.creditmaster2.co.uk/Ecommerce/etailer/notify.action';
31
  const MODE = 'unittest';
32
  }
26
  */
27
  class HC_PayByFinance_Model_Post_Unittest extends HC_PayByFinance_Model_Post_Abstract
28
  {
29
+ const POST_URL = 'https://demo.creditmaster2.co.uk/Ecommerce/etailer/createQuote.action';
30
+ const NOTIFY_URL = 'https://demo.creditmaster2.co.uk/Ecommerce/etailer/notify.action';
31
  const MODE = 'unittest';
32
  }
app/code/local/HC/PayByFinance/Model/Sales/Quote/Financeamount.php CHANGED
@@ -55,6 +55,13 @@ class HC_PayByFinance_Model_Sales_Quote_Financeamount
55
 
56
  $session = Mage::getSingleton('paybyfinance/session');
57
 
 
 
 
 
 
 
 
58
  if ($session->getData('enabled')) {
59
  $calculator = Mage::getModel('paybyfinance/calculator');
60
  $cartHelper = Mage::helper('paybyfinance/cart');
55
 
56
  $session = Mage::getSingleton('paybyfinance/session');
57
 
58
+ Mage::dispatchEvent(
59
+ 'paybyfinance_quote_financeamount_collect_before', array(
60
+ 'address' => $address,
61
+ 'session' => $session
62
+ )
63
+ );
64
+
65
  if ($session->getData('enabled')) {
66
  $calculator = Mage::getModel('paybyfinance/calculator');
67
  $cartHelper = Mage::helper('paybyfinance/cart');
app/code/local/HC/PayByFinance/Model/Sessionobserver.php ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Hitachi Capital Pay By Finance
4
+ *
5
+ * Hitachi Capital Pay By Finance Extension
6
+ *
7
+ * PHP version >= 5.3.*
8
+ *
9
+ * @category HC
10
+ * @package PayByFinance
11
+ * @author Healthy Websites <support@healthywebsites.co.uk>
12
+ * @copyright 2014 Hitachi Capital
13
+ * @license http://www.gnu.org/copyleft/gpl.html GPL License
14
+ * @link http://www.healthywebsites.co.uk/
15
+ *
16
+ */
17
+
18
+ /**
19
+ * Hitachi Session Observer
20
+ *
21
+ * @category HC
22
+ * @package PayByFinance
23
+ * @author Healthy Websites <support@healthywebsites.co.uk>
24
+ * @license http://www.gnu.org/copyleft/gpl.html GPL License
25
+ * @link http://www.healthywebsites.co.uk/
26
+ */
27
+ class HC_PayByFinance_Model_Sessionobserver
28
+ {
29
+
30
+ /**
31
+ * Listening to the custom event to prevent stucked sessions
32
+ * See paybyfinance_quote_financeamount_collect_before
33
+ *
34
+ * @param Varien_Event_Observer $observer Observer
35
+ *
36
+ * @return HC_PayByFinance_Model_Sessionobserver
37
+ */
38
+ public function collectAfter(Varien_Event_Observer $observer)
39
+ {
40
+ $session = $observer->getSession();
41
+ $address = $observer->getAddress();
42
+ $helper = Mage::helper('paybyfinance');
43
+ $items = $address->getAllItems();
44
+ $eligibleAmount = Mage::helper('paybyfinance/cart')->getEligibleAmount($items);
45
+ $includeShipping = Mage::getStoreConfig(
46
+ $helper::XML_PATH_INCLUDE_SHIPPING
47
+ );
48
+
49
+ if ($session->getData('enabled')) {
50
+
51
+ $service = Mage::getModel('paybyfinance/service')->load(
52
+ $session->getData('service')
53
+ );
54
+
55
+ $minAmount = $service->getMinAmount();
56
+
57
+ if ($includeShipping) {
58
+ $shippingCost = $address->getShippingAmount();
59
+ $eligibleAmount += $shippingCost;
60
+ }
61
+
62
+ if (($eligibleAmount) < $minAmount) {
63
+ $session->setData('enabled', false);
64
+ }
65
+ }
66
+
67
+ return $this;
68
+ }
69
+ }
app/code/local/HC/PayByFinance/etc/config.xml CHANGED
@@ -132,6 +132,15 @@
132
  </paybyfinance_salesquoteaddressconvert>
133
  </observers>
134
  </sales_convert_quote_address_to_order>
 
 
 
 
 
 
 
 
 
135
  <sales_order_save_after>
136
  <observers>
137
  <paybyfinance_salesordersaveObserver>
132
  </paybyfinance_salesquoteaddressconvert>
133
  </observers>
134
  </sales_convert_quote_address_to_order>
135
+ <paybyfinance_quote_financeamount_collect_before>
136
+ <observers>
137
+ <paybyfinance_collectafter>
138
+ <type>singleton</type>
139
+ <class>paybyfinance/sessionobserver</class>
140
+ <method>collectAfter</method>
141
+ </paybyfinance_collectafter>
142
+ </observers>
143
+ </paybyfinance_quote_financeamount_collect_before>
144
  <sales_order_save_after>
145
  <observers>
146
  <paybyfinance_salesordersaveObserver>
app/design/adminhtml/default/default/template/paybyfinance/history.phtml ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento Enterprise Edition
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Magento Enterprise Edition License
8
+ * that is bundled with this package in the file LICENSE_EE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://www.magentocommerce.com/license/enterprise-edition
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
+ * 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.magentocommerce.com for more information.
20
+ *
21
+ * @category design
22
+ * @package default_default
23
+ * @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://www.magentocommerce.com/license/enterprise-edition
25
+ */
26
+ ?>
27
+ <div id="order_history_block">
28
+ <?php if ($this->canAddComment()):?>
29
+ <div id="history_form" class="order-history-form">
30
+ <div><?php echo Mage::helper('sales')->__('Add Order Comments') ?></div>
31
+ <span class="field-row">
32
+ <label class="normal" for="history_status"><?php echo Mage::helper('sales')->__('Status') ?></label><br/>
33
+ <select name="history[status]" class="select" id="history_status">
34
+ <?php foreach ($this->getStatuses() as $_code=>$_label): ?>
35
+ <option value="<?php echo $_code ?>"<?php if($_code==$this->getOrder()->getStatus()): ?> selected="selected"<?php endif; ?>><?php echo $_label ?></option>
36
+ <?php endforeach; ?>
37
+ </select>
38
+ </span>
39
+ <span class="field-row">
40
+ <label class="normal" for="history_comment"><?php echo Mage::helper('sales')->__('Comment') ?></label>
41
+ <textarea name="history[comment]" rows="3" cols="5" style="height:6em; width:99%;" id="history_comment"></textarea>
42
+ </span>
43
+ <div class="f-left">
44
+ <?php if ($this->canSendCommentEmail()): ?>
45
+ <input name="history[is_customer_notified]" type="checkbox" id="history_notify" value="1" /><label class="normal" for="history_notify"> <?php echo Mage::helper('sales')->__('Notify Customer by Email') ?></label><br />
46
+ <?php endif; ?>
47
+ <input name="history[is_visible_on_front]" type="checkbox" id="history_visible" value="1" /><label class="normal" for="history_visible"> <?php echo Mage::helper('sales')->__('Visible on Frontend') ?></label>
48
+ </div>
49
+ <div class="f-right">
50
+ <?php echo $this->getChildHtml('submit_button') ?>
51
+ </div>
52
+ <div class="clear"></div>
53
+ </div>
54
+ <div class="divider"></div>
55
+ <?php endif;?>
56
+ <ul class="note-list">
57
+ <?php foreach ($this->getOrder()->getStatusHistoryCollection(true) as $_item): ?>
58
+ <li>
59
+ <strong><?php echo $this->helper('core')->formatDate($_item->getCreatedAtDate(), 'medium') ?></strong>
60
+ <?php echo $this->helper('core')->formatTime($_item->getCreatedAtDate(), 'medium') ?><span class="separator">|</span><strong><?php echo $_item->getStatusLabel() ?></strong><br/><small><?php echo $this->helper('sales')->__('Customer') ?>
61
+ <strong class="subdue">
62
+ <?php if ($this->isCustomerNotificationNotApplicable($_item)): ?>
63
+ <?php echo $this->helper('sales')->__('Notification Not Applicable') ?>
64
+ <?php elseif ($_item->getIsCustomerNotified()): ?>
65
+ <?php echo $this->helper('sales')->__('Notified') ?>
66
+ <img src="<?php echo $this->getSkinUrl('images/ico_success.gif') ?>" width="16" height="16" alt="" />
67
+ <?php else: ?>
68
+ <?php echo $this->helper('sales')->__('Not Notified') ?>
69
+ <?php endif; ?>
70
+ </strong></small>
71
+ <?php if ($_item->getComment()): ?>
72
+ <br/><?php echo strip_tags($_item->getComment(), '<b><br><strong><i><u><a>'); ?>
73
+ <?php endif; ?>
74
+ </li>
75
+ <?php endforeach; ?>
76
+ </ul>
77
+ <script type="text/javascript">
78
+ if($('order_status'))$('order_status').update('<?php echo $this->getOrder()->getStatusLabel() ?>');
79
+ </script>
80
+ </div>
app/design/adminhtml/default/default/template/paybyfinance/redirect.phtml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <h1>Redirect log</h1>
2
+ <p>Send the below to PBF in order to debug.</p>
3
+ <pre>
4
+ <?php echo $this->getLog()->getContent(); ?>
5
+ </pre>
app/design/frontend/base/default/template/paybyfinance/selector.phtml CHANGED
@@ -288,7 +288,7 @@ $_data = json_decode($this->getJSON());
288
  var service_id = $$('#paybyfinance input:checked[name=service]')[0].value;
289
  var deposit = $("pbf-input-deposit").value * 10;
290
  var postBody = 'service=' + service_id + '&deposit=' + deposit + '&enabled=1';
291
- new Ajax.Request('<?php echo Mage::getUrl("paybyfinance/session/save") ?>', {method: 'post', postBody: postBody,
292
  onSuccess: function() {
293
  productAddToCartForm.submit(this);
294
  },
@@ -300,7 +300,7 @@ $_data = json_decode($this->getJSON());
300
 
301
  function pbf_ajax_update()
302
  {
303
- new Ajax.Request('<?php echo Mage::getUrl("paybyfinance/selector/services") ?>', {
304
  onSuccess: function(response) {
305
  pbf_selector_data = response.responseJSON;
306
  if (pbf_selector_user.service) {
@@ -333,7 +333,7 @@ $_data = json_decode($this->getJSON());
333
 
334
  var deposit = $("pbf-input-deposit").value * 10;
335
  var postBody = 'service=' + service_id + '&deposit=' + deposit + '&enabled=' + enabled;
336
- new Ajax.Request('<?php echo Mage::getUrl("paybyfinance/session/save") ?>', {method: 'post', postBody: postBody,
337
  onSuccess: function() {
338
  if(document.getElementById('onestepcheckout-form')) {
339
  //if we're using onestepcheckout
288
  var service_id = $$('#paybyfinance input:checked[name=service]')[0].value;
289
  var deposit = $("pbf-input-deposit").value * 10;
290
  var postBody = 'service=' + service_id + '&deposit=' + deposit + '&enabled=1';
291
+ new Ajax.Request('<?php echo Mage::getUrl("paybyfinance/session/save", array("_secure" => true)) ?>', {method: 'post', postBody: postBody,
292
  onSuccess: function() {
293
  productAddToCartForm.submit(this);
294
  },
300
 
301
  function pbf_ajax_update()
302
  {
303
+ new Ajax.Request('<?php echo Mage::getUrl("paybyfinance/selector/services", array("_secure" => true)) ?>', {
304
  onSuccess: function(response) {
305
  pbf_selector_data = response.responseJSON;
306
  if (pbf_selector_user.service) {
333
 
334
  var deposit = $("pbf-input-deposit").value * 10;
335
  var postBody = 'service=' + service_id + '&deposit=' + deposit + '&enabled=' + enabled;
336
+ new Ajax.Request('<?php echo Mage::getUrl("paybyfinance/session/save", array("_secure" => true)) ?>', {method: 'post', postBody: postBody,
337
  onSuccess: function() {
338
  if(document.getElementById('onestepcheckout-form')) {
339
  //if we're using onestepcheckout
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>HC_PayByFinance</name>
4
- <version>1.0.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.healthywebsites.co.uk/license.html">Healthy Websites</license>
7
  <channel>community</channel>
@@ -13,11 +13,13 @@
13
  * Unit tests to reach UAT&#xD;
14
  * Changed license from HWS to GPL&#xD;
15
  * HC-150 Address Checked and Wizard fields&#xD;
16
- * HC-154 debug POST requests to order comments</notes>
 
 
17
  <authors><author><name>Sandor Czettner</name><user>MAG000003395</user><email>support@healthywebsites.co.uk</email></author><author><name>Alistair Macneil</name><user>MAG000006529</user><email>support@healthywebsites.co.uk</email></author><author><name>Rhuaridh Clark</name><user>MAG002562063</user><email>support@healthywebsites.co.uk</email></author></authors>
18
- <date>2015-03-17</date>
19
- <time>12:48:12</time>
20
- <contents><target name="magelocal"><dir><dir name="HC"><dir name="PayByFinance"><dir name="Block"><dir name="Adminhtml"><dir name="Paybyfinance"><file name="Redirect.php" hash="e833b66126df043c3c82ddad731b72ee"/><dir name="Service"><dir name="Edit"><file name="Form.php" hash="83c8b9c20619ba8754c4ff589b9a93d8"/><dir name="Tab"><file name="Form.php" hash="b1cc9b35c4504f12d75e5fd05c286ceb"/></dir><file name="Tabs.php" hash="563cd0546a62114f4ce0ad226dcbd284"/></dir><file name="Edit.php" hash="6c27682856959920a054c5e46f9e6202"/><file name="Grid.php" hash="3b1decef1063f3f4dc6220b1d770ac34"/></dir><file name="Service.php" hash="863a6adb6aa194f80ef85eff35b835fc"/></dir></dir><dir name="Checkout"><file name="Redirect.php" hash="d666ffdae5d127c041d72af7a4125222"/></dir><dir name="Sales"><dir name="Order"><file name="Totals.php" hash="32f03e3a7529b91e41ed203b67b1a776"/></dir></dir><file name="Selector.php" hash="e5a43cbc50858ce6ba9e3695c2a53251"/><file name="Status.php" hash="e2cfd097569fdb0dbf4f6f56ce282181"/></dir><dir name="Helper"><file name="Cart.php" hash="02314da8f564f015698ea0c640a2412a"/><file name="Checkout.php" hash="ace804f10a6673cb89d7621cd0f56a3b"/><file name="Data.php" hash="17c4567187d366d5943441b974d48ab5"/><file name="Notification.php" hash="92e04e043b2eced9f6159f8817d0d7fa"/></dir><dir name="Model"><file name="Calculator.php" hash="7c86b984569f07616005ea3fa5748eb3"/><dir name="Config"><dir name="Source"><dir name="Catalog"><dir name="Product"><file name="Finance.php" hash="ff556af6968a9ddc48313446f117a161"/><file name="Type.php" hash="497f87f6e6f8ff94e6308436e8c23339"/></dir></dir><dir name="Cms"><file name="Block.php" hash="6f27ccfc9ed421b4e329fcb1aa898d7e"/></dir><file name="Connectionmode.php" hash="2b37d9563a3a1721b3aa9e1400866e6c"/><file name="Type.php" hash="3fe934255019556ddc6ed4fe3f485dea"/></dir></dir><file name="Log.php" hash="6565186d165b38aa4513dc15b9f88fc9"/><dir name="Mysql4"><dir name="Log"><file name="Collection.php" hash="e3886eeb186a92c8ec81fc7fd03b4c38"/></dir><file name="Log.php" hash="7444e07d1d77554ae82e9900fb8a7e4c"/><dir name="Service"><file name="Collection.php" hash="2fdccc0f53a2e038fe46d18c667df818"/></dir><file name="Service.php" hash="846486c8584eab5656a54961cd2da208"/></dir><file name="Observer.php" hash="804fe1c89a3c1452b129d6cf09acfd21"/><dir name="Paypal"><dir name="Api"><file name="Nvp.php" hash="b9716601482ba2f95b092b272b0a719f"/></dir><dir name="Hostedpro"><file name="Request.php" hash="609a2f59d5135c98d65a7bf57e6765ef"/></dir></dir><dir name="PaypalUk"><dir name="Api"><file name="Nvp.php" hash="86649f5e35d9c766055ca9bfc50d74ee"/></dir></dir><dir name="Post"><file name="Abstract.php" hash="4e6890baa2a600a01db25c4fee31b09f"/><file name="Live.php" hash="b0c86feedfee4fa7ad2f0a681f3f8074"/><file name="Simulation.php" hash="27a113919d0e7e121a2d09aa4842acad"/><file name="Test.php" hash="0c6a8e53162c4fc8d267f4151d1a5b97"/><file name="Unittest.php" hash="f25426416325a36b28bec3d061723380"/></dir><file name="Post.php" hash="8b21b79b7127737b56a73f250b539b60"/><dir name="Resource"><file name="Setup.php" hash="c9b783bd9bef1ceeb1cc649e91ef3b9a"/></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="Financeamount.php" hash="f6fc2d9bedb7e6748ef06fafb3bd7b10"/></dir><dir name="Invoice"><file name="Financeamount.php" hash="7f652017f58594cb9fa0a3348d49ad15"/></dir></dir><dir name="Quote"><file name="Financeamount.php" hash="910189ffbaefc69603d14c5eef87f350"/><file name="Totalcost.php" hash="edc6e156abba2c8bd3a3d48671694e95"/></dir></dir><file name="Service.php" hash="2043375b0586e18bcdfe98ed579770a8"/><file name="Session.php" hash="705be3666220145cbbd78fff158ddf71"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Paybyfinance"><file name="RedirectController.php" hash="12a6b1951a07fa5d50fcf38a6fb3d57e"/><file name="ServiceController.php" hash="e0354ea82610cb3821a91fa89c8aeb2b"/></dir></dir><file name="CheckoutController.php" hash="1b26b2b1933471445ccf48bf5977e2c5"/><file name="NotificationController.php" hash="2ae082f6a856187268dd7bea4cd8ddad"/><file name="SelectorController.php" hash="8d55176bbd5787b9981e60f96cf8254a"/><file name="SessionController.php" hash="ea6f58e8a3f024e2d55c8b363c6448fd"/><file name="StatusController.php" hash="f017c622790033a9c928debdd5c94427"/></dir><dir name="etc"><file name="adminhtml.xml" hash="216df222a5f5d9fdcf29c238cfd78bd5"/><file name="config.xml" hash="af5cc66ada2d807dfc32e0037837221c"/><file name="system.xml" hash="75c44f436fb9afbf3db3ea3aa312f57a"/></dir><dir name="sql"><dir name="paybyfinance_setup"><dir name="html"><file name="abandoned.html" hash="424f900dbddc267f7dac72e67752df25"/><file name="accepted.html" hash="5a12318275410a8bf62d7508422d9503"/><file name="declined.html" hash="bd3e7565c3d98645629d9f6274e4bf24"/><file name="error.html" hash="4a448b052f101b2648dfe84423ad1313"/><file name="information.html" hash="b364458ba3d9ad7579fa4935e3449b46"/><file name="page-finance-options.html" hash="d6786a27e4bf82a73e3134df0f98888b"/><file name="referred.html" hash="5955befddbb2e274f350ba71458b6151"/></dir><file name="mysql4-install-1.0.3.php" hash="7ddff316dc5a2b55470afd63d7adffff"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="ebbf4e768317754347893a4ed6b624e2"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="6424964cd6c10967ee6eb1f6db558a63"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="paybyfinance"><file name="form.phtml" hash="6f583d5629e39fe564d4b86535242c7a"/><dir><dir name="sales"><dir name="order"><file name="totals.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir></dir><file name="selector-no.phtml" hash="b54c570f68254a2e879464a0b761c7db"/><file name="selector.phtml" hash="bbf02e8c824c8184ee9702af95902a28"/><file name="status.phtml" hash="9e02cb668c470d72612bccc09e34c51a"/></dir><dir name="checkout"><dir name="cart"><file name="totals.phtml" hash="f14878e618aa3c8943f3728128aadaa6"/></dir><dir name="onepage"><dir name="review"><file name="info.phtml" hash="e4c7c70c798f1956ae7aaa5c09114fab"/><file name="totals.phtml" hash="f26e488359433c3814a1cd416006869a"/></dir></dir><file name="cart.phtml" hash="9f6b1873ed02e5e2ae1966e3e5a1910d"/></dir></dir><dir name="layout"><file name="paybyfinance.xml" hash="25dad1b01b3f78266b55ac7b4bb5c11e"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="paybyfinance.xml" hash="6dd419ed31a10c3fc409a5a58f89fe01"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="js"><dir name="paybyfinance"><file name="checkout.js" hash="21051d8691dd773427d3e761403896ab"/><file name="functions.js" hash="98c27381b3f7eaeaa845271dbe763f05"/><file name="slider.js" hash="453a7468c528377d4b0db03848a62f93"/></dir></dir><dir name="css"><file name="paybyfinance.css" hash="25d02dc5cf228662c30d908d7c2f1356"/><file name="paybyfinance-ie8.css" hash="a6be9c7af8b95300bc62e4fe9ef252ac"/></dir><dir name="images"><dir name="paybyfinance"><file name="bullet.png" hash="ea2baab34b2eb7d0aacb7a67d5b080f1"/><file name="pointer-toggle.png" hash="e661d42aed7a5562f75828312c7a635a"/><file name="pointer.png" hash="68c58b28d6ebd77d415f8666c301a199"/><file name="progress.png" hash="6d46a109cc9e38a663678918142d89f2"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="HC_PayByFinance.xml" hash="ff9284d6a9b1c132d6b6c25352cfd134"/></dir></dir></target></contents>
21
  <compatible/>
22
  <dependencies><required><php><min>5.4.38</min><max>5.6.6</max></php></required></dependencies>
23
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>HC_PayByFinance</name>
4
+ <version>1.0.3.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.healthywebsites.co.uk/license.html">Healthy Websites</license>
7
  <channel>community</channel>
13
  * Unit tests to reach UAT&#xD;
14
  * Changed license from HWS to GPL&#xD;
15
  * HC-150 Address Checked and Wizard fields&#xD;
16
+ * HC-154 debug POST requests to order comments&#xD;
17
+ * HC-158 If basket is not valid for Finance, invalidate session&#xD;
18
+ * HC-161 HTTPS on session save urls</notes>
19
  <authors><author><name>Sandor Czettner</name><user>MAG000003395</user><email>support@healthywebsites.co.uk</email></author><author><name>Alistair Macneil</name><user>MAG000006529</user><email>support@healthywebsites.co.uk</email></author><author><name>Rhuaridh Clark</name><user>MAG002562063</user><email>support@healthywebsites.co.uk</email></author></authors>
20
+ <date>2015-03-30</date>
21
+ <time>09:34:26</time>
22
+ <contents><target name="magelocal"><dir><dir name="HC"><dir name="PayByFinance"><dir name="Block"><dir name="Adminhtml"><dir name="Paybyfinance"><file name="Redirect.php" hash="e833b66126df043c3c82ddad731b72ee"/><dir name="Service"><dir name="Edit"><file name="Form.php" hash="83c8b9c20619ba8754c4ff589b9a93d8"/><dir name="Tab"><file name="Form.php" hash="b1cc9b35c4504f12d75e5fd05c286ceb"/></dir><file name="Tabs.php" hash="563cd0546a62114f4ce0ad226dcbd284"/></dir><file name="Edit.php" hash="6c27682856959920a054c5e46f9e6202"/><file name="Grid.php" hash="3b1decef1063f3f4dc6220b1d770ac34"/></dir><file name="Service.php" hash="863a6adb6aa194f80ef85eff35b835fc"/></dir></dir><dir name="Checkout"><file name="Redirect.php" hash="d666ffdae5d127c041d72af7a4125222"/></dir><dir name="Sales"><dir name="Order"><file name="Totals.php" hash="32f03e3a7529b91e41ed203b67b1a776"/></dir></dir><file name="Selector.php" hash="e5a43cbc50858ce6ba9e3695c2a53251"/><file name="Status.php" hash="e2cfd097569fdb0dbf4f6f56ce282181"/></dir><dir name="Helper"><file name="Cart.php" hash="02314da8f564f015698ea0c640a2412a"/><file name="Checkout.php" hash="ace804f10a6673cb89d7621cd0f56a3b"/><file name="Data.php" hash="17c4567187d366d5943441b974d48ab5"/><file name="Notification.php" hash="92e04e043b2eced9f6159f8817d0d7fa"/></dir><dir name="Model"><file name="Calculator.php" hash="7c86b984569f07616005ea3fa5748eb3"/><dir name="Config"><dir name="Source"><dir name="Catalog"><dir name="Product"><file name="Finance.php" hash="ff556af6968a9ddc48313446f117a161"/><file name="Type.php" hash="497f87f6e6f8ff94e6308436e8c23339"/></dir></dir><dir name="Cms"><file name="Block.php" hash="6f27ccfc9ed421b4e329fcb1aa898d7e"/></dir><file name="Connectionmode.php" hash="2b37d9563a3a1721b3aa9e1400866e6c"/><file name="Type.php" hash="3fe934255019556ddc6ed4fe3f485dea"/></dir></dir><file name="Log.php" hash="6565186d165b38aa4513dc15b9f88fc9"/><dir name="Mysql4"><dir name="Log"><file name="Collection.php" hash="e3886eeb186a92c8ec81fc7fd03b4c38"/></dir><file name="Log.php" hash="7444e07d1d77554ae82e9900fb8a7e4c"/><dir name="Service"><file name="Collection.php" hash="2fdccc0f53a2e038fe46d18c667df818"/></dir><file name="Service.php" hash="846486c8584eab5656a54961cd2da208"/></dir><file name="Observer.php" hash="fccb8c4e4a752e6b1b2af800cae5f220"/><dir name="Paypal"><dir name="Api"><file name="Nvp.php" hash="b9716601482ba2f95b092b272b0a719f"/></dir><dir name="Hostedpro"><file name="Request.php" hash="609a2f59d5135c98d65a7bf57e6765ef"/></dir></dir><dir name="PaypalUk"><dir name="Api"><file name="Nvp.php" hash="86649f5e35d9c766055ca9bfc50d74ee"/></dir></dir><dir name="Post"><file name="Abstract.php" hash="4e6890baa2a600a01db25c4fee31b09f"/><file name="Live.php" hash="b0c86feedfee4fa7ad2f0a681f3f8074"/><file name="Simulation.php" hash="27a113919d0e7e121a2d09aa4842acad"/><file name="Test.php" hash="0c6a8e53162c4fc8d267f4151d1a5b97"/><file name="Unittest.php" hash="1cf9d2280c568e5b1bf540c15a796bef"/></dir><file name="Post.php" hash="b5396f260e9fb59ffb001fff2f0858fd"/><dir name="Resource"><file name="Setup.php" hash="c9b783bd9bef1ceeb1cc649e91ef3b9a"/></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="Financeamount.php" hash="f6fc2d9bedb7e6748ef06fafb3bd7b10"/></dir><dir name="Invoice"><file name="Financeamount.php" hash="7f652017f58594cb9fa0a3348d49ad15"/></dir></dir><dir name="Quote"><file name="Financeamount.php" hash="87f684a300050432b1b9ad7c265a19f4"/><file name="Totalcost.php" hash="edc6e156abba2c8bd3a3d48671694e95"/></dir></dir><file name="Service.php" hash="2043375b0586e18bcdfe98ed579770a8"/><file name="Session.php" hash="705be3666220145cbbd78fff158ddf71"/><file name="Sessionobserver.php" hash="4ac76db4f11990e1426de6c60abb7639"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Paybyfinance"><file name="RedirectController.php" hash="12a6b1951a07fa5d50fcf38a6fb3d57e"/><file name="ServiceController.php" hash="e0354ea82610cb3821a91fa89c8aeb2b"/></dir></dir><file name="CheckoutController.php" hash="1b26b2b1933471445ccf48bf5977e2c5"/><file name="NotificationController.php" hash="2ae082f6a856187268dd7bea4cd8ddad"/><file name="SelectorController.php" hash="8d55176bbd5787b9981e60f96cf8254a"/><file name="SessionController.php" hash="ea6f58e8a3f024e2d55c8b363c6448fd"/><file name="StatusController.php" hash="f017c622790033a9c928debdd5c94427"/></dir><dir name="etc"><file name="adminhtml.xml" hash="216df222a5f5d9fdcf29c238cfd78bd5"/><file name="config.xml" hash="5c1fce29b38aa19402f923c033be31fd"/><file name="system.xml" hash="75c44f436fb9afbf3db3ea3aa312f57a"/></dir><dir name="sql"><dir name="paybyfinance_setup"><dir name="html"><file name="abandoned.html" hash="424f900dbddc267f7dac72e67752df25"/><file name="accepted.html" hash="5a12318275410a8bf62d7508422d9503"/><file name="declined.html" hash="bd3e7565c3d98645629d9f6274e4bf24"/><file name="error.html" hash="4a448b052f101b2648dfe84423ad1313"/><file name="information.html" hash="b364458ba3d9ad7579fa4935e3449b46"/><file name="page-finance-options.html" hash="d6786a27e4bf82a73e3134df0f98888b"/><file name="referred.html" hash="5955befddbb2e274f350ba71458b6151"/></dir><file name="mysql4-install-1.0.3.php" hash="7ddff316dc5a2b55470afd63d7adffff"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="ebbf4e768317754347893a4ed6b624e2"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="6424964cd6c10967ee6eb1f6db558a63"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="paybyfinance"><file name="form.phtml" hash="6f583d5629e39fe564d4b86535242c7a"/><dir><dir name="sales"><dir name="order"><file name="totals.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir></dir><file name="selector-no.phtml" hash="b54c570f68254a2e879464a0b761c7db"/><file name="selector.phtml" hash="96cb46b21fd5edb89c3de05bbfcab493"/><file name="status.phtml" hash="9e02cb668c470d72612bccc09e34c51a"/></dir><dir name="checkout"><dir name="cart"><file name="totals.phtml" hash="f14878e618aa3c8943f3728128aadaa6"/></dir><dir name="onepage"><dir name="review"><file name="info.phtml" hash="e4c7c70c798f1956ae7aaa5c09114fab"/><file name="totals.phtml" hash="f26e488359433c3814a1cd416006869a"/></dir></dir><file name="cart.phtml" hash="9f6b1873ed02e5e2ae1966e3e5a1910d"/></dir></dir><dir name="layout"><file name="paybyfinance.xml" hash="25dad1b01b3f78266b55ac7b4bb5c11e"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="paybyfinance.xml" hash="6dd419ed31a10c3fc409a5a58f89fe01"/></dir><dir name="template"><dir name="paybyfinance"><file name="history.phtml" hash="31fbbbb8477717175da3de1e9fe98f54"/><file name="redirect.phtml" hash="90e7aa306768f5aac337300848c04e6a"/></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="js"><dir name="paybyfinance"><file name="checkout.js" hash="21051d8691dd773427d3e761403896ab"/><file name="functions.js" hash="98c27381b3f7eaeaa845271dbe763f05"/><file name="slider.js" hash="453a7468c528377d4b0db03848a62f93"/></dir></dir><dir name="css"><file name="paybyfinance.css" hash="25d02dc5cf228662c30d908d7c2f1356"/><file name="paybyfinance-ie8.css" hash="a6be9c7af8b95300bc62e4fe9ef252ac"/></dir><dir name="images"><dir name="paybyfinance"><file name="bullet.png" hash="ea2baab34b2eb7d0aacb7a67d5b080f1"/><file name="pointer-toggle.png" hash="e661d42aed7a5562f75828312c7a635a"/><file name="pointer.png" hash="68c58b28d6ebd77d415f8666c301a199"/><file name="progress.png" hash="6d46a109cc9e38a663678918142d89f2"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="HC_PayByFinance.xml" hash="ff9284d6a9b1c132d6b6c25352cfd134"/></dir></dir></target></contents>
23
  <compatible/>
24
  <dependencies><required><php><min>5.4.38</min><max>5.6.6</max></php></required></dependencies>
25
  </package>