HC_PayByFinance - Version 1.0.6.0

Version Notes

Change Log:
* HC-210 Store scope for services
* Automatically calculate RPM from APR if not present
* HC-225 Do not display finance widget when there are no services
* HC-226 RTL urls for testing and simulation
* HC-210 Enable / disable finance per store
* HC-234 Custom test urls
* HC-237 Text changes / phone number added
* Missing admin template files

Download this release

Release Info

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


Code changes from version 1.0.5.3 to 1.0.6.0

Files changed (37) hide show
  1. app/code/local/HC/PayByFinance/Block/Adminhtml/Paybyfinance/Service/Edit/Tab/Form.php +11 -0
  2. app/code/local/HC/PayByFinance/Block/Adminhtml/Paybyfinance/Service/Grid.php +12 -0
  3. app/code/local/HC/PayByFinance/Block/Adminhtml/Version.php +1 -1
  4. app/code/local/HC/PayByFinance/Block/Selector.php +5 -0
  5. app/code/local/HC/PayByFinance/Block/Status.php +6 -1
  6. app/code/local/HC/PayByFinance/Helper/Data.php +22 -11
  7. app/code/local/HC/PayByFinance/Model/Calculator.php +6 -1
  8. app/code/local/HC/PayByFinance/Model/Config/Source/Connectionmode.php +3 -0
  9. app/code/local/HC/PayByFinance/Model/Mysql4/Service/Collection.php +16 -0
  10. app/code/local/HC/PayByFinance/Model/Observer.php +4 -1
  11. app/code/local/HC/PayByFinance/Model/Post/Abstract.php +37 -3
  12. app/code/local/HC/PayByFinance/Model/Post/Custom.php +64 -0
  13. app/code/local/HC/PayByFinance/Model/Post/Live.php +3 -3
  14. app/code/local/HC/PayByFinance/Model/Post/Simulation.php +3 -3
  15. app/code/local/HC/PayByFinance/Model/Post/Simulationrtl.php +33 -0
  16. app/code/local/HC/PayByFinance/Model/Post/Test.php +3 -3
  17. app/code/local/HC/PayByFinance/Model/Post/Testrtl.php +33 -0
  18. app/code/local/HC/PayByFinance/Model/Post/Unittest.php +3 -3
  19. app/code/local/HC/PayByFinance/Model/Sessionobserver.php +3 -0
  20. app/code/local/HC/PayByFinance/controllers/Adminhtml/Paybyfinance/ServiceController.php +7 -0
  21. app/code/local/HC/PayByFinance/controllers/SelectorController.php +1 -0
  22. app/code/local/HC/PayByFinance/etc/config.xml +3 -1
  23. app/code/local/HC/PayByFinance/etc/system.xml +21 -5
  24. app/code/local/HC/PayByFinance/sql/paybyfinance_setup/html/accepted.html +16 -7
  25. app/code/local/HC/PayByFinance/sql/paybyfinance_setup/html/declined.html +8 -16
  26. app/code/local/HC/PayByFinance/sql/paybyfinance_setup/html/page-finance-options.html +167 -77
  27. app/code/local/HC/PayByFinance/sql/paybyfinance_setup/html/referred.html +12 -4
  28. app/code/local/HC/PayByFinance/sql/paybyfinance_setup/{mysql4-install-1.0.5.php → mysql4-install-1.0.6.php} +4 -1
  29. app/code/local/HC/PayByFinance/sql/paybyfinance_setup/mysql4-upgrade-1.0.5-1.0.6.php +31 -0
  30. app/design/adminhtml/default/default/layout/paybyfinance.xml +12 -0
  31. app/design/adminhtml/default/default/template/paybyfinance/history.phtml +80 -0
  32. app/design/adminhtml/default/default/template/paybyfinance/redirect.phtml +5 -0
  33. app/design/adminhtml/default/default/template/paybyfinance/version.phtml +8 -0
  34. app/design/frontend/base/default/template/paybyfinance/selector.phtml +5 -0
  35. js/paybyfinance/config-edit.js +53 -0
  36. js/paybyfinance/service.js +24 -0
  37. package.xml +12 -13
app/code/local/HC/PayByFinance/Block/Adminhtml/Paybyfinance/Service/Edit/Tab/Form.php CHANGED
@@ -144,6 +144,16 @@ class HC_PayByFinance_Block_Adminhtml_Paybyfinance_Service_Edit_Tab_Form
144
  )
145
  );
146
 
 
 
 
 
 
 
 
 
 
 
147
  if ( Mage::getSingleton('adminhtml/session')->getServiceData() ) {
148
  $form->setValues(
149
  Mage::getSingleton('adminhtml/session')->getServiceData()
@@ -152,6 +162,7 @@ class HC_PayByFinance_Block_Adminhtml_Paybyfinance_Service_Edit_Tab_Form
152
  } elseif ( Mage::registry('service_data') ) {
153
  $form->setValues(Mage::registry('service_data')->getData());
154
  }
 
155
  return parent::_prepareForm();
156
  }
157
  }
144
  )
145
  );
146
 
147
+ $fieldset->addField(
148
+ 'store_id', 'select', array(
149
+ 'label' => $helper->__('Limit to store'),
150
+ 'required' => false,
151
+ 'name' => 'store_id',
152
+ 'values' => Mage::getSingleton('adminhtml/system_store')
153
+ ->getStoreValuesForForm(false, true),
154
+ )
155
+ );
156
+
157
  if ( Mage::getSingleton('adminhtml/session')->getServiceData() ) {
158
  $form->setValues(
159
  Mage::getSingleton('adminhtml/session')->getServiceData()
162
  } elseif ( Mage::registry('service_data') ) {
163
  $form->setValues(Mage::registry('service_data')->getData());
164
  }
165
+
166
  return parent::_prepareForm();
167
  }
168
  }
app/code/local/HC/PayByFinance/Block/Adminhtml/Paybyfinance/Service/Grid.php CHANGED
@@ -171,6 +171,18 @@ class HC_PayByFInance_Block_Adminhtml_Paybyfinance_Service_Grid
171
  )
172
  );
173
 
 
 
 
 
 
 
 
 
 
 
 
 
174
  return parent::_prepareColumns();
175
  }
176
 
171
  )
172
  );
173
 
174
+ if (!Mage::app()->isSingleStoreMode()) {
175
+ $this->addColumn(
176
+ 'store_id', array(
177
+ 'header' => $helper->__('Store Id'),
178
+ 'align' => 'right',
179
+ 'type' => 'store',
180
+ 'store_view' => true,
181
+ 'index' => 'store_id',
182
+ )
183
+ );
184
+ }
185
+
186
  return parent::_prepareColumns();
187
  }
188
 
app/code/local/HC/PayByFinance/Block/Adminhtml/Version.php CHANGED
@@ -28,7 +28,7 @@
28
  */
29
  class HC_PayByFinance_Block_Adminhtml_Version extends Mage_Adminhtml_Block_Template
30
  {
31
- const PATCH_LEVEL = 3;
32
 
33
  protected $_template = "paybyfinance/version.phtml";
34
 
28
  */
29
  class HC_PayByFinance_Block_Adminhtml_Version extends Mage_Adminhtml_Block_Template
30
  {
31
+ const PATCH_LEVEL = 0;
32
 
33
  protected $_template = "paybyfinance/version.phtml";
34
 
app/code/local/HC/PayByFinance/Block/Selector.php CHANGED
@@ -43,6 +43,7 @@ class HC_PayByFinance_Block_Selector extends Mage_Core_Block_Template
43
  $amount = $this->getAmount();
44
  $this->_services = Mage::getModel('paybyfinance/service')
45
  ->getCollection()
 
46
  ->addPriceFilter($amount)
47
  ->load();
48
  }
@@ -116,6 +117,10 @@ class HC_PayByFinance_Block_Selector extends Mage_Core_Block_Template
116
  */
117
  protected function _toHtml()
118
  {
 
 
 
 
119
  if (!$this->getProduct() && $this->getServices()->getSize() == 0) {
120
  $this->setTemplate('paybyfinance/selector-no.phtml');
121
  }
43
  $amount = $this->getAmount();
44
  $this->_services = Mage::getModel('paybyfinance/service')
45
  ->getCollection()
46
+ ->storeFilter(Mage::app()->getStore()->getStoreId())
47
  ->addPriceFilter($amount)
48
  ->load();
49
  }
117
  */
118
  protected function _toHtml()
119
  {
120
+ $helper = Mage::helper('paybyfinance');
121
+ if (!$helper->isActive()) {
122
+ return '';
123
+ }
124
  if (!$this->getProduct() && $this->getServices()->getSize() == 0) {
125
  $this->setTemplate('paybyfinance/selector-no.phtml');
126
  }
app/code/local/HC/PayByFinance/Block/Status.php CHANGED
@@ -79,7 +79,12 @@ class HC_PayByFinance_Block_Status extends Mage_Core_Block_Template
79
  );
80
  $helper = Mage::helper('cms');
81
  $processor = $helper->getBlockTemplateProcessor();
82
- $processor->setVariables(array('order_id' => $this->getOrderIdText()));
 
 
 
 
 
83
  $html = $processor->filter($block->getContent());
84
 
85
  return $html;
79
  );
80
  $helper = Mage::helper('cms');
81
  $processor = $helper->getBlockTemplateProcessor();
82
+ $processor->setVariables(
83
+ array(
84
+ 'order_id' => $this->getOrderIdText(),
85
+ 'phone' => Mage::getStoreConfig('general/store_information/phone')
86
+ )
87
+ );
88
  $html = $processor->filter($block->getContent());
89
 
90
  return $html;
app/code/local/HC/PayByFinance/Helper/Data.php CHANGED
@@ -28,6 +28,7 @@
28
  */
29
  class HC_PayByFinance_Helper_Data extends Mage_Core_Helper_Data
30
  {
 
31
  const XML_PATH_PRODUCTTYPES = 'hc_paybyfinance/general/enable_producttypes';
32
  const XML_PATH_MINIMUM_PRICE_PRODUCT = 'hc_paybyfinance/general/minimum_price_product';
33
  const XML_PATH_MINIMUM_PRICE_BASKET = 'hc_paybyfinance/general/minimum_price_basket';
@@ -49,6 +50,8 @@ class HC_PayByFinance_Helper_Data extends Mage_Core_Helper_Data
49
  const XML_PATH_PBF_ACCOUNT_ID1 = 'hc_paybyfinance/account/id1';
50
  const XML_PATH_PBF_ACCOUNT_ID2 = 'hc_paybyfinance/account/id2';
51
  const XML_PATH_CONNECTION_MODE = 'hc_paybyfinance/account/connectionmode';
 
 
52
  const XML_PATH_ERROR_NOTIFY_EMAIL = 'hc_paybyfinance/account/erroremail';
53
  const XML_PATH_ACCOUNT_RETAILERNAME = 'hc_paybyfinance/account/retailername';
54
  const XML_PATH_ACCOUNT_TRADINGNAME = 'hc_paybyfinance/account/tradingname';
@@ -164,17 +167,8 @@ class HC_PayByFinance_Helper_Data extends Mage_Core_Helper_Data
164
 
165
  if ($product->getPaybyfinanceEnable() == $options::VALUES_DISABLE) {
166
  return false;
167
- }
168
-
169
- switch ($product->getPaybyfinanceEnable()) {
170
- case $options::VALUES_DISABLE:
171
- return false;
172
- case $options::VALUES_ENABLE:
173
- return true;
174
- case $options::VALUES_CONFIG:
175
- default:
176
- // Calculate based on the configuration in the backend
177
- break;
178
  }
179
 
180
  $helper = Mage::helper('paybyfinance');
@@ -186,6 +180,11 @@ class HC_PayByFinance_Helper_Data extends Mage_Core_Helper_Data
186
  if ($price < $minPriceProduct) {
187
  return false;
188
  }
 
 
 
 
 
189
 
190
  return true;
191
  }
@@ -320,4 +319,16 @@ class HC_PayByFinance_Helper_Data extends Mage_Core_Helper_Data
320
  {
321
  return htmlspecialchars($data);
322
  }
 
 
 
 
 
 
 
 
 
 
 
 
323
  }
28
  */
29
  class HC_PayByFinance_Helper_Data extends Mage_Core_Helper_Data
30
  {
31
+ const XML_PATH_ENABLED = 'hc_paybyfinance/general/active';
32
  const XML_PATH_PRODUCTTYPES = 'hc_paybyfinance/general/enable_producttypes';
33
  const XML_PATH_MINIMUM_PRICE_PRODUCT = 'hc_paybyfinance/general/minimum_price_product';
34
  const XML_PATH_MINIMUM_PRICE_BASKET = 'hc_paybyfinance/general/minimum_price_basket';
50
  const XML_PATH_PBF_ACCOUNT_ID1 = 'hc_paybyfinance/account/id1';
51
  const XML_PATH_PBF_ACCOUNT_ID2 = 'hc_paybyfinance/account/id2';
52
  const XML_PATH_CONNECTION_MODE = 'hc_paybyfinance/account/connectionmode';
53
+ const XML_PATH_ACCOUNT_POST = 'hc_paybyfinance/account/connection_post';
54
+ const XML_PATH_ACCOUNT_NOTIFY = 'hc_paybyfinance/account/connection_notify';
55
  const XML_PATH_ERROR_NOTIFY_EMAIL = 'hc_paybyfinance/account/erroremail';
56
  const XML_PATH_ACCOUNT_RETAILERNAME = 'hc_paybyfinance/account/retailername';
57
  const XML_PATH_ACCOUNT_TRADINGNAME = 'hc_paybyfinance/account/tradingname';
167
 
168
  if ($product->getPaybyfinanceEnable() == $options::VALUES_DISABLE) {
169
  return false;
170
+ } elseif ($product->getPaybyfinanceEnable() == $options::VALUES_ENABLE) {
171
+ return true;
 
 
 
 
 
 
 
 
 
172
  }
173
 
174
  $helper = Mage::helper('paybyfinance');
180
  if ($price < $minPriceProduct) {
181
  return false;
182
  }
183
+ $calculator = Mage::getSingleton('paybyfinance/calculator');
184
+ $minInstallment = $calculator->getLowestMonthlyInstallment($product->getPrice());
185
+ if (!$minInstallment) {
186
+ return false;
187
+ }
188
 
189
  return true;
190
  }
319
  {
320
  return htmlspecialchars($data);
321
  }
322
+
323
+ /**
324
+ * Is finance extension enabled in the backend?
325
+ *
326
+ * @return boolean
327
+ */
328
+ public function isActive()
329
+ {
330
+ $enabled = Mage::getStoreConfig(self::XML_PATH_ENABLED);
331
+
332
+ return (boolean) $enabled;
333
+ }
334
  }
app/code/local/HC/PayByFinance/Model/Calculator.php CHANGED
@@ -161,7 +161,9 @@ class HC_PayByFinance_Model_Calculator extends Varien_Object
161
  public function getAllServices()
162
  {
163
  if (!$this->_allServices) {
164
- $this->_allServices = Mage::getModel('paybyfinance/service')->getCollection();
 
 
165
  }
166
 
167
  return $this->_allServices;
@@ -182,6 +184,9 @@ class HC_PayByFinance_Model_Calculator extends Varien_Object
182
  $depositAmount = round($depositAmount, 2);
183
  $financeAmount = $price - $depositAmount;
184
  $financeAmount = intval((string) ($financeAmount * 100)) / 100;
 
 
 
185
 
186
  if ($service->getType() == 32) {
187
  $installment = $this->calcMonthlyPaymentInterestFree($financeAmount, $service);
161
  public function getAllServices()
162
  {
163
  if (!$this->_allServices) {
164
+ $this->_allServices = Mage::getModel('paybyfinance/service')
165
+ ->getCollection()
166
+ ->storeFilter(Mage::app()->getStore()->getStoreId());
167
  }
168
 
169
  return $this->_allServices;
184
  $depositAmount = round($depositAmount, 2);
185
  $financeAmount = $price - $depositAmount;
186
  $financeAmount = intval((string) ($financeAmount * 100)) / 100;
187
+ if ($financeAmount < $service->getMinAmount()) {
188
+ continue;
189
+ }
190
 
191
  if ($service->getType() == 32) {
192
  $installment = $this->calcMonthlyPaymentInterestFree($financeAmount, $service);
app/code/local/HC/PayByFinance/Model/Config/Source/Connectionmode.php CHANGED
@@ -35,7 +35,10 @@ class HC_PayByFinance_Model_Config_Source_Connectionmode
35
  {
36
  $options = array(
37
  'test' => 'Test',
 
38
  'simulation' => 'Simulation',
 
 
39
  'live' => 'Live',
40
  );
41
 
35
  {
36
  $options = array(
37
  'test' => 'Test',
38
+ 'testrtl' => 'Test RTL',
39
  'simulation' => 'Simulation',
40
+ 'simulationrtl' => 'Simulation RTL',
41
+ 'custom' => 'Custom',
42
  'live' => 'Live',
43
  );
44
 
app/code/local/HC/PayByFinance/Model/Mysql4/Service/Collection.php CHANGED
@@ -48,6 +48,22 @@ class HC_PayByFinance_Model_Mysql4_Service_Collection
48
  {
49
  $condition = array('lteq' => $price);
50
  $this->addFieldToFilter('min_amount', $condition);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  return $this;
52
  }
53
  }
48
  {
49
  $condition = array('lteq' => $price);
50
  $this->addFieldToFilter('min_amount', $condition);
51
+
52
+ return $this;
53
+ }
54
+
55
+ /**
56
+ * Add store filter to the collection
57
+ *
58
+ * @param integer $store Store Id
59
+ *
60
+ * @return HC_PayByFinance_Model_Mysql4_Service_Collection
61
+ */
62
+ public function storeFilter($store)
63
+ {
64
+ $condition = array(array('null' => true), array('eq' => $store));
65
+ $this->addFieldToFilter('store_id', $condition);
66
+
67
  return $this;
68
  }
69
  }
app/code/local/HC/PayByFinance/Model/Observer.php CHANGED
@@ -291,7 +291,10 @@ class HC_PayByFinance_Model_Observer
291
  public function collectionLoadAfter(Varien_Event_Observer $observer)
292
  {
293
  $helper = Mage::helper('paybyfinance');
294
- $calculator = Mage::getModel('paybyfinance/calculator');
 
 
 
295
 
296
  Varien_Profiler::start('hc_paybyfinance_collection_load_after');
297
  $collection = $observer->getCollection();
291
  public function collectionLoadAfter(Varien_Event_Observer $observer)
292
  {
293
  $helper = Mage::helper('paybyfinance');
294
+ if (!$helper->isActive()) {
295
+ return;
296
+ }
297
+ $calculator = Mage::getSingleton('paybyfinance/calculator');
298
 
299
  Varien_Profiler::start('hc_paybyfinance_collection_load_after');
300
  $collection = $observer->getCollection();
app/code/local/HC/PayByFinance/Model/Post/Abstract.php CHANGED
@@ -28,6 +28,10 @@ abstract class HC_PayByFinance_Model_Post_Abstract extends Mage_Core_Model_Abstr
28
  {
29
  const PROTOCOL_VERSION = '1.0';
30
 
 
 
 
 
31
  private $_pbfInformation;
32
 
33
  private $_ciphers = array(
@@ -69,7 +73,7 @@ abstract class HC_PayByFinance_Model_Post_Abstract extends Mage_Core_Model_Abstr
69
  public function post()
70
  {
71
  $ch = curl_init();
72
- curl_setopt($ch, CURLOPT_URL, $this::NOTIFY_URL);
73
  curl_setopt($ch, CURLOPT_POST, true);
74
  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($this->_pbfInformation));
75
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@@ -95,8 +99,8 @@ abstract class HC_PayByFinance_Model_Post_Abstract extends Mage_Core_Model_Abstr
95
  {
96
  $block = Mage::app()->getLayout()->createBlock('paybyfinance/checkout_redirect')
97
  ->setPostContent($this->_pbfInformation)
98
- ->setPostUrl($this::POST_URL)
99
- ->setMode($this::MODE)
100
  ->setTemplate('paybyfinance/form.phtml');
101
 
102
  return $block->toHtml();
@@ -111,4 +115,34 @@ abstract class HC_PayByFinance_Model_Post_Abstract extends Mage_Core_Model_Abstr
111
  {
112
  return $this->_pbfInformation;
113
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  }
28
  {
29
  const PROTOCOL_VERSION = '1.0';
30
 
31
+ protected $_postUrl;
32
+ protected $_notifyUrl;
33
+ protected $_mode;
34
+
35
  private $_pbfInformation;
36
 
37
  private $_ciphers = array(
73
  public function post()
74
  {
75
  $ch = curl_init();
76
+ curl_setopt($ch, CURLOPT_URL, $this->getNotificationUrl());
77
  curl_setopt($ch, CURLOPT_POST, true);
78
  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($this->_pbfInformation));
79
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
99
  {
100
  $block = Mage::app()->getLayout()->createBlock('paybyfinance/checkout_redirect')
101
  ->setPostContent($this->_pbfInformation)
102
+ ->setPostUrl($this->getPostUrl())
103
+ ->setMode($this->getMode())
104
  ->setTemplate('paybyfinance/form.phtml');
105
 
106
  return $block->toHtml();
115
  {
116
  return $this->_pbfInformation;
117
  }
118
+
119
+ /**
120
+ * Get Post URL
121
+ *
122
+ * @return string url
123
+ */
124
+ protected function getPostUrl()
125
+ {
126
+ return $this->_postUrl;
127
+ }
128
+
129
+ /**
130
+ * Get Notification URL
131
+ *
132
+ * @return string url
133
+ */
134
+ protected function getNotificationUrl()
135
+ {
136
+ return $this->_notifyUrl;
137
+ }
138
+
139
+ /**
140
+ * Get connection mode
141
+ *
142
+ * @return string mode
143
+ */
144
+ protected function getMode()
145
+ {
146
+ return $this->_mode;
147
+ }
148
  }
app/code/local/HC/PayByFinance/Model/Post/Custom.php ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 Post Simulation Model
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_Post_Custom extends HC_PayByFinance_Model_Post_Abstract
28
+ {
29
+ protected $_postUrl = 'https://demo.creditmaster2.co.uk/Ecommerce/etailer/createQuote.action';
30
+ protected $_notifyUrl = 'https://demo.creditmaster2.co.uk/Ecommerce/etailer/notify.action';
31
+ protected $_mode = 'simulation';
32
+
33
+ /**
34
+ * Get Post URL
35
+ *
36
+ * @return string url
37
+ */
38
+ protected function getPostUrl()
39
+ {
40
+ $helper = Mage::helper('paybyfinance');
41
+ return Mage::getStoreConfig($helper::XML_PATH_ACCOUNT_POST);
42
+ }
43
+
44
+ /**
45
+ * Get Notification URL
46
+ *
47
+ * @return string url
48
+ */
49
+ protected function getNotificationUrl()
50
+ {
51
+ $helper = Mage::helper('paybyfinance');
52
+ return Mage::getStoreConfig($helper::XML_PATH_ACCOUNT_NOTIFY);
53
+ }
54
+
55
+ /**
56
+ * Get connection mode
57
+ *
58
+ * @return string mode
59
+ */
60
+ protected function getMode()
61
+ {
62
+ return $this->_mode;
63
+ }
64
+ }
app/code/local/HC/PayByFinance/Model/Post/Live.php CHANGED
@@ -26,7 +26,7 @@
26
  */
27
  class HC_PayByFinance_Model_Post_Live extends HC_PayByFinance_Model_Post_Abstract
28
  {
29
- const POST_URL = 'https://www.paybyfinance.co.uk/Ecommerce/etailer/createQuote.action';
30
- const NOTIFY_URL = 'https://www.paybyfinance.co.uk/Ecommerce/etailer/notify.action';
31
- const MODE = 'live';
32
  }
26
  */
27
  class HC_PayByFinance_Model_Post_Live extends HC_PayByFinance_Model_Post_Abstract
28
  {
29
+ protected $_postUrl = 'https://www.paybyfinance.co.uk/Ecommerce/etailer/createQuote.action';
30
+ protected $_notifyUrl = 'https://www.paybyfinance.co.uk/Ecommerce/etailer/notify.action';
31
+ protected $_mode = 'live';
32
  }
app/code/local/HC/PayByFinance/Model/Post/Simulation.php CHANGED
@@ -26,7 +26,7 @@
26
  */
27
  class HC_PayByFinance_Model_Post_Simulation 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 = 'simulation';
32
  }
26
  */
27
  class HC_PayByFinance_Model_Post_Simulation extends HC_PayByFinance_Model_Post_Abstract
28
  {
29
+ protected $_postUrl = 'https://demo.creditmaster2.co.uk/Ecommerce/etailer/createQuote.action';
30
+ protected $_notifyUrl = 'https://demo.creditmaster2.co.uk/Ecommerce/etailer/notify.action';
31
+ protected $_mode = 'simulation';
32
  }
app/code/local/HC/PayByFinance/Model/Post/Simulationrtl.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 Post Simulation Model
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_Post_Simulationrtl extends HC_PayByFinance_Model_Post_Abstract
28
+ {
29
+ protected $_postUrl =
30
+ 'https://rtl-www.creditmaster2.co.uk/Ecommerce/etailer/createQuote.action';
31
+ protected $_notifyUrl = 'https://rtl-www.creditmaster2.co.uk/Ecommerce/etailer/notify.action';
32
+ protected $_mode = 'simulation';
33
+ }
app/code/local/HC/PayByFinance/Model/Post/Test.php CHANGED
@@ -26,7 +26,7 @@
26
  */
27
  class HC_PayByFinance_Model_Post_Test 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 = 'test';
32
  }
26
  */
27
  class HC_PayByFinance_Model_Post_Test extends HC_PayByFinance_Model_Post_Abstract
28
  {
29
+ protected $_postUrl = 'https://demo.creditmaster2.co.uk/Ecommerce/etailer/createQuote.action';
30
+ protected $_notifyUrl = 'https://demo.creditmaster2.co.uk/Ecommerce/etailer/notify.action';
31
+ protected $_mode = 'test';
32
  }
app/code/local/HC/PayByFinance/Model/Post/Testrtl.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 Post TEst Model
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_Post_Testrtl extends HC_PayByFinance_Model_Post_Abstract
28
+ {
29
+ protected $_postUrl =
30
+ 'https://rtl-www.creditmaster2.co.uk/Ecommerce/etailer/createQuote.action';
31
+ protected $_notifyUrl = 'https://rtl-www.creditmaster2.co.uk/Ecommerce/etailer/notify.action';
32
+ protected $_mode = 'test';
33
+ }
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://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
  }
26
  */
27
  class HC_PayByFinance_Model_Post_Unittest extends HC_PayByFinance_Model_Post_Abstract
28
  {
29
+ protected $_postUrl = 'https://demo.creditmaster2.co.uk/Ecommerce/etailer/createQuote.action';
30
+ protected $_notifyUrl = 'https://demo.creditmaster2.co.uk/Ecommerce/etailer/notify.action';
31
+ protected $_mode = 'unittest';
32
  }
app/code/local/HC/PayByFinance/Model/Sessionobserver.php CHANGED
@@ -62,6 +62,9 @@ class HC_PayByFinance_Model_Sessionobserver
62
  if (($eligibleAmount) < $minAmount) {
63
  $session->setData('enabled', false);
64
  }
 
 
 
65
  }
66
 
67
  return $this;
62
  if (($eligibleAmount) < $minAmount) {
63
  $session->setData('enabled', false);
64
  }
65
+ if (!$helper->isActive()) {
66
+ $session->setData('enabled', false);
67
+ }
68
  }
69
 
70
  return $this;
app/code/local/HC/PayByFinance/controllers/Adminhtml/Paybyfinance/ServiceController.php CHANGED
@@ -129,6 +129,12 @@ class HC_PayByFinance_Adminhtml_Paybyfinance_ServiceController
129
  if ( $this->getRequest()->getPost() ) {
130
  try {
131
  $postData = $this->getRequest()->getPost();
 
 
 
 
 
 
132
  $serviceModel = Mage::getModel('paybyfinance/service');
133
 
134
  $serviceModel->setId($this->getRequest()->getParam('id'))
@@ -143,6 +149,7 @@ class HC_PayByFinance_Adminhtml_Paybyfinance_ServiceController
143
  ->setMinAmount($postData['min_amount'])
144
  ->setMultiplier($postData['multiplier'])
145
  ->setRpm($postData['rpm'])
 
146
  ->save();
147
 
148
  Mage::getSingleton('adminhtml/session')->addSuccess(
129
  if ( $this->getRequest()->getPost() ) {
130
  try {
131
  $postData = $this->getRequest()->getPost();
132
+
133
+ if ($postData['store_id'] == 0) {
134
+ $storeId = null;
135
+ } else {
136
+ $storeId = $postData['store_id'];
137
+ }
138
  $serviceModel = Mage::getModel('paybyfinance/service');
139
 
140
  $serviceModel->setId($this->getRequest()->getParam('id'))
149
  ->setMinAmount($postData['min_amount'])
150
  ->setMultiplier($postData['multiplier'])
151
  ->setRpm($postData['rpm'])
152
+ ->setStoreId($storeId)
153
  ->save();
154
 
155
  Mage::getSingleton('adminhtml/session')->addSuccess(
app/code/local/HC/PayByFinance/controllers/SelectorController.php CHANGED
@@ -75,6 +75,7 @@ class HC_PayByFinance_SelectorController extends Mage_Core_Controller_Front_Acti
75
  $amount = $this->getAmount();
76
  $this->_services = Mage::getModel('paybyfinance/service')
77
  ->getCollection()
 
78
  ->addPriceFilter($amount)
79
  ->load();
80
  }
75
  $amount = $this->getAmount();
76
  $this->_services = Mage::getModel('paybyfinance/service')
77
  ->getCollection()
78
+ ->storeFilter(Mage::app()->getStore()->getStoreId())
79
  ->addPriceFilter($amount)
80
  ->load();
81
  }
app/code/local/HC/PayByFinance/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <HC_PayByFinance>
5
- <version>1.0.5</version>
6
  </HC_PayByFinance>
7
  </modules>
8
  <global>
@@ -293,6 +293,8 @@
293
  </blocks_info>
294
  <account>
295
  <connectionmode>test</connectionmode>
 
 
296
  <id1></id1>
297
  <id2></id2>
298
  <erroremail></erroremail>
2
  <config>
3
  <modules>
4
  <HC_PayByFinance>
5
+ <version>1.0.6</version>
6
  </HC_PayByFinance>
7
  </modules>
8
  <global>
293
  </blocks_info>
294
  <account>
295
  <connectionmode>test</connectionmode>
296
+ <connection_post>https://demo.creditmaster2.co.uk/Ecommerce/etailer/createQuote.action</connection_post>
297
+ <connection_notify>https://demo.creditmaster2.co.uk/Ecommerce/etailer/notify.action</connection_notify>
298
  <id1></id1>
299
  <id2></id2>
300
  <erroremail></erroremail>
app/code/local/HC/PayByFinance/etc/system.xml CHANGED
@@ -242,10 +242,26 @@
242
  <show_in_website>1</show_in_website>
243
  <show_in_store>1</show_in_store>
244
  </connectionmode>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
245
  <id1>
246
  <label>E-Tailer Account Id1</label>
247
  <frontend_type>text</frontend_type>
248
- <sort_order>2</sort_order>
249
  <show_in_default>1</show_in_default>
250
  <show_in_website>1</show_in_website>
251
  <show_in_store>1</show_in_store>
@@ -253,7 +269,7 @@
253
  <id2>
254
  <label>E-Tailer Account Id2</label>
255
  <frontend_type>text</frontend_type>
256
- <sort_order>3</sort_order>
257
  <show_in_default>1</show_in_default>
258
  <show_in_website>1</show_in_website>
259
  <show_in_store>1</show_in_store>
@@ -261,7 +277,7 @@
261
  <erroremail>
262
  <label>Error E-Mail Address</label>
263
  <frontend_type>text</frontend_type>
264
- <sort_order>4</sort_order>
265
  <show_in_default>1</show_in_default>
266
  <show_in_website>1</show_in_website>
267
  <show_in_store>1</show_in_store>
@@ -269,7 +285,7 @@
269
  <retailername>
270
  <label>Retailer Name as appears on FCA register</label>
271
  <frontend_type>text</frontend_type>
272
- <sort_order>5</sort_order>
273
  <show_in_default>1</show_in_default>
274
  <show_in_website>1</show_in_website>
275
  <show_in_store>1</show_in_store>
@@ -277,7 +293,7 @@
277
  <tradingname>
278
  <label>Trading Name</label>
279
  <frontend_type>text</frontend_type>
280
- <sort_order>6</sort_order>
281
  <show_in_default>1</show_in_default>
282
  <show_in_website>1</show_in_website>
283
  <show_in_store>1</show_in_store>
242
  <show_in_website>1</show_in_website>
243
  <show_in_store>1</show_in_store>
244
  </connectionmode>
245
+ <connection_post>
246
+ <label>createQuote.action</label>
247
+ <frontend_type>text</frontend_type>
248
+ <sort_order>2</sort_order>
249
+ <show_in_default>1</show_in_default>
250
+ <show_in_website>1</show_in_website>
251
+ <show_in_store>1</show_in_store>
252
+ </connection_post>
253
+ <connection_notify>
254
+ <label>notify.action</label>
255
+ <frontend_type>text</frontend_type>
256
+ <sort_order>3</sort_order>
257
+ <show_in_default>1</show_in_default>
258
+ <show_in_website>1</show_in_website>
259
+ <show_in_store>1</show_in_store>
260
+ </connection_notify>
261
  <id1>
262
  <label>E-Tailer Account Id1</label>
263
  <frontend_type>text</frontend_type>
264
+ <sort_order>4</sort_order>
265
  <show_in_default>1</show_in_default>
266
  <show_in_website>1</show_in_website>
267
  <show_in_store>1</show_in_store>
269
  <id2>
270
  <label>E-Tailer Account Id2</label>
271
  <frontend_type>text</frontend_type>
272
+ <sort_order>5</sort_order>
273
  <show_in_default>1</show_in_default>
274
  <show_in_website>1</show_in_website>
275
  <show_in_store>1</show_in_store>
277
  <erroremail>
278
  <label>Error E-Mail Address</label>
279
  <frontend_type>text</frontend_type>
280
+ <sort_order>6</sort_order>
281
  <show_in_default>1</show_in_default>
282
  <show_in_website>1</show_in_website>
283
  <show_in_store>1</show_in_store>
285
  <retailername>
286
  <label>Retailer Name as appears on FCA register</label>
287
  <frontend_type>text</frontend_type>
288
+ <sort_order>7</sort_order>
289
  <show_in_default>1</show_in_default>
290
  <show_in_website>1</show_in_website>
291
  <show_in_store>1</show_in_store>
293
  <tradingname>
294
  <label>Trading Name</label>
295
  <frontend_type>text</frontend_type>
296
+ <sort_order>8</sort_order>
297
  <show_in_default>1</show_in_default>
298
  <show_in_website>1</show_in_website>
299
  <show_in_store>1</show_in_store>
app/code/local/HC/PayByFinance/sql/paybyfinance_setup/html/accepted.html CHANGED
@@ -1,11 +1,20 @@
1
  <div class="page-head">
2
- <h3>Congratulations, your credit application was successful!</h3>
3
  </div>
 
4
  <p>
5
- You should have by now downloaded your documentation or requested for it to be posted out to you.<br /><br />
6
- Please <strong>read this carefully</strong> checking that all the details are correct, then <strong>print and sign</strong> both the finance agreement and Direct Debit instruction.<br /><br />
7
- Post both forms to the address shown on the finance agreement.<br /><br />
8
- <strong>IMPORTANT: Please ensure you return your documentation to the Freepost address provided as soon as possible to avoid any delay in the delivery of your goods.&nbsp;
9
- We cannot ship your goods out until Hitachi Capital receive this documentation.</strong><br /><br />
10
- Following receipt of your finance agreement your goods will be dispatched.<br />
 
 
 
 
 
 
 
 
11
  </p>
1
  <div class="page-head">
2
+ <h3>Thank you for choosing PaybyFinance as your method of payment.</h3>
3
  </div>
4
+ <p>I am delighted to confirm that you application has now been accepted ({{var order_id}}) and your order is now reserved in our systems.</p>
5
  <p>
6
+ However your order will not be dispatched until either your e-signature has been completed, if offered, or your signed documentation has been returned to Hitachi Capital Consumer Finance at the following address:
7
+ </p>
8
+ <ul>
9
+ <li>PaybyFinance</li>
10
+ <li>Hitachi Capital Consumer Finance</li>
11
+ <li>Freepost RRYU-HCAT-JEUG</li>
12
+ <li>2 Apex View</li>
13
+ <li>Leeds, LS11 9BH</li>
14
+ </ul>
15
+ <p>
16
+ If you have not already e-signed (if available) or printed and signed the documentation an email has been sent to your allocated emailed address for you to complete and return the documentation as soon as possible.
17
+ </p>
18
+ <p>
19
+ In the meantime, thank you for using [Company Name], we look forward to doing business with you in the future.
20
  </p>
app/code/local/HC/PayByFinance/sql/paybyfinance_setup/html/declined.html CHANGED
@@ -1,20 +1,12 @@
1
  <div class="page-head">
2
- <h3>Your credit application has been declined</h3>
3
  </div>
4
  <p>
5
- We regret to inform you that your finance application on order number {{var order_id}} has been declined.<br /><br />
6
- <strong>Please call us as we may be able to offer you alternative options.</strong><br /><br />
7
- If we don’t hear from you, we will process the refund of your deposit in 3-5 days.<br /><br />
8
- Your application was assessed using the credit scoring system by Hitachi Capital (UK) which calculates a credit score by allocating points to the information supplied by you.
9
- The credit score is given to you by the Credit Reference Agency Experian who base their assessment on your credit history are also taken into account,
10
- for example your payment history on any current or settled financial commitments. The credit score and the Experian score are added together
11
- to produce a total credit score on your application<br /><br />
12
- <strong>IMPORTANT: These checks are all carried out independently by Hitachi Capital UK Plc. and are not under our control.</strong><br /><br />
13
- The Credit Reference Agency contacted in connection with your application was:<br /><br />
14
- Experian Help Service<br />
15
- PO Box 8000<br />
16
- Nottingham<br />
17
- NG1 5GX<br /><br />
18
- You can obtain a credit report from Experian if you have any concerns by visiting <a href="http://www.experian.co.uk" target="_blank">www.experian.co.uk.</a><br /><br />
19
- You can also contact Hitachi Capital on: Pay by Finance Team, 2 Apex View, Leeds, LS11 9BH
20
  </p>
1
  <div class="page-head">
2
+ <h3>Unfortunately your application for finance has been declined.</h3>
3
  </div>
4
  <p>
5
+ We will arrange for any deposit paid to be refunded for order: {{var order_id}}
6
+ </p>
7
+ <p>
8
+ Please contact [Company Name] on {{var phone}} to discuss an alternative payment method.
9
+ </p>
10
+ <p>
11
+ * By asking the customer to contact you if the finance is not approved you are able to try and retain the sale.
 
 
 
 
 
 
 
 
12
  </p>
app/code/local/HC/PayByFinance/sql/paybyfinance_setup/html/page-finance-options.html CHANGED
@@ -1,98 +1,188 @@
1
  <h2>More information</h2>
2
- <p>All we require is a minimum deposit of 10%, you can pay a higher deposit if you wish, and the order must have a value of at least £500.</p>
3
- <p>Item Value: £5001000 - 6 months interest free credit.</p>
4
- <p>Item Value: £1000 plus - 6 or 12 months interest free credit.</p>
5
  <p>Credit is available to permanent UK residents only.</p>
6
 
7
- <h2>Example of Finance Offer</h2>
8
-
9
- <h4>12 Months Interest Free Credit</h4>
10
- <p>Cash Price £1000.00<br/>
11
- Deposit @ 10% £100.00<br/>
12
- Charge for Credit £0<br/>
13
- Total amount of Credit £900.00<br/>
14
- APR 0% APR Representative<br/>
15
- Number of Payments 12<br/>
16
- Monthly Payment £75.00<br/>
17
- Total Amount payable £1000.00<br/>
18
- </p>
19
 
20
- <h4>48 Months Interest Bearing</h4>
21
  <p>
22
- Cash Price £1000.00 <br/>
23
- Deposit @ 10% £100.00<br/>
24
- Charge for Credit £222.72<br/>
25
- Total amount of Credit £900.00<br/>
26
- APR 11.9% APR Representative<br/>
27
- Number of Payments 48<br/>
28
- Monthly Payment £23.39<br/>
29
- Total Amount payable £1222.72<br/>
30
  </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
 
32
- <p>We also offer 24, 36 or 48 months Interest Bearing Credit, on orders over £500.00. Please see previous example above of an Interest Bearing option.</p>
33
-
34
- <h3>How do I choose to pay by interest free credit?</h3>
35
- <p>Just select the interest-free credit option on the check out page or let the sales consultant know if you're buying in our showrooms.</p>
36
-
37
- <h3>When do my repayments start?</h3>
38
- <p>Your monthly repayments will begin one month after your purchase has been delivered.</p>
 
 
39
 
40
- <h3>Are there any arrangement fees or hidden extras for credit?</h3>
41
- <p>No. There are no arrangement fees or hidden extras.</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
 
43
- <p>Acceptance is subject to status. Credit provided by Hitachi Capital (UK) PLC trading as Hitachi Capital Consumer Finance, 2 Apex View, Leeds, LS11 9BH. Authorised and regulated by the Financial Conduct Authority.</p>
44
 
45
- <p>NOTE - Finance is only applicable to UK residents</p>
 
46
 
47
- <p>When you buy online from YourDomain.com you have the choice of applying for instant finance by adding your purchase to the shopping basket, selecting the option to PaybyFinance, and completing a finance application form. The whole process only takes a few minutes and is simple and secure. Once your finance application is approved, you will receive an e-mail advising you of how to download the finance agreement. Please read this carefully checking that all the details are correct, then either e-sign the agreement, if offered, or print and sign the finance agreement twice. Post the document to the address shown on the finance agreement. Following receipt of your finance agreement and a few additional checks, your goods will be dispatched</p>
 
48
 
49
- <p><strong>YourDomain.com are licensed credit brokers</strong></p>
 
50
 
51
- <p>Credit is subject to status and written quotations are available on request. The credit advertised is provided by one credit provider with whom we have a commercial relationship.</p>
 
 
 
 
 
 
 
52
 
53
  <p><strong>Applying for online finance</strong></p>
54
- <p>Applying for online finance couldn't be easier or more convenient. Once you've chosen the products you'd like to purchase, simply complete a brief online application form accessed via the 'checkout'. Just follow the simple instructions, entering your personal details as required and we'll do the rest.</p>
 
 
 
 
 
 
 
 
 
 
 
55
 
56
  <p><strong>Your questions answered</strong></p>
57
  <p>Here's some of the most commonly asked questions regarding online finance.</p>
58
 
59
  <p><strong>Once my application is approved, what happens next?</strong></p>
60
- <p>Within minutes of your application being approved, you will be presented with the option to sign your credit agreement. If you are offered the ability e-sign your credit agreement and choose to do so, a PDF of your credit agreement will be displayed on screen. You should read the credit agreement carefully before clicking all the relevant sections agreeing to its terms. Once you have agreed to the terms of the credit agreement (Retailer Name) will be notified and you need do nothing more. If you are presented with the ability to print and return your credit agreement you should print the PDF agreement, read it carefully and then sign the document following the instructions on the covering letter. This signed document should then be posted to the address shown on the covering letter of the credit agreement. Note that products will not be allocated to your order until your completed and signed agreement is returned and received by Hitachi Capital. Shipment of your goods will follow soon after your agreement has been returned to our finance company.</p>
61
-
62
- <p><strong>Will you credit score me and if so, what does this mean?</strong></p>
63
- <p>Credit scoring is the process used by financial services companies to evaluate the credit risk of new applicants. This technique will be applied to your application for online finance. Credit scoring works by awarding points for each answer given on the application form such as age, income and occupation, together with information obtained from credit reference agencies. This information allows us to produce consistent decisions, ensuring all our applicants are treated fairly. Credit scoring does not discriminate on the grounds of sex, race, religion or disability.</p>
64
-
65
- <p><strong>If you decline my application, what is the reason?</strong></p>
66
- <p>In addition to credit scoring, we also take into account confirmation of your identity, validation of certain application details, existing commitments and information held at the credit reference agencies. Though we are unable to provide you with a main reason for decline of your application, it is usually based on one, or a combination of the following:</p>
67
- <ul>
68
- <li>Your credit score (note that every finance company will score you differently)</li>
69
- <li>Adverse credit reference agency information</li>
70
- <li>You are considered to be overcommitted</li>
71
- <li>You are aged under 18</li>
72
- <li>Your existing account performance with other lenders</li>
73
- </ul>
74
-
75
- <p><strong>What type of information do credit reference agencies hold about me?</strong></p>
76
- <p>Some of the information is public information, for example electoral roll, County Court Judgements and bankruptcies. Other lenders may also file information about accounts you hold with them for instance this could include your payment history and outstanding balance on these accounts. Any requests for credit, where a credit reference search has been undertaken, will also be filed, although the result of the request is not recorded.</p>
77
-
78
- <p><strong>How do I obtain a copy of this information?</strong></p>
79
- <p>You should send a cheque for £2.00 made payable to the relevant company, together with details of all addresses at which you have lived over the last 6 years:</p>
80
- <p>Consumer Help Desk Experian Limited PO Box 8000 <br/>
81
- Nottingham NG1 5GX</p>
82
-
83
- <p>Equifax Ltd., Credit File Advice Centre. PO Box 1140.<br/>
84
- Bradford, BD1 5US</p>
85
-
86
- <p>Consumer Services, Callcredit Limited, PO Box 491,<br/>
87
- Leeds, LS3 1WZ</p>
88
-
89
- <p>The above listed agencies will provide details of information relating via these addresses. If you believe that the information is incorrect, you can ask the agency to correct it.</p>
90
-
91
- <p><strong>If my application is not successful, can I re-apply?</strong></p>
92
- <p>Yes. We acknowledge that your circumstances change and just because we have refused a previous application, it does not mean that we'll automatically turn down a further request. We do suggest however, that you leave at least 6 months between applications.</p>
93
-
94
- <p><strong>Who is eligible to apply for online finance?</strong></p>
95
- <p>To apply for finance, you must be over the age of 18, work at least 16 hours a week, or be retired with an income. You must also be a resident of the United Kingdom and have lived in the UK for the last 12 months or more. Unfortunately, we are unable to offer online finance to residents of Eire. Homemakers aren't excluded from applying under their own names; however we will require the employment details of your spouse in order to process your application.</p>
96
 
97
- <p><strong>Can I request delivery to an address other than my home?</strong></p>
98
- <p>In order to safeguard against fraudulent applications, we regret that we're able only to deliver goods to the home address of the applicant. Saturday morning deliveries can be arranged if this is more convenient for you.</p>
 
 
1
  <h2>More information</h2>
2
+ <p>All we require is a minimum deposit of 10%, you can pay a higher deposit if you wish, and the order must have a value of at least &pound;500.</p>
3
+ <p>Item Value: &pound;500-&pound;1000 - 6 months interest free credit.</p>
4
+ <p>Item Value: &pound;1000 plus - 6 or 12 months interest free credit.</p>
5
  <p>Credit is available to permanent UK residents only.</p>
6
 
7
+ <h2>Interest Free Finance Example</h2>
 
 
 
 
 
 
 
 
 
 
 
8
 
9
+ <h4>Up to 12 months 0% APR representative interest free finance</h4>
10
  <p>
11
+ Spread the cost with our interest free finance available online and in store.
 
 
 
 
 
 
 
12
  </p>
13
+ <p>
14
+ Our simple finance options allow you to spread the cost of [insert product/s] over 6 or 12 months.
15
+ </p>
16
+ <h4>All you need to do is:</h4>
17
+ <ul>
18
+ <ol>Spend a minimum &pound;350 and above</ol>
19
+ <ol>Place a 10% deposit</ol>
20
+ <ol>Minimum finance amount after deposit &pound;315 and above</ol>
21
+ </ul>
22
+ <p>We offer 2 simple finance options to help you spread the cost of your purchases.</p>
23
+ <ul>
24
+ <li>6 months interest free finance on orders of &pound;350 and above</li>
25
+ <li>12 months interest free finance on orders of &pound;1000 and above</li>
26
+ </ul>
27
+ <p>
28
+ The table below shows you how much monthly repayments will be based on the total order value.
29
+ </p>
30
+ <p>
31
+ For help with your finance please call {{config path="general/store_information/phone"}}
32
+ </p>
33
+ <table>
34
+ <tr>
35
+ <th>Order value</th>
36
+ <th>Term (Months)</th>
37
+ <th>Deposit (10%)</th>
38
+ <th>Monthly Payments</th>
39
+ </tr>
40
+ <tr>
41
+ <td>&pound;350</td>
42
+ <td>6</td>
43
+ <td>&pound;35</td>
44
+ <td>&pound;35.83</td>
45
+ </tr>
46
+ <tr>
47
+ <td>&pound;700</td>
48
+ <td>6</td>
49
+ <td>&pound;70</td>
50
+ <td>&pound;105</td>
51
+ </tr>
52
+ <tr>
53
+ <td>&pound;1200</td>
54
+ <td>12</td>
55
+ <td>&pound;120</td>
56
+ <td>&pound;90</td>
57
+ </tr>
58
+ <tr>
59
+ <td>&pound;2000</td>
60
+ <td>12</td>
61
+ <td>&pound;200</td>
62
+ <td>&pound;150</td>
63
+ </tr>
64
+ </table>
65
+
66
+ <h4>Representative Example:</h4>
67
 
68
+ <ul>
69
+ <li>Cash Price &pound;1,200.00</li>
70
+ <li>Deposit &pound;120.00</li>
71
+ <li>0% APR representative</li>
72
+ <li>Interest rate 0% fixed</li>
73
+ <li>Number of Payments 12</li>
74
+ <li>Monthly Payment &pound;90</li>
75
+ <li>Total Amount payable &pound;1,200.00</li>
76
+ </ul>
77
 
78
+ <h2>Interest Bearing Finance Example</h2>
79
+ <h4>Up to 12 months 12.9% APR representative interest bearing finance</h4>
80
+ <p>Spread the cost with our interest bearing finance available online and in store.</p>
81
+ <p>Our simple finance options allow you to spread the cost of [insert product/s] over 6 or 12 months.</p>
82
+ <h4>All you need to do is:</h4>
83
+ <ul>
84
+ <ol>Spend a minimum &pound;350 and above</ol>
85
+ <ol>Place a 10% deposit</ol>
86
+ <ol>Minimum finance amount after deposit &pound;315 and above</ol>
87
+ </ul>
88
+ <p>We offer 2 simple finance options to help you spread the cost of your purchases.</p>
89
+ <ul>
90
+ <li>6 months interest bearing finance on orders of &pound;350 and above</li>
91
+ <li>12 months interest bearing finance on orders of &pound;1000 and above</li>
92
+ </ul>
93
+ <p>The table below shows you how much monthly repayments will be based on the total order value.</p>
94
+ <p>For help with your finance please call {{config path="general/store_information/phone"}}</p>
95
+
96
+ <table>
97
+ <tr>
98
+ <th>Order value</th>
99
+ <th>Term (Months)</th>
100
+ <th>Deposit (10%)</th>
101
+ <th>Monthly Payments</th>
102
+ </tr>
103
+ <tr>
104
+ <td>&pound;350</td>
105
+ <td>6</td>
106
+ <td>&pound;35</td>
107
+ <td>&pound;54.39</td>
108
+ </tr>
109
+ <tr>
110
+ <td>&pound;700</td>
111
+ <td>6</td>
112
+ <td>&pound;70</td>
113
+ <td>&pound;108.77</td>
114
+ </tr>
115
+ <tr>
116
+ <td>&pound;1200</td>
117
+ <td>12</td>
118
+ <td>&pound;120</td>
119
+ <td>&pound;96.06</td>
120
+ </tr>
121
+ <tr>
122
+ <td>&pound;2000</td>
123
+ <td>12</td>
124
+ <td>&pound;200</td>
125
+ <td>&pound;160.09</td>
126
+ </tr>
127
+ </table>
128
+
129
+ <h4>Representative Example:</h4>
130
+ <ul>
131
+ <li>Cash Price &pound;700</li>
132
+ <li>Deposit &pound;70</li>
133
+ <li>12.9% APR representative</li>
134
+ <li>Interest rate 6.74% fixed</li>
135
+ <li>Number of Payments 6</li>
136
+ <li>Monthly Payment &pound;108.77</li>
137
+ <li>Total Amount payable &pound;783.28</li>
138
+ </ul>
139
 
140
+ <h2>Finance FAQ</h2>
141
 
142
+ <p><strong>How do I choose to pay by Finance?</strong></p>
143
+ <p>Just select the finance option on the checkout page or let the sales consultant know if you're buying in our showrooms.</p>
144
 
145
+ <p><strong>Who is eligible to apply for online finance?</strong></p>
146
+ <p>To apply for finance, you must be over the age of 18, work at least 16 hours a week, or be retired with an income. You must also be a resident of the United Kingdom and have lived in the UK for the last 12 months or more. Unfortunately, we are unable to offer online finance to residents of Eire. Homemakers aren't excluded from applying under their own names; however we will require the employment details of your spouse in order to process your application.</p>
147
 
148
+ <p><strong>When do my repayments start?</strong></p>
149
+ <p>Your monthly repayments will begin one month after your purchase has been delivered.</p>
150
 
151
+ <p><strong>Are there any arrangement fees or hidden extras for credit?</strong></p>
152
+ <p>No. There are no arrangement fees or hidden extras.</p>
153
+ <p>
154
+ Credit subject to status and affordability. Terms &amp; Conditions Apply. [Company Name] are a credit broker and are Authorised and Regulated by the Financial Conduct Authority.
155
+ </p>
156
+ <p>
157
+ Credit is provided by Hitachi Personal Finance, a division of Hitachi Capital (UK) PLC Authorised and Regulated by the Financial Conduct Authority.
158
+ </p>
159
 
160
  <p><strong>Applying for online finance</strong></p>
161
+ <p>
162
+ When you buy online from [Company Name] you have the choice of applying for instant finance by adding your purchase to the shopping basket, selecting the option to PaybyFinance, and completing a finance application form.
163
+ </p>
164
+ <p>
165
+ The whole process only takes a few minutes and is simple and secure. Once your finance application is approved, you will receive an e-mail advising you of how to download the finance agreement. Please read this carefully checking that all the details are correct, then either e-sign the agreement, if offered, or print and sign the finance agreement twice. Post the document to the address shown on the finance agreement.
166
+ </p>
167
+ <p>
168
+ Following receipt of your finance agreement and a few additional checks, your goods will be dispatched.
169
+ </p>
170
+ <p>
171
+ Applying for online finance couldn't be easier or more convenient. Once you've chosen the products you'd like to purchase, simply complete a brief online application form accessed via the 'checkout'. Just follow the simple instructions, entering your personal details as required and we'll do the rest.
172
+ </p>
173
 
174
  <p><strong>Your questions answered</strong></p>
175
  <p>Here's some of the most commonly asked questions regarding online finance.</p>
176
 
177
  <p><strong>Once my application is approved, what happens next?</strong></p>
178
+ <p>
179
+ Within minutes of your application being approved, you will be presented with the option to sign your credit agreement. If you are offered the ability to e-sign your credit agreement and choose to do so, a PDF of your credit agreement will be displayed on screen. You should read the credit agreement carefully before clicking all the relevant sections agreeing to its terms. Once you have agreed to the terms of the credit agreement [Company Name] will be notified and you need do nothing more. If you are presented with the ability to print and return your credit agreement you should print the PDF agreement, read it carefully and then sign the document following the instructions on the covering letter. This signed document should then be posted to the address shown on the covering letter of the credit agreement.
180
+ </p>
181
+ <p>
182
+ Note that products will not be allocated to your order until your completed and signed agreement is returned and received by Hitachi Capital. Shipment of your goods will follow soon after your agreement has been returned to our finance company.
183
+ </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
 
185
+ <p><strong>Will your credit score me and if so, what does this mean?</strong></p>
186
+ <p>
187
+ Credit scoring is the process used by financial services companies to evaluate the credit risk of new applicants. This technique will be applied to your application for online finance. Credit scoring works by awarding points for each answer given on the application form such as age, income and occupation, together with information obtained from credit reference agencies. This information allows us to produce consistent decisions, ensuring all our applicants are treated fairly. Credit scoring does not discriminate on the grounds of sex, race, religion or disability.
188
+ </p>
app/code/local/HC/PayByFinance/sql/paybyfinance_setup/html/referred.html CHANGED
@@ -1,8 +1,16 @@
1
  <div class="page-head">
2
- <h3>Your credit application has been referred</h3>
3
  </div>
4
  <p>
5
- Your order # is: {{var order_id}}.<br/>
6
- Your application has been referred to our Underwriting Department and you will receive a response by e-mail with our decision as soon as possible.&nbsp;
7
- If you have any questions, please contact customer services.
 
 
 
 
 
 
 
 
8
  </p>
1
  <div class="page-head">
2
+ <h3>Your Application has been referred</h3>
3
  </div>
4
  <p>
5
+ Thank you for choosing PaybyFinance as your method of payment for your purchase from [Company Name].
6
+ Your Application has been referred ({{var order_id}}).
7
+ </p>
8
+ <p>
9
+ Hitachi Capital are assessing your application and if they require any further information they will contact you.
10
+ </p>
11
+ <p>
12
+ Hitachi Capital will normally provide a final decision within the next 24 hours.
13
+ </p>
14
+ <p>
15
+ * Some referrals require some additional security checks so may take longer to obtain a decision.
16
  </p>
app/code/local/HC/PayByFinance/sql/paybyfinance_setup/{mysql4-install-1.0.5.php → mysql4-install-1.0.6.php} RENAMED
@@ -50,6 +50,7 @@ $installer->run(
50
  "
51
  DROP TABLE IF EXISTS {$this->getTable('paybyfinance_service')};
52
  CREATE TABLE {$this->getTable('paybyfinance_service')} (
 
53
  `name` varchar(255) NOT NULL default '',
54
  `service_id` int(11) unsigned NOT NULL auto_increment,
55
  `type` smallint(6) NOT NULL default '0',
@@ -62,7 +63,9 @@ CREATE TABLE {$this->getTable('paybyfinance_service')} (
62
  `min_amount` decimal(9,4) NOT NULL default '0',
63
  `multiplier` double(10,8) NOT NULL default '0',
64
  `rpm` double(10,8) NOT NULL default '0',
65
- PRIMARY KEY (`service_id`)
 
 
66
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
67
  "
68
  );
50
  "
51
  DROP TABLE IF EXISTS {$this->getTable('paybyfinance_service')};
52
  CREATE TABLE {$this->getTable('paybyfinance_service')} (
53
+ `store_id` SMALLINT(5) UNSIGNED NULL,
54
  `name` varchar(255) NOT NULL default '',
55
  `service_id` int(11) unsigned NOT NULL auto_increment,
56
  `type` smallint(6) NOT NULL default '0',
63
  `min_amount` decimal(9,4) NOT NULL default '0',
64
  `multiplier` double(10,8) NOT NULL default '0',
65
  `rpm` double(10,8) NOT NULL default '0',
66
+ PRIMARY KEY (`service_id`),
67
+ CONSTRAINT `FK_paybyfinance_serice_core_store_store_id` FOREIGN KEY(`store_id`)
68
+ REFERENCES `{$this->getTable('core_store')}` (`store_id`)
69
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
70
  "
71
  );
app/code/local/HC/PayByFinance/sql/paybyfinance_setup/mysql4-upgrade-1.0.5-1.0.6.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ $updater = $this; // $this is class Mage_Eav_Model_Entity_Setup
19
+ $updater->startSetup();
20
+
21
+ $updater->run(
22
+ "
23
+ ALTER TABLE {$this->getTable('paybyfinance_service')}
24
+ ADD `store_id` SMALLINT(5) UNSIGNED NULL;
25
+ ALTER TABLE {$this->getTable('paybyfinance_service')}
26
+ ADD CONSTRAINT `FK_paybyfinance_serice_core_store_store_id` FOREIGN KEY(`store_id`)
27
+ REFERENCES `{$this->getTable('core_store')}` (`store_id`);
28
+ "
29
+ );
30
+
31
+ $updater->endSetup();
app/design/adminhtml/default/default/layout/paybyfinance.xml CHANGED
@@ -7,6 +7,18 @@
7
  </reference>
8
  </adminhtml_paybyfinance_service_index>
9
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  <adminhtml_paybyfinance_redirect_view>
11
  <reference name="content">
12
  <block type="paybyfinance/adminhtml_paybyfinance_redirect" name="pbf_redirect" template="paybyfinance/redirect.phtml" />
7
  </reference>
8
  </adminhtml_paybyfinance_service_index>
9
 
10
+ <adminhtml_paybyfinance_service_edit>
11
+ <reference name="head">
12
+ <action method="addJs"><file>paybyfinance/service.js</file></action>
13
+ </reference>
14
+ </adminhtml_paybyfinance_service_edit>
15
+
16
+ <adminhtml_system_config_edit>
17
+ <reference name="head">
18
+ <action method="addJs"><file>paybyfinance/config-edit.js</file></action>
19
+ </reference>
20
+ </adminhtml_system_config_edit>
21
+
22
  <adminhtml_paybyfinance_redirect_view>
23
  <reference name="content">
24
  <block type="paybyfinance/adminhtml_paybyfinance_redirect" name="pbf_redirect" template="paybyfinance/redirect.phtml" />
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/adminhtml/default/default/template/paybyfinance/version.phtml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @see Ebizmarts_SagePaySuite_Block_Adminhtml_System_Config_Fieldset_Hint
4
+ */
5
+ ?>
6
+ <div class="paybyfinance-config-version" style="background: #e0e0e9; border: 1px solid #6f8992; margin-bottom: 10px; padding: 10px;">
7
+ <?php echo $this->getVersionHtml(); ?>
8
+ </div>
app/design/frontend/base/default/template/paybyfinance/selector.phtml CHANGED
@@ -170,6 +170,11 @@ $_secure = $this->getRequest()->isSecure();
170
 
171
  function pbf_selector_recalculate() {
172
  var value = $("pbf-input-deposit").value * 10;
 
 
 
 
 
173
  var service_id = $$('#paybyfinance input:checked[name=service]')[0].value;
174
  var service = pbf_selector_data.services[service_id];
175
  var deposit = Math.round(((value / 100) * pbf_selector_data.amount) * 100) / 100;
170
 
171
  function pbf_selector_recalculate() {
172
  var value = $("pbf-input-deposit").value * 10;
173
+ if (pbf_selector_data.services.length == 0) {
174
+ $('pbf-error-msg').update("There's no finance available for this product.");
175
+ Form.Element.disable('pbf-productcart-btn');
176
+ return;
177
+ }
178
  var service_id = $$('#paybyfinance input:checked[name=service]')[0].value;
179
  var service = pbf_selector_data.services[service_id];
180
  var deposit = Math.round(((value / 100) * pbf_selector_data.amount) * 100) / 100;
js/paybyfinance/config-edit.js ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ var PaybyfinanceConfigEdit = Class.create();
2
+ PaybyfinanceConfigEdit.prototype = {
3
+ initialize: function() {
4
+ this.section = $('hc_paybyfinance_account');
5
+ this.modeField = $('hc_paybyfinance_account_connectionmode');
6
+ if (this.modeField.value == 'custom') {
7
+ // Display the custom fields
8
+ this.show();
9
+ } else {
10
+ this.hide();
11
+ }
12
+
13
+ this.modeField.observe('change', this.modeChange.bind(this));
14
+ },
15
+
16
+ hide: function(animate) {
17
+ animate = animate || false;
18
+ if (animate) {
19
+ Effect.Fade('row_hc_paybyfinance_account_connection_post', {duration: 1});
20
+ Effect.Fade('row_hc_paybyfinance_account_connection_notify', {duration: 1});
21
+ } else {
22
+ $('row_hc_paybyfinance_account_connection_post').hide();
23
+ $('row_hc_paybyfinance_account_connection_notify').hide();
24
+ }
25
+ },
26
+
27
+ show: function(animate) {
28
+ animate = animate || false;
29
+ if (animate) {
30
+ Effect.Appear('row_hc_paybyfinance_account_connection_post', {duration: 1});
31
+ Effect.Appear('row_hc_paybyfinance_account_connection_notify', {duration: 1});
32
+ } else {
33
+ $('row_hc_paybyfinance_account_connection_post').show();
34
+ $('row_hc_paybyfinance_account_connection_notify').show();
35
+ }
36
+ },
37
+
38
+ modeChange: function(event) {
39
+ mode = this.modeField.value;
40
+ console.log(mode);
41
+ if (mode == 'custom') {
42
+ this.show(true);
43
+ } else {
44
+ this.hide(true);
45
+ }
46
+
47
+ }
48
+ };
49
+ Event.observe(window, 'load', function() {
50
+ if ($('hc_paybyfinance_account_connectionmode')) {
51
+ paybyfinanceConfigEdit = new PaybyfinanceConfigEdit();
52
+ }
53
+ });
js/paybyfinance/service.js ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ var PaybyfinanceService = Class.create();
2
+ PaybyfinanceService.prototype = {
3
+ initialize: function() {
4
+ this.form = $('edit_form');
5
+ this.aprField = $('apr');
6
+ this.rpmField = $('rpm');
7
+
8
+ this.aprField.observe('change', this.aprChange.bind(this));
9
+ },
10
+
11
+ aprChange: function(event) {
12
+ apr = this.aprField.value;
13
+
14
+ rpm = (Math.pow((parseFloat(apr)/100 + 1), (1 / 12)) - 1) * 100;
15
+ rpm = Math.round(rpm * 1000) / 1000;
16
+
17
+ if (!this.rpmField.value) {
18
+ this.rpmField.value = rpm;
19
+ }
20
+ }
21
+ };
22
+ Event.observe(window, 'load', function() {
23
+ paybyfinanceService = new PaybyfinanceService();
24
+ });
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>HC_PayByFinance</name>
4
- <version>1.0.5.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.healthywebsites.co.uk/license.html">Healthy Websites</license>
7
  <channel>community</channel>
@@ -9,19 +9,18 @@
9
  <summary>Hitachi Capital Pay By Finance</summary>
10
  <description>Hitachi Capital Pay By Finance</description>
11
  <notes>Change Log:&#xD;
12
- * Change order status on Notification&#xD;
13
- * HC-173 Notification awaiting dispatch of goods&#xD;
14
- * HC-173 Log all parameters for notification request&#xD;
15
- * HC-211 Inbound notification sent to PBF&#xD;
16
- * HC-212 Configurable product isProductEligible price&#xD;
17
- * HC-213 Shipping price is inconsistent with different Tax settings than default&#xD;
18
- * Finance Available from: exit the loop at 30 to avoid long page load times on large collections.&#xD;
19
- * Rounding issues because the price is stored as float&#xD;
20
- * HC-200 Address flag disabled</notes>
21
  <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>
22
- <date>2015-06-29</date>
23
- <time>12:04:29</time>
24
- <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="b7aadc98068529d4fb08219a83b2e69b"/><dir name="Service"><dir name="Edit"><file name="Form.php" hash="19f94b6405f5ec45510022c5aff868c2"/><dir name="Tab"><file name="Form.php" hash="77316baf7e8d387037007b97067fff8b"/></dir><file name="Tabs.php" hash="5af9151c310841d8dd0b6f7e8f984625"/></dir><file name="Edit.php" hash="d73f958b0abaebff8aff703f650c5a01"/><file name="Grid.php" hash="38f482f561c0be60b8a7ac6f49e74df9"/></dir><file name="Service.php" hash="26112ba2733a9db951addfef4e0152e8"/></dir><file name="Version.php" hash="795735b46cabe7354fbfd7e38f3b9285"/></dir><dir name="Checkout"><file name="Redirect.php" hash="30f1cf1f682abc985e872619b67a86d7"/></dir><dir name="Product"><dir name="List"><file name="Finance.php" hash="a9dd554c1c95fc4c912f71ab3ac94d2c"/></dir></dir><dir name="Sales"><dir name="Order"><file name="Totals.php" hash="1fe522dd0d6a4c890374b2602b840d3b"/></dir></dir><file name="Selector.php" hash="cec4b9a148b8b06458bddc03f3a7747d"/><file name="Status.php" hash="338f52aa781e3e7703862e180339a1aa"/></dir><dir name="Helper"><file name="Cart.php" hash="b26ae9571db19b3efea4a78e841d254c"/><file name="Checkout.php" hash="2e5c242b333cda10fa0993b036b9cbf4"/><file name="Data.php" hash="0991540aba6fad1638bd8482d3f6a7f4"/><file name="Notification.php" hash="c1274345f71edbf3e11de180704aaec2"/></dir><dir name="Model"><file name="Calculator.php" hash="3da169913ae3de9bf6c4128969fbb195"/><dir name="Config"><dir name="Source"><dir name="Catalog"><dir name="Product"><file name="Finance.php" hash="68dfc0233403f61c82aa62009cdd2da7"/><file name="Type.php" hash="4494b3f46eddc7455e363281072df315"/></dir></dir><dir name="Cms"><file name="Block.php" hash="a4302b47926c40f480ea84f81420070f"/></dir><file name="Connectionmode.php" hash="a734e5ae89d3dd72ba80c97b358d3923"/><dir name="Notification"><file name="Status.php" hash="0e9792c4ea7e27e61472d60e07227c5e"/></dir><file name="Type.php" hash="ce4604dccb55c6ce450fd34d4fa8ad4d"/></dir></dir><file name="Log.php" hash="446fc48510a09b279ad725bf87b839ff"/><dir name="Mysql4"><dir name="Log"><file name="Collection.php" hash="6ebe6b95b2565601cd77f1d4db264ff4"/></dir><file name="Log.php" hash="914cb47c3274c2cce6a3913302a2d4e3"/><dir name="Service"><file name="Collection.php" hash="c68147d484d42d4b6b6f4fedc2ac6cc7"/></dir><file name="Service.php" hash="3dac2e956f57c9a1467e52a0f008fefd"/></dir><file name="Observer.php" hash="64066be77b9d9c873dab30cf1870da63"/><dir name="Paypal"><dir name="Api"><file name="Nvp.php" hash="5d1f7b687e2ca293ac1dc0c0425d1b8f"/></dir><dir name="Hostedpro"><file name="Request.php" hash="11ba073df9037d899eecb211c062d5f5"/></dir></dir><dir name="PaypalUk"><dir name="Api"><file name="Nvp.php" hash="49ba8cbd3145939a3d78e4964d1fe27e"/></dir></dir><dir name="Post"><file name="Abstract.php" hash="f6eeda7e77637957a68071f10b9954ce"/><file name="Live.php" hash="dd7b6a145f11ac7e5521541ba9a04111"/><file name="Simulation.php" hash="cb9b14475150e9303cd92831bb1eff6d"/><file name="Test.php" hash="749fb1a3384695e9f24f2fbf5fd82d47"/><file name="Unittest.php" hash="fe5d5590d720d4d2c824bcaf3ca83e55"/></dir><file name="Post.php" hash="c45665581817d711048d37bed0ecb67b"/><dir name="Resource"><file name="Setup.php" hash="c20cba205135fbfb01055518102b4681"/></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="Financeamount.php" hash="0ab402b6f55a4b9d13d0cafb36b6280f"/></dir><dir name="Invoice"><file name="Financeamount.php" hash="40d2be0622ac85e7776ce102b7de9e29"/></dir></dir><dir name="Quote"><file name="Financeamount.php" hash="85eba4714b45677e5e97fd8227c22a06"/><file name="Totalcost.php" hash="f7b360b6fd09029fd48c47c2be803d97"/></dir></dir><file name="Service.php" hash="5cc3d5959b8e08b11ca754da67776efd"/><file name="Session.php" hash="c2cdc285f6297ad2dc100973022ec6d4"/><file name="Sessionobserver.php" hash="dea217f14aacc3829e61cc667ae70c19"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Paybyfinance"><file name="RedirectController.php" hash="8098982cfa01371e3427d0b7a8da6829"/><file name="ServiceController.php" hash="0f394469d41e6b37f9f39d3e666a719f"/></dir></dir><file name="CheckoutController.php" hash="e35b1ab01af610c5fd8ab24eda4ee8e2"/><file name="NotificationController.php" hash="95bd98bea5c92763d2755a3e2bc65e4b"/><file name="SelectorController.php" hash="42a24424f721f425fca70de6dbeff767"/><file name="SessionController.php" hash="b3756993e0d8e6e49434354c824f837e"/><file name="StatusController.php" hash="9e8681654954590f2694780f18ab0675"/></dir><dir name="etc"><file name="adminhtml.xml" hash="216df222a5f5d9fdcf29c238cfd78bd5"/><file name="config.xml" hash="a71b684587ac03540a7af3f7944230c1"/><file name="system.xml" hash="823f5f8b6377e5fe66433604a58c0e53"/></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.5.php" hash="80b3cacf2011248d9e283b8cc9130ccc"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="35e40e56f4eaa482cf76861bf268b9d7"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="f88bb5dae696c130c0038c05e86dfd9c"/><file name="mysql4-upgrade-1.0.3-1.0.4.php" hash="abd3f7c7e68120a6bcad82470f62db25"/><file name="mysql4-upgrade-1.0.4-1.0.5.php" hash="2cc09a77b0c36f2f0a2bdce97ba0f50d"/></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"><dir><dir name="catalog"><dir name="product"><dir name="list"><file name="finance.phtml" hash="30f6500bc535bdf851ff6d5768e383dc"/></dir></dir></dir><dir name="sales"><dir name="order"><file name="totals.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir></dir><file name="form.phtml" hash="6f583d5629e39fe564d4b86535242c7a"/><file name="selector-no.phtml" hash="b54c570f68254a2e879464a0b761c7db"/><file name="selector.phtml" hash="2a4c293be0ec3b13d40a6080725dd8eb"/><file name="status.phtml" hash="9e02cb668c470d72612bccc09e34c51a"/></dir><dir name="checkout"><dir name="cart"><file name="totals-pbf.phtml" hash="f14878e618aa3c8943f3728128aadaa6"/></dir><dir name="onepage"><dir name="review"><file name="info-pbf.phtml" hash="e4c7c70c798f1956ae7aaa5c09114fab"/><file name="totals-pbf.phtml" hash="f26e488359433c3814a1cd416006869a"/></dir></dir><file name="cart-pbf.phtml" hash="9f6b1873ed02e5e2ae1966e3e5a1910d"/></dir></dir><dir name="layout"><file name="paybyfinance.xml" hash="f541883d7e115794fcde3b0a4ac1bb3d"/></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="16d83f4f0faa449276c926d2afac75fb"/></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="7cbf54af53b5b2fe9047988444fd407c"/></dir></dir></target></contents>
25
  <compatible/>
26
  <dependencies><required><php><min>5.4.26</min><max>5.6.10</max></php></required></dependencies>
27
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>HC_PayByFinance</name>
4
+ <version>1.0.6.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.healthywebsites.co.uk/license.html">Healthy Websites</license>
7
  <channel>community</channel>
9
  <summary>Hitachi Capital Pay By Finance</summary>
10
  <description>Hitachi Capital Pay By Finance</description>
11
  <notes>Change Log:&#xD;
12
+ * HC-210 Store scope for services&#xD;
13
+ * Automatically calculate RPM from APR if not present&#xD;
14
+ * HC-225 Do not display finance widget when there are no services&#xD;
15
+ * HC-226 RTL urls for testing and simulation&#xD;
16
+ * HC-210 Enable / disable finance per store&#xD;
17
+ * HC-234 Custom test urls&#xD;
18
+ * HC-237 Text changes / phone number added&#xD;
19
+ * Missing admin template files</notes>
 
20
  <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>
21
+ <date>2015-07-22</date>
22
+ <time>08:52:36</time>
23
+ <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="b7aadc98068529d4fb08219a83b2e69b"/><dir name="Service"><dir name="Edit"><file name="Form.php" hash="19f94b6405f5ec45510022c5aff868c2"/><dir name="Tab"><file name="Form.php" hash="25e4e9295f31e62d28143d25865d0d1a"/></dir><file name="Tabs.php" hash="5af9151c310841d8dd0b6f7e8f984625"/></dir><file name="Edit.php" hash="d73f958b0abaebff8aff703f650c5a01"/><file name="Grid.php" hash="e617125bf81d1f8d243c834a878ebac8"/></dir><file name="Service.php" hash="26112ba2733a9db951addfef4e0152e8"/></dir><file name="Version.php" hash="35de8d29521a61365b49e59f8ef5a24c"/></dir><dir name="Checkout"><file name="Redirect.php" hash="30f1cf1f682abc985e872619b67a86d7"/></dir><dir name="Product"><dir name="List"><file name="Finance.php" hash="a9dd554c1c95fc4c912f71ab3ac94d2c"/></dir></dir><dir name="Sales"><dir name="Order"><file name="Totals.php" hash="1fe522dd0d6a4c890374b2602b840d3b"/></dir></dir><file name="Selector.php" hash="8552ee10289ac2a6448a31b268cf273f"/><file name="Status.php" hash="f76d4e3558d096055234a877e4a24d8f"/></dir><dir name="Helper"><file name="Cart.php" hash="b26ae9571db19b3efea4a78e841d254c"/><file name="Checkout.php" hash="2e5c242b333cda10fa0993b036b9cbf4"/><file name="Data.php" hash="ace798886b37de1e18f3890eb6151735"/><file name="Notification.php" hash="c1274345f71edbf3e11de180704aaec2"/></dir><dir name="Model"><file name="Calculator.php" hash="6298a84cc8ff849046ae6a8a5b39eb9c"/><dir name="Config"><dir name="Source"><dir name="Catalog"><dir name="Product"><file name="Finance.php" hash="68dfc0233403f61c82aa62009cdd2da7"/><file name="Type.php" hash="4494b3f46eddc7455e363281072df315"/></dir></dir><dir name="Cms"><file name="Block.php" hash="a4302b47926c40f480ea84f81420070f"/></dir><file name="Connectionmode.php" hash="c85860668569c1642d9c6d86536c9076"/><dir name="Notification"><file name="Status.php" hash="0e9792c4ea7e27e61472d60e07227c5e"/></dir><file name="Type.php" hash="ce4604dccb55c6ce450fd34d4fa8ad4d"/></dir></dir><file name="Log.php" hash="446fc48510a09b279ad725bf87b839ff"/><dir name="Mysql4"><dir name="Log"><file name="Collection.php" hash="6ebe6b95b2565601cd77f1d4db264ff4"/></dir><file name="Log.php" hash="914cb47c3274c2cce6a3913302a2d4e3"/><dir name="Service"><file name="Collection.php" hash="135b986e60187998e224b8f5b10c9ff2"/></dir><file name="Service.php" hash="3dac2e956f57c9a1467e52a0f008fefd"/></dir><file name="Observer.php" hash="42e7f70f31e7ac1c4e897b3393f75224"/><dir name="Paypal"><dir name="Api"><file name="Nvp.php" hash="5d1f7b687e2ca293ac1dc0c0425d1b8f"/></dir><dir name="Hostedpro"><file name="Request.php" hash="11ba073df9037d899eecb211c062d5f5"/></dir></dir><dir name="PaypalUk"><dir name="Api"><file name="Nvp.php" hash="49ba8cbd3145939a3d78e4964d1fe27e"/></dir></dir><dir name="Post"><file name="Abstract.php" hash="1583544fb76cd6552f733de5c320d6bd"/><file name="Custom.php" hash="f7afad244324db80af64014b51cf9b18"/><file name="Live.php" hash="8a70b4568b06fb27b29e35a35af3a160"/><file name="Simulation.php" hash="d24a30fbdd29dde34814bdaa4f134e85"/><file name="Simulationrtl.php" hash="9be1396b8e35a3a672cd51b149137592"/><file name="Test.php" hash="8183e4fcec09e963ffee39bb8f7d7c3e"/><file name="Testrtl.php" hash="affbd6a9ab4b0b6f0172c2dd63ae03fc"/><file name="Unittest.php" hash="422ed96628a703e4efedf64817edec98"/></dir><file name="Post.php" hash="c45665581817d711048d37bed0ecb67b"/><dir name="Resource"><file name="Setup.php" hash="c20cba205135fbfb01055518102b4681"/></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="Financeamount.php" hash="0ab402b6f55a4b9d13d0cafb36b6280f"/></dir><dir name="Invoice"><file name="Financeamount.php" hash="40d2be0622ac85e7776ce102b7de9e29"/></dir></dir><dir name="Quote"><file name="Financeamount.php" hash="85eba4714b45677e5e97fd8227c22a06"/><file name="Totalcost.php" hash="f7b360b6fd09029fd48c47c2be803d97"/></dir></dir><file name="Service.php" hash="5cc3d5959b8e08b11ca754da67776efd"/><file name="Session.php" hash="c2cdc285f6297ad2dc100973022ec6d4"/><file name="Sessionobserver.php" hash="07c72be99de76d41cd953c8104bceec4"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Paybyfinance"><file name="RedirectController.php" hash="8098982cfa01371e3427d0b7a8da6829"/><file name="ServiceController.php" hash="bbd7854759f5e10df8e0d1c85d42a02e"/></dir></dir><file name="CheckoutController.php" hash="e35b1ab01af610c5fd8ab24eda4ee8e2"/><file name="NotificationController.php" hash="95bd98bea5c92763d2755a3e2bc65e4b"/><file name="SelectorController.php" hash="5d440a1a0cea72787d7370679fe34e60"/><file name="SessionController.php" hash="b3756993e0d8e6e49434354c824f837e"/><file name="StatusController.php" hash="9e8681654954590f2694780f18ab0675"/></dir><dir name="etc"><file name="adminhtml.xml" hash="216df222a5f5d9fdcf29c238cfd78bd5"/><file name="config.xml" hash="48840ba078848f2bc0772d266756d99f"/><file name="system.xml" hash="32442cb0d9673ccc914d2573927caeba"/></dir><dir name="sql"><dir name="paybyfinance_setup"><dir name="html"><file name="abandoned.html" hash="424f900dbddc267f7dac72e67752df25"/><file name="accepted.html" hash="3cd819649eeb88b108cfbd87d6bb5048"/><file name="declined.html" hash="4cb2e73cbf449ced4596b6d14289a76f"/><file name="error.html" hash="4a448b052f101b2648dfe84423ad1313"/><file name="information.html" hash="b364458ba3d9ad7579fa4935e3449b46"/><file name="page-finance-options.html" hash="d9f090c84559caf2311cabced715b668"/><file name="referred.html" hash="05f0b7dedeedac26916dd8f88d7bf32c"/></dir><file name="mysql4-install-1.0.6.php" hash="bdbf0c30590dbffd266f82cb4c7af854"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="35e40e56f4eaa482cf76861bf268b9d7"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="f88bb5dae696c130c0038c05e86dfd9c"/><file name="mysql4-upgrade-1.0.3-1.0.4.php" hash="abd3f7c7e68120a6bcad82470f62db25"/><file name="mysql4-upgrade-1.0.4-1.0.5.php" hash="2cc09a77b0c36f2f0a2bdce97ba0f50d"/><file name="mysql4-upgrade-1.0.5-1.0.6.php" hash="04656ff6a19b294c8e6340dd44cce470"/></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"><dir><dir name="catalog"><dir name="product"><dir name="list"><file name="finance.phtml" hash="30f6500bc535bdf851ff6d5768e383dc"/></dir></dir></dir><dir name="sales"><dir name="order"><file name="totals.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir></dir><file name="form.phtml" hash="6f583d5629e39fe564d4b86535242c7a"/><file name="selector-no.phtml" hash="b54c570f68254a2e879464a0b761c7db"/><file name="selector.phtml" hash="e983ba67dfd1c1282f4cf0258a49797f"/><file name="status.phtml" hash="9e02cb668c470d72612bccc09e34c51a"/></dir><dir name="checkout"><dir name="cart"><file name="totals-pbf.phtml" hash="f14878e618aa3c8943f3728128aadaa6"/></dir><dir name="onepage"><dir name="review"><file name="info-pbf.phtml" hash="e4c7c70c798f1956ae7aaa5c09114fab"/><file name="totals-pbf.phtml" hash="f26e488359433c3814a1cd416006869a"/></dir></dir><file name="cart-pbf.phtml" hash="9f6b1873ed02e5e2ae1966e3e5a1910d"/></dir></dir><dir name="layout"><file name="paybyfinance.xml" hash="f541883d7e115794fcde3b0a4ac1bb3d"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="paybyfinance.xml" hash="21e409f98bd00b6de93a09610dabdbdd"/></dir><dir name="template"><dir name="paybyfinance"><file name="history.phtml" hash="31fbbbb8477717175da3de1e9fe98f54"/><file name="redirect.phtml" hash="90e7aa306768f5aac337300848c04e6a"/><file name="version.phtml" hash="09a8f416156d853ecc47b24a15744563"/></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="16d83f4f0faa449276c926d2afac75fb"/></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="7cbf54af53b5b2fe9047988444fd407c"/></dir></dir></target><target name="mageweb"><dir><dir name="js"><dir name="paybyfinance"><file name="config-edit.js" hash="81817d23afdf99d10b01072d2471ff65"/><file name="service.js" hash="c356bab3db9d2ddb60c60bd9bb3a6ab2"/></dir></dir></dir></target></contents>
24
  <compatible/>
25
  <dependencies><required><php><min>5.4.26</min><max>5.6.10</max></php></required></dependencies>
26
  </package>