Ensygnia_Onescan - Version 1.0.2

Version Notes

Version 1.0.2 of the Onescan Payment Plugin extension.

Changelog
---------------

1.0.2
Incorrect postage applied where minimum order value applies. Fixed.

Tax missing from individual items in admin sales/orders list. Fixed.

Orders not marked as paid and invoice not created in admin. Fixed.

Onescan was being listed as payment method option on the standard checkout page, resulting in orders potentially being placed with no payment being taken. If a customer uses Onescan to pay, they never get to that part of the checkout process so it makes no sense to have Onescan listed as a payment method there. This has been removed so now the only way for Onescan to be selected as a payment method is for the padlock to be scanned as intended.

1.0.1
Fixed potential installation problem.

1.0.0
Initial version.

Download this release

Release Info

Developer Ensygnia
Extension Ensygnia_Onescan
Version 1.0.2
Comparing to
See all releases


Code changes from version 1.0.1 to 1.0.2

app/code/local/Ensygnia/Onescan/Helper/Data.php CHANGED
@@ -91,44 +91,30 @@
91
  }
92
 
93
  public function getLoginCallbackUrl() {
94
- //str_replace('/OnescanLoginConfig.php','',str_replace('/index.php','',Mage::helper('core/url')->getHomeUrl())) . 'app/code/local/Ensygnia/Onescan/controllers/OnescanLoginCallback.php';
95
-
96
  return Mage::getUrl('onescan/callback/login');
97
  }
98
 
99
  public function getRegistrationCallbackUrl() {
100
- //str_replace('/OnescanRegistrationConfig.php','', str_replace('/index.php','',Mage::helper('core/url')->getHomeUrl())) . 'app/code/local/Ensygnia/Onescan/controllers/OnescanRegistrationCallback.php'
101
-
102
  return Mage::getUrl('onescan/callback/registration');
103
  }
104
 
105
  public function getPurchaseCallbackUrl() {
106
- //str_replace('/OnescanPurchaseConfig.php','',str_replace('/index.php','',Mage::helper('core/url')->getHomeUrl())) . 'app/code/local/Ensygnia/Onescan/controllers/OnescanPurchaseCallback.php'
107
-
108
  return Mage::getUrl('onescan/callback/purchase');
109
  }
110
 
111
  public function getLogoSrcUrl() {
112
- //str_replace('/index.php','',Mage::helper('core/url')->getHomeUrl()) . $this->getHelper()->getLogoSrc();
113
-
114
  return Mage::getUrl($this->getLogoSrc());
115
  }
116
 
117
  public function getLoginSuccessUrl() {
118
- //str_replace('OnescanLoginCallback.php','index.php',Mage::helper('core/url')->getHomeUrl()) .'onescan/index/loginsuccess';
119
-
120
  return Mage::getUrl('onescan/index/loginsuccess');
121
  }
122
 
123
  public function getLoginFailureUrl() {
124
- //str_replace('OnescanLoginCallback.php','index.php',Mage::helper('core/url')->getHomeUrl()) . 'onescan/index/loginfailure';
125
-
126
  return Mage::getUrl('onescan/index/loginfailure');
127
  }
128
 
129
  public function getEmailConfirmationUrl($username) {
130
- //str_replace('OnescanRegistrationCallback.php','index.php', Mage::helper('customer')->getEmailConfirmationUrl($credentials->Username));
131
-
132
  return Mage::helper('customer')->getEmailConfirmationUrl($username);
133
  }
134
 
@@ -141,20 +127,14 @@
141
  }
142
 
143
  public function getSessionFromBasketUrl() {
144
- //Mage::helper('core/url')->getHomeUrl() . 'onescan/index/createsessionfrombasket';
145
-
146
  return Mage::getUrl('onescan/index/createsessionfrombasket');
147
  }
148
 
149
  public function getLoginSessionUrl() {
150
- //Mage::helper('core/url')->getHomeUrl() . 'onescan/index/createloginsession";
151
-
152
  return Mage::getUrl('onescan/index/createloginsession');
153
  }
154
 
155
  public function getRegistrationSessionUrl() {
156
- //Mage::helper('core/url')->getHomeUrl() . 'onescan/index/createregistrationsession";
157
-
158
  return Mage::getUrl('onescan/index/createregistrationsession');
159
  }
160
  }
91
  }
92
 
93
  public function getLoginCallbackUrl() {
 
 
94
  return Mage::getUrl('onescan/callback/login');
95
  }
96
 
97
  public function getRegistrationCallbackUrl() {
 
 
98
  return Mage::getUrl('onescan/callback/registration');
99
  }
100
 
101
  public function getPurchaseCallbackUrl() {
 
 
102
  return Mage::getUrl('onescan/callback/purchase');
103
  }
104
 
105
  public function getLogoSrcUrl() {
 
 
106
  return Mage::getUrl($this->getLogoSrc());
107
  }
108
 
109
  public function getLoginSuccessUrl() {
 
 
110
  return Mage::getUrl('onescan/index/loginsuccess');
111
  }
112
 
113
  public function getLoginFailureUrl() {
 
 
114
  return Mage::getUrl('onescan/index/loginfailure');
115
  }
116
 
117
  public function getEmailConfirmationUrl($username) {
 
 
118
  return Mage::helper('customer')->getEmailConfirmationUrl($username);
119
  }
120
 
127
  }
128
 
129
  public function getSessionFromBasketUrl() {
 
 
130
  return Mage::getUrl('onescan/index/createsessionfrombasket');
131
  }
132
 
133
  public function getLoginSessionUrl() {
 
 
134
  return Mage::getUrl('onescan/index/createloginsession');
135
  }
136
 
137
  public function getRegistrationSessionUrl() {
 
 
138
  return Mage::getUrl('onescan/index/createregistrationsession');
139
  }
140
  }
app/code/local/Ensygnia/Onescan/Model/Callback/Purchase.php CHANGED
@@ -38,23 +38,28 @@
38
  switch ($nextAction)
39
  {
40
  case PurchaseAction::StartPayment:
 
41
  $purchasePayload = $this->BuildPurchasePayload($sessionState->SessionID);
42
  $purchaseProcess->ProcessStartPurchase($purchasePayload);
43
  break;
44
  case PurchaseAction::AdditionalCharges:
 
45
  $purchaseProcess->DecodeAdditionalChargesRequest($onescanMessage);
46
  $additionalChargesPayload = $this->BuildAdditionalCharges($purchaseProcess);
47
  $purchaseProcess->ProcessAdditionalCharges($additionalChargesPayload);
48
  break;
49
  case PurchaseAction::PaymentConfirmed:
 
50
  $purchaseProcess->DecodePaymentConfirmed($onescanMessage);
51
  $orderAcceptedPayload = $this->BuildOrderAccepted($purchaseProcess);
52
  $purchaseProcess->ProcessPaymentConfirmed($orderAcceptedPayload);
53
  break;
54
  case PurchaseAction::PaymentFailed:
 
55
  $purchaseProcess->ProcessPaymentFailed();
56
  break;
57
  case PurchaseAction::PaymentCancelled:
 
58
  $purchaseProcess->ProcessPaymentCancelled();
59
  break;
60
  }
@@ -105,7 +110,7 @@
105
 
106
  $purchaseCharges->PaymentMethodCharge = new PaymentMethodCharge();
107
  $purchaseCharges->PaymentMethodCharge->Code = "PLAY";
108
- $purchaseCharges->PaymentMethodCharge->Description = "The onescan play card attracts a £1 surcharge";
109
  $purchaseCharges->PaymentMethodCharge->Charge = new Charge();
110
  $purchaseCharges->PaymentMethodCharge->Charge->BaseAmount = 1.00;
111
  $purchaseCharges->PaymentMethodCharge->Charge->Tax = 0;
@@ -143,34 +148,84 @@
143
  $sessionData=$onescanData->getData();
144
  $quoteid=$sessionData[0]['quoteid'];
145
 
 
 
 
 
 
 
146
  $cart=Mage::getModel('checkout/cart')->getCheckoutSession();
147
  $cart->setQuoteId($quoteid);
148
  $quote=$cart->getQuote();
149
- $quote->getShippingAddress()->setCountryId(Mage::app()->getLocale()->getCountryTranslation(Mage::getStoreConfig('general/country/default')));
150
- $quote->getShippingAddress()->collectTotals();
151
- $quote->getShippingAddress()->setCollectShippingRates(true);
152
- $quote->getShippingAddress()->collectShippingRates();
153
- $rates = $quote->getShippingAddress()->getShippingRatesCollection();
154
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
155
  $purchaseCharges->DeliveryOptions = array();
 
156
  foreach ($rates as $rate) {
157
  $option=new DeliveryOption();
158
  $option->Code = $rate->getCode();
159
  $option->Description = $rate->getMethodDescription();
160
- if (count($purchaseCharges->DeliveryOptions)==0) {
161
  $option->IsDefault = true;
 
162
  }
163
  $option->Label = $rate->getMethodTitle();
164
- $option->Charge = new Charge();
 
165
  $option->Charge->BaseAmount = $rate->getPrice();
166
  $option->Charge->Tax = 0;
167
  $option->Charge->TotalAmount = $rate->getPrice();
168
  $purchaseCharges->DeliveryOptions[]=$option;
169
  }
170
 
171
- //Temporary fix: Save first shipping rate found
172
- //Once we can select shipping rate on device we can save the selected shipping rate.
173
- $option=$purchaseCharges->DeliveryOptions[0];
 
 
174
  $onescanModel->setId($sessionData[0]['sessiondata_id']);
175
  $onescanModel->setSessionid($process->SessionState()->SessionID);
176
  $onescanModel->setQuoteid($quoteid);
@@ -180,7 +235,7 @@
180
  $onescanModel->save();
181
  }
182
 
183
- public function BuildPurchasePayload($sessionID) {
184
  $onescanData = Mage::getModel('onescan/sessiondata')->getCollection();
185
  $onescanData->addFieldToFilter('sessionid', array('like' => $sessionID));
186
  $onescanData->load();
@@ -213,8 +268,9 @@
213
  $payload->Currency = Mage::app()->getStore($storeid)->getCurrentCurrencyCode();
214
 
215
  $payload->Requires = new PaymentOptIns();
216
- $payload->Requires->DeliveryOptions = true;
217
  $payload->Requires->Surcharges = false;
 
218
  $filename = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'frontend/' .
219
  Mage::getSingleton('core/design_package')->getPackageName() . '/' .
220
  Mage::getSingleton('core/design_package')->getTheme('frontend') . '/' .
@@ -333,32 +389,45 @@
333
  'country_id' => $country,
334
  'region_id' => 0,
335
  );
 
 
336
  $billingAddress = $quote->getBillingAddress()->addData($addressData);
337
  $shippingAddress = $quote->getShippingAddress()->addData($addressData);
338
  $shippingAddress->setCollectShippingRates(true)->collectShippingRates()
339
  ->setShippingMethod($shippingMethod)
340
  ->setPaymentMethod('onescan');
341
 
342
- $quote->getPayment()->importData(array('method' => 'onescan'));
343
-
344
  $quote->collectTotals();
345
 
 
 
 
 
 
 
 
 
 
346
  //Add postage to quote
347
- $totals['grand_total']->setValue($totals['grand_total']->getValue()+$shippingRate);
348
 
349
  $quote->setIsActive(0);
350
  $quote->save();
351
-
352
  $service = Mage::getModel('sales/service_quote', $quote);
353
  $service->submitAll();
354
  $order = $service->getOrder();
 
 
355
 
356
  if(isset($totals['tax']) && $totals['tax']->getValue()) {
357
- $order->setTaxAmount($totals['tax']->getValue());
358
- $order->setBaseTaxAmount($totals['tax']->getValue());
359
- $order->setGrandTotal($totals['grand_total']->getValue());
360
- $order->setBaseGrandTotal($totals['grand_total']->getValue());
361
  }
 
 
362
 
363
  $order->place();
364
  $order->save();
38
  switch ($nextAction)
39
  {
40
  case PurchaseAction::StartPayment:
41
+ Mage::log('Start Payment');
42
  $purchasePayload = $this->BuildPurchasePayload($sessionState->SessionID);
43
  $purchaseProcess->ProcessStartPurchase($purchasePayload);
44
  break;
45
  case PurchaseAction::AdditionalCharges:
46
+ Mage::log('Additional Charges');
47
  $purchaseProcess->DecodeAdditionalChargesRequest($onescanMessage);
48
  $additionalChargesPayload = $this->BuildAdditionalCharges($purchaseProcess);
49
  $purchaseProcess->ProcessAdditionalCharges($additionalChargesPayload);
50
  break;
51
  case PurchaseAction::PaymentConfirmed:
52
+ Mage::log('Payment Confirmed');
53
  $purchaseProcess->DecodePaymentConfirmed($onescanMessage);
54
  $orderAcceptedPayload = $this->BuildOrderAccepted($purchaseProcess);
55
  $purchaseProcess->ProcessPaymentConfirmed($orderAcceptedPayload);
56
  break;
57
  case PurchaseAction::PaymentFailed:
58
+ Mage::log('Payment Failed');
59
  $purchaseProcess->ProcessPaymentFailed();
60
  break;
61
  case PurchaseAction::PaymentCancelled:
62
+ Mage::log('Payment Cancelled');
63
  $purchaseProcess->ProcessPaymentCancelled();
64
  break;
65
  }
110
 
111
  $purchaseCharges->PaymentMethodCharge = new PaymentMethodCharge();
112
  $purchaseCharges->PaymentMethodCharge->Code = "PLAY";
113
+ $purchaseCharges->PaymentMethodCharge->Description = "The onescan play card attracts a £1 surcharge";
114
  $purchaseCharges->PaymentMethodCharge->Charge = new Charge();
115
  $purchaseCharges->PaymentMethodCharge->Charge->BaseAmount = 1.00;
116
  $purchaseCharges->PaymentMethodCharge->Charge->Tax = 0;
148
  $sessionData=$onescanData->getData();
149
  $quoteid=$sessionData[0]['quoteid'];
150
 
151
+ /*if (Mage::registry('checkout_addShipping')) {
152
+ Mage::unregister('checkout_addShipping');
153
+ return;
154
+ }
155
+ Mage::register('checkout_addShipping',true);*/
156
+
157
  $cart=Mage::getModel('checkout/cart')->getCheckoutSession();
158
  $cart->setQuoteId($quoteid);
159
  $quote=$cart->getQuote();
 
 
 
 
 
160
 
161
+ $countryCode=Mage::app()->getLocale()->getCountryTranslation(Mage::getStoreConfig('general/country/default'));
162
+ /*if ($quote->getCouponCode() != '') {
163
+ $c = Mage::getResourceModel('salesrule/rule_collection');
164
+ $c->getSelect()->where("code=?", $quote->getCouponCode());
165
+ foreach ($c->getItems() as $item) {
166
+ $coupon = $item;
167
+ }
168
+ if ($coupon->getSimpleFreeShipping() > 0) {
169
+ $quote->getShippingAddress()->setShippingMethod($this->_shippingCode)->save();
170
+ return true;
171
+ }
172
+ }*/
173
+ try {
174
+ if ($quote->getShippingAddress()->getCountryId() == '') {
175
+ $quote->getShippingAddress()->setCountryId($countryCode);
176
+ }
177
+ $quote->collectTotals();
178
+
179
+ $quote->getShippingAddress()->setCollectShippingRates(true);
180
+ $quote->getShippingAddress()->collectShippingRates();
181
+ $rates = $quote->getShippingAddress()->getShippingRatesCollection();
182
+ }
183
+ catch (Mage_Core_Exception $e) {
184
+ Mage::getSingleton('checkout/session')->addError($e->getMessage());
185
+ }
186
+ catch (Exception $e) {
187
+ Mage::getSingleton('checkout/session')->addException($e, Mage::helper('checkout')->__('Load customer quote error'));
188
+ }
189
+
190
+ $allowedRates=array();
191
+ $lowestPrice=99999;
192
+ foreach ($rates as $rate){
193
+ $rateCode=$rate->getCode();
194
+ if($quote->getShippingAddress()->collectShippingRates()->getShippingRateByCode($rateCode)){
195
+ $allowedRates[$rateCode]=$rate; //Using $rateCode as key removes duplicates
196
+ }
197
+
198
+ //Set the lowest rate as the default
199
+ if($rate->getPrice()<$lowestPrice){
200
+ $lowestPrice=$rate->getPrice();
201
+ $defaultCode=$rateCode;
202
+ }
203
+ }
204
+
205
  $purchaseCharges->DeliveryOptions = array();
206
+
207
  foreach ($rates as $rate) {
208
  $option=new DeliveryOption();
209
  $option->Code = $rate->getCode();
210
  $option->Description = $rate->getMethodDescription();
211
+ if($option->Code==$defaultCode){
212
  $option->IsDefault = true;
213
+ $defaultIndex=count($purchaseCharges->DeliveryOptions);
214
  }
215
  $option->Label = $rate->getMethodTitle();
216
+ $option->Charge = new Charge();
217
+ $amount=$rate->getPrice();
218
  $option->Charge->BaseAmount = $rate->getPrice();
219
  $option->Charge->Tax = 0;
220
  $option->Charge->TotalAmount = $rate->getPrice();
221
  $purchaseCharges->DeliveryOptions[]=$option;
222
  }
223
 
224
+ //Make sure the default rate is listed first
225
+ $option=$purchaseCharges->DeliveryOptions[$defaultIndex];
226
+ $purchaseCharges->DeliveryOptions[$defaultIndex]=$purchaseCharges->DeliveryOptions[0];
227
+ $purchaseCharges->DeliveryOptions[0]=$option;
228
+
229
  $onescanModel->setId($sessionData[0]['sessiondata_id']);
230
  $onescanModel->setSessionid($process->SessionState()->SessionID);
231
  $onescanModel->setQuoteid($quoteid);
235
  $onescanModel->save();
236
  }
237
 
238
+ public function BuildPurchasePayload($sessionID) {
239
  $onescanData = Mage::getModel('onescan/sessiondata')->getCollection();
240
  $onescanData->addFieldToFilter('sessionid', array('like' => $sessionID));
241
  $onescanData->load();
268
  $payload->Currency = Mage::app()->getStore($storeid)->getCurrentCurrencyCode();
269
 
270
  $payload->Requires = new PaymentOptIns();
271
+
272
  $payload->Requires->Surcharges = false;
273
+ $payload->Requires->DeliveryOptions=true;
274
  $filename = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'frontend/' .
275
  Mage::getSingleton('core/design_package')->getPackageName() . '/' .
276
  Mage::getSingleton('core/design_package')->getTheme('frontend') . '/' .
389
  'country_id' => $country,
390
  'region_id' => 0,
391
  );
392
+ $quote->getShippingAddress()->collectTotals();
393
+
394
  $billingAddress = $quote->getBillingAddress()->addData($addressData);
395
  $shippingAddress = $quote->getShippingAddress()->addData($addressData);
396
  $shippingAddress->setCollectShippingRates(true)->collectShippingRates()
397
  ->setShippingMethod($shippingMethod)
398
  ->setPaymentMethod('onescan');
399
 
 
 
400
  $quote->collectTotals();
401
 
402
+ $quote->getPayment()->importData(array('method' => 'onescan'));
403
+
404
+ foreach($quote->getAllItems() as $item){
405
+ $totalPrice=$item->getProduct()->getFinalPrice()*$item->getQty();
406
+ $taxAmount=$totalPrice-$item->getPrice();
407
+ $item->setTaxAmount($taxAmount);
408
+ $item->setTaxPercent(round($taxAmount*100/($totalPrice-$taxAmount),2));
409
+ }
410
+
411
  //Add postage to quote
412
+ $totals['grand_total']->setValue(round($totals['grand_total']->getValue()+$shippingRate,2,PHP_ROUND_HALF_DOWN));
413
 
414
  $quote->setIsActive(0);
415
  $quote->save();
416
+
417
  $service = Mage::getModel('sales/service_quote', $quote);
418
  $service->submitAll();
419
  $order = $service->getOrder();
420
+
421
+ //$order->setShippingMethod($shippingMethod);
422
 
423
  if(isset($totals['tax']) && $totals['tax']->getValue()) {
424
+ $order->setTaxAmount(round($totals['tax']->getValue(),2,PHP_ROUND_HALF_DOWN));
425
+ $order->setBaseTaxAmount(round($totals['tax']->getValue(),2,PHP_ROUND_HALF_DOWN));
426
+ $order->setGrandTotal(round($totals['grand_total']->getValue(),2,PHP_ROUND_HALF_DOWN));
427
+ $order->setBaseGrandTotal(round($totals['grand_total']->getValue(),2,PHP_ROUND_HALF_DOWN));
428
  }
429
+
430
+ $order->getPayment()->capture(NULL);
431
 
432
  $order->place();
433
  $order->save();
app/code/local/Ensygnia/Onescan/Model/Method/Onescan.php CHANGED
@@ -22,6 +22,9 @@ class Ensygnia_Onescan_Model_Method_Onescan extends Mage_Payment_Model_Method_Ab
22
  protected $_code = 'onescan';
23
  //protected $_formBlockType = 'payment/form_checkmo';
24
  //protected $_infoBlockType = 'payment/info_checkmo';
 
 
 
25
 
26
  /**
27
  * Assign data to info model instance
22
  protected $_code = 'onescan';
23
  //protected $_formBlockType = 'payment/form_checkmo';
24
  //protected $_infoBlockType = 'payment/info_checkmo';
25
+ protected $_canUseInternal = true;
26
+ protected $_canUseCheckout = false;
27
+ protected $_canUseForMultishipping = false;
28
 
29
  /**
30
  * Assign data to info model instance
app/code/local/Ensygnia/Onescan/etc/config.xml CHANGED
@@ -18,7 +18,7 @@
18
  <config>
19
  <modules>
20
  <Ensygnia_Onescan>
21
- <version>1.0.1</version>
22
  </Ensygnia_Onescan>
23
  </modules>
24
  <global>
18
  <config>
19
  <modules>
20
  <Ensygnia_Onescan>
21
+ <version>1.0.2</version>
22
  </Ensygnia_Onescan>
23
  </modules>
24
  <global>
app/design/frontend/base/default/layout/onescan.xml CHANGED
@@ -25,11 +25,11 @@
25
  <action method="setText" ifconfig="onescantab/general/enabled">
26
  <text>
27
  <![CDATA[
28
- <script type="text/javascript" src="http://ensygniaresources.ensygnia.net/onescan/latest/scripts/jquery-1.7.1.min.js"></script>
29
  <script type="text/javascript">
30
  $.noConflict();
31
  </script>
32
- <script type="text/javascript" src="http://ensygniaresources.ensygnia.net/onescan/latest/scripts/onescan.js"></script>
33
  ]]>
34
  </text>
35
  </action>
@@ -88,7 +88,6 @@
88
  </reference>
89
  </customer_account_create>
90
 
91
-
92
  <customer_account_login>
93
  <reference name="content">
94
  <action method="append"><block>onescan.login</block></action>
25
  <action method="setText" ifconfig="onescantab/general/enabled">
26
  <text>
27
  <![CDATA[
28
+ <script type="text/javascript" src="//ensygniaresources.ensygnia.net/onescan/latest/scripts/jquery-1.7.1.min.js"></script>
29
  <script type="text/javascript">
30
  $.noConflict();
31
  </script>
32
+ <script type="text/javascript" src="//ensygniaresources.ensygnia.net/onescan/latest/scripts/onescan.js"></script>
33
  ]]>
34
  </text>
35
  </action>
88
  </reference>
89
  </customer_account_create>
90
 
 
91
  <customer_account_login>
92
  <reference name="content">
93
  <action method="append"><block>onescan.login</block></action>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Ensygnia_Onescan</name>
4
- <version>1.0.1</version>
5
  <stability>stable</stability>
6
  <license uri="https://www.gnu.org/licenses/gpl.html">GPL</license>
7
  <channel>community</channel>
@@ -14,11 +14,29 @@ No usernames and passwords to remember, no security checks to pass, or tiresome
14
  All while improving the security of your site. And the burden of dealing with sensitive financial information is lifted. Payments are confirmed by a tokenised system: at no point do the details need to be shared.&#xD;
15
  &#xD;
16
  Thanks to Onescan, mobile phones become a secure proof of identity. Online, all customers have to do to login, register or even purchase an item is complete one simple scan. We take all the hassle out of online shopping and tear down the barriers between you and your customers.</description>
17
- <notes>Version 1 of the Ensygnia Onescan extension.</notes>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  <authors><author><name>Ensygnia</name><user>MAG002660123</user><email>paul.newson@ensygnia.com</email></author></authors>
19
- <date>2014-11-20</date>
20
- <time>15:48:43</time>
21
- <contents><target name="magelocal"><dir name="Ensygnia"><dir name="Onescan"><dir name="Block"><file name="Abstract.php" hash="4488b86743ac3cd970d52a4dc857c4d6"/><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Cta.php" hash="433c964de85d708af211461033f7a5fc"/></dir></dir></dir><file name="Basket.php" hash="438f95ad093d4b5cde252eb4a8661035"/><file name="Login.php" hash="099ce7a3c3b483e0e509357949d0056d"/><file name="Logo.php" hash="fd58bed8012207372450577b137781ea"/><file name="Register.php" hash="a3ce5e2b5d4cb627f23a6d52dc3f5db9"/><dir name="Widget"><file name="Basket.php" hash="95fad0d733885b0c4651d7e41bc0039c"/><file name="Login.php" hash="225660cace8fc351da454b49d887e124"/><file name="Register.php" hash="89a1492f818fc787cdde4f1adc29702b"/></dir></dir><dir name="Helper"><file name="Data.php" hash="3fcf293e50ba489a07fadb6454f77c81"/></dir><dir name="Model"><dir name="Callback"><file name="Abstract.php" hash="31b73999f34ffd0f7e539d9ed6499cce"/><file name="Login.php" hash="94f1d610a7c56a95e10694b58e84de31"/><file name="Purchase.php" hash="e055b00e0eb17543700e49e6743a72f6"/><file name="Registration.php" hash="24fed90927c3a6b72c1503c2e94bce67"/></dir><dir name="Config"><file name="Abstract.php" hash="9e407f490c53651e5fe6b19c92cb5c1a"/><file name="Login.php" hash="6fbec423b7b3c6d72fa6e3b519163cd8"/><file name="Purchase.php" hash="0bd21ab4d83b48a31aa9003b473ed6db"/><file name="Registration.php" hash="4c39c0ee7690abc16c0519d3c950c5cb"/></dir><file name="Logintokens.php" hash="1a61be2e17f8ef9562cc205d525a473c"/><dir name="Method"><file name="Onescan.php" hash="1fe0e5435e3e8d5a04782f16df98a33a"/></dir><dir name="Resource"><dir name="Logintokens"><file name="Collection.php" hash="3767dcf1cbe12088186664ef7d1be309"/></dir><file name="Logintokens.php" hash="4f0fd6b83ee508a382a442641a357e31"/><dir name="Sessiondata"><file name="Collection.php" hash="0b62795cd0f7f7b6dba3ecf07599a9f6"/></dir><file name="Sessiondata.php" hash="48c60528f7accbf52da25030a7681fc0"/><file name="Setup.php" hash="e09e39a39405ebd80af368fefa013839"/></dir><file name="Sessiondata.php" hash="f5f6c2f7ea7fc3c6f033d5a5ff3b1666"/></dir><dir name="controllers"><file name="CallbackController.php" hash="dbbaebed3d7f7aa4e1431d22e2f6a541"/><file name="IndexController.php" hash="37d200f846305bed89a853d41e8f2c55"/></dir><dir name="etc"><file name="adminhtml.xml" hash="87b27e9403e9d38cf849a8516d83c7e5"/><file name="config.xml" hash="590d679dc8528962bd739caf58a86b21"/><file name="system.xml" hash="55ace4f8c5d677fd6a3531f6ad38d775"/><file name="widget.xml" hash="5c078e20e1698f285b3ad987477a0242"/></dir><file name="license.txt" hash="f075d971a6aa12e3ae52489ef961a7f5"/><dir name="sql"><dir name="onescan_setup"><file name="install-1.0.0.php" hash="5e0c3bc48f935bf61b98bfc245585df8"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="onescan.xml" hash="ab939992eeda414f4aa3d265b49cddf3"/></dir><dir name="template"><dir name="onescan"><dir name="system"><dir name="config"><file name="cta.phtml" hash="c99b3ce3333dbff286f2156a031f5401"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="onescan.xml" hash="8a4318fa042a7897077647c467c0e7df"/></dir><dir name="template"><dir name="onescan"><file name="basket.phtml" hash="c6b51ae4a94fdaef74d8c49ef128ceab"/><file name="login.phtml" hash="06e2ba3a1101b46050a65553cf5b2758"/><file name="logo.phtml" hash="29e5cb387d8e2aaf676040a2c25b9596"/><file name="register.phtml" hash="17749f596a966ec18933d0c779b8b56b"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Ensygnia_Onescan.xml" hash="faca8dc3692eb6fefbf410506dd5f905"/></dir></target><target name="magelib"><dir name="Onescan"><dir name="core"><file name="onescan-Exceptions.php" hash="1733a8f40cdc6fbb7a2c77890f0fd197"/><file name="onescan-GUID.php" hash="732799426a921038f30f1485f5cd7264"/><file name="onescan-HMAC.php" hash="797d68c8879ee9574dcb06770947d19b"/><file name="onescan-HTTPClient.php" hash="59eee1d07c3796ad24126c0c85b35086"/><file name="onescan-Login.php" hash="deaf58a3c6c9bc30a0acc4f10d64ade0"/><file name="onescan-Message.php" hash="f978243be9032897fcf1a288a23ce837"/><file name="onescan-Onescan.php" hash="93120300b4add29f3cd44709d8cc32d6"/><file name="onescan-Process.php" hash="86d8ccd62a5261d86ae7c35a099b5c1f"/><file name="onescan-Session.php" hash="a365d6c0fc9d41f603e88384b0c15fea"/><file name="onescan-SessionState.php" hash="a0b3b8d6d8d433551340ede175d094cc"/><file name="onescan-Settings.php" hash="2c62dcbb810b2d1d02f5773db9184408"/></dir><dir name="login"><file name="LocalDataFactory.php" hash="a49582171443ca73b292317e2128e9ac"/><file name="onescan-LoginProcess.php" hash="c3552a34b51e879c535d7b67d541e0fd"/></dir><dir name="purchase"><file name="onescan-AdditionalChargesPayload.php" hash="cb1f2d49d560e1b46b866dffda932111"/><file name="onescan-CardInformation.php" hash="6c2fd7227533dfe986d93bd8bfeb4c1e"/><file name="onescan-CardType.php" hash="8e7765420c6a0de517949393b7360818"/><file name="onescan-Charge.php" hash="285cc0b1f0708f3a3dbc503447b7c0bd"/><file name="onescan-ConfirmPaymentPayload.php" hash="7eda3538cd471c41976732d462a2d84e"/><file name="onescan-CorePurchaseInfo.php" hash="08d943667c901189edaf8dc22406b7d8"/><file name="onescan-DeliveryOption.php" hash="8580b35f993b668c153b6488a9572bd4"/><file name="onescan-OrderAcceptedPayload.php" hash="c007ac8a0a78e51f516f9456d47c0129"/><file name="onescan-OrderDeclinedPayload.php" hash="1cfd9499b9cb167435a33766a5822909"/><file name="onescan-PaymentMethodCharge.php" hash="35f576d4ba1965a5ffc1155d28ba2ceb"/><file name="onescan-PaymentMethodInformation.php" hash="9c332bf6aa9395ec484a13a771101f94"/><file name="onescan-PaymentMethodType.php" hash="df5296173d5a34e55a425810072192dd"/><file name="onescan-PaymentOptins.php" hash="da07521ee0d52657a776ea8ecb705ac0"/><file name="onescan-PurchaseAction.php" hash="ca494c86fe5548b93ba2876a4e3b7aad"/><file name="onescan-PurchaseCharges.php" hash="1b67b353045ea1f93a7b18d2c1940b94"/><file name="onescan-PurchaseContextPayload.php" hash="0bdf109a37bd5104660d13ee3ea42d42"/><file name="onescan-PurchaseInclude.php" hash="a52385a7ceb5f056367a40eaff2a2d32"/><file name="onescan-PurchasePayload.php" hash="0970da6cfc0907c268218501d24f08d1"/><file name="onescan-PurchaseProcess.php" hash="1e9046c659315532197c05d8259d6686"/><file name="onescan-PurchaseSettings.php" hash="f3c3d6776d5da8a616eb417a9728fe61"/><file name="onescan-UserAddress.php" hash="4e1ec23d74d6f192a1edb31f3e3c9c8e"/></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="onescan"><dir name="css"><file name="onescan.css" hash="1f758b313e54a8782fcc96e34423caf5"/></dir><dir name="images"><file name="Thumbs.db" hash="b549b3ffcbba28977308023c089a780a"/><file name="logo-sml.png" hash="af6d80c8d752b68ffff5d2cedd60319f"/><file name="logo.png" hash="ad10933575eaa2f9e379c0aad2ac038e"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="onescan.css" hash="c649f4ebbe1ccb865f3582e04b842c34"/></dir><dir name="images"><file name="logo.png" hash="658a845e0e5d71fb94c072680a42c74b"/></dir><dir name="js"><file name="onescan.js" hash="6b0f1194e2bf2c0a1e461f2babf74955"/></dir></dir></dir></dir></target></contents>
22
  <compatible/>
23
  <dependencies><required><php><min>5.2.13</min><max>5.6.1</max></php><package><name>Mage_Core_Modules</name><channel>community</channel><min>1.7.0.0</min><max>1.9.0.1</max></package></required></dependencies>
24
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Ensygnia_Onescan</name>
4
+ <version>1.0.2</version>
5
  <stability>stable</stability>
6
  <license uri="https://www.gnu.org/licenses/gpl.html">GPL</license>
7
  <channel>community</channel>
14
  All while improving the security of your site. And the burden of dealing with sensitive financial information is lifted. Payments are confirmed by a tokenised system: at no point do the details need to be shared.&#xD;
15
  &#xD;
16
  Thanks to Onescan, mobile phones become a secure proof of identity. Online, all customers have to do to login, register or even purchase an item is complete one simple scan. We take all the hassle out of online shopping and tear down the barriers between you and your customers.</description>
17
+ <notes>Version 1.0.2 of the Onescan Payment Plugin extension.&#xD;
18
+ &#xD;
19
+ Changelog&#xD;
20
+ ---------------&#xD;
21
+ &#xD;
22
+ 1.0.2&#xD;
23
+ Incorrect postage applied where minimum order value applies. Fixed.&#xD;
24
+ &#xD;
25
+ Tax missing from individual items in admin sales/orders list. Fixed.&#xD;
26
+ &#xD;
27
+ Orders not marked as paid and invoice not created in admin. Fixed.&#xD;
28
+ &#xD;
29
+ Onescan was being listed as payment method option on the standard checkout page, resulting in orders potentially being placed with no payment being taken. If a customer uses Onescan to pay, they never get to that part of the checkout process so it makes no sense to have Onescan listed as a payment method there. This has been removed so now the only way for Onescan to be selected as a payment method is for the padlock to be scanned as intended.&#xD;
30
+ &#xD;
31
+ 1.0.1&#xD;
32
+ Fixed potential installation problem.&#xD;
33
+ &#xD;
34
+ 1.0.0&#xD;
35
+ Initial version.</notes>
36
  <authors><author><name>Ensygnia</name><user>MAG002660123</user><email>paul.newson@ensygnia.com</email></author></authors>
37
+ <date>2015-03-04</date>
38
+ <time>12:34:58</time>
39
+ <contents><target name="magelocal"><dir name="Ensygnia"><dir name="Onescan"><dir name="Block"><file name="Abstract.php" hash="4488b86743ac3cd970d52a4dc857c4d6"/><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Cta.php" hash="433c964de85d708af211461033f7a5fc"/></dir></dir></dir><file name="Basket.php" hash="438f95ad093d4b5cde252eb4a8661035"/><file name="Login.php" hash="099ce7a3c3b483e0e509357949d0056d"/><file name="Logo.php" hash="fd58bed8012207372450577b137781ea"/><file name="Register.php" hash="a3ce5e2b5d4cb627f23a6d52dc3f5db9"/><dir name="Widget"><file name="Basket.php" hash="95fad0d733885b0c4651d7e41bc0039c"/><file name="Login.php" hash="225660cace8fc351da454b49d887e124"/><file name="Register.php" hash="89a1492f818fc787cdde4f1adc29702b"/></dir></dir><dir name="Helper"><file name="Data.php" hash="e5aa3575cebf0069bbf702bde3cc2625"/></dir><dir name="Model"><dir name="Callback"><file name="Abstract.php" hash="31b73999f34ffd0f7e539d9ed6499cce"/><file name="Login.php" hash="94f1d610a7c56a95e10694b58e84de31"/><file name="Purchase.php" hash="ba099bb96388774ff676edd34bb56c3f"/><file name="Registration.php" hash="24fed90927c3a6b72c1503c2e94bce67"/></dir><dir name="Config"><file name="Abstract.php" hash="9e407f490c53651e5fe6b19c92cb5c1a"/><file name="Login.php" hash="6fbec423b7b3c6d72fa6e3b519163cd8"/><file name="Purchase.php" hash="0bd21ab4d83b48a31aa9003b473ed6db"/><file name="Registration.php" hash="4c39c0ee7690abc16c0519d3c950c5cb"/></dir><file name="Logintokens.php" hash="1a61be2e17f8ef9562cc205d525a473c"/><dir name="Method"><file name="Onescan.php" hash="9700daf18892390d3c6c73d1ad9349a9"/></dir><dir name="Resource"><dir name="Logintokens"><file name="Collection.php" hash="3767dcf1cbe12088186664ef7d1be309"/></dir><file name="Logintokens.php" hash="4f0fd6b83ee508a382a442641a357e31"/><dir name="Sessiondata"><file name="Collection.php" hash="0b62795cd0f7f7b6dba3ecf07599a9f6"/></dir><file name="Sessiondata.php" hash="48c60528f7accbf52da25030a7681fc0"/><file name="Setup.php" hash="e09e39a39405ebd80af368fefa013839"/></dir><file name="Sessiondata.php" hash="f5f6c2f7ea7fc3c6f033d5a5ff3b1666"/></dir><dir name="controllers"><file name="CallbackController.php" hash="dbbaebed3d7f7aa4e1431d22e2f6a541"/><file name="IndexController.php" hash="37d200f846305bed89a853d41e8f2c55"/></dir><dir name="etc"><file name="adminhtml.xml" hash="87b27e9403e9d38cf849a8516d83c7e5"/><file name="config.xml" hash="36ca2359ac9e5b7d753e3f331faacbc1"/><file name="system.xml" hash="55ace4f8c5d677fd6a3531f6ad38d775"/><file name="widget.xml" hash="5c078e20e1698f285b3ad987477a0242"/></dir><file name="license.txt" hash="f075d971a6aa12e3ae52489ef961a7f5"/><dir name="sql"><dir name="onescan_setup"><file name="install-1.0.0.php" hash="5e0c3bc48f935bf61b98bfc245585df8"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="onescan.xml" hash="ab939992eeda414f4aa3d265b49cddf3"/></dir><dir name="template"><dir name="onescan"><dir name="system"><dir name="config"><file name="cta.phtml" hash="c99b3ce3333dbff286f2156a031f5401"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="onescan.xml" hash="0f3e29adb81c7d3434ee0970abf01cf0"/></dir><dir name="template"><dir name="onescan"><file name="basket.phtml" hash="c6b51ae4a94fdaef74d8c49ef128ceab"/><file name="login.phtml" hash="06e2ba3a1101b46050a65553cf5b2758"/><file name="logo.phtml" hash="29e5cb387d8e2aaf676040a2c25b9596"/><file name="register.phtml" hash="17749f596a966ec18933d0c779b8b56b"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Ensygnia_Onescan.xml" hash="faca8dc3692eb6fefbf410506dd5f905"/></dir></target><target name="magelib"><dir name="Onescan"><dir name="core"><file name="onescan-Exceptions.php" hash="1733a8f40cdc6fbb7a2c77890f0fd197"/><file name="onescan-GUID.php" hash="732799426a921038f30f1485f5cd7264"/><file name="onescan-HMAC.php" hash="797d68c8879ee9574dcb06770947d19b"/><file name="onescan-HTTPClient.php" hash="59eee1d07c3796ad24126c0c85b35086"/><file name="onescan-Login.php" hash="deaf58a3c6c9bc30a0acc4f10d64ade0"/><file name="onescan-Message.php" hash="f978243be9032897fcf1a288a23ce837"/><file name="onescan-Onescan.php" hash="93120300b4add29f3cd44709d8cc32d6"/><file name="onescan-Process.php" hash="86d8ccd62a5261d86ae7c35a099b5c1f"/><file name="onescan-Session.php" hash="a365d6c0fc9d41f603e88384b0c15fea"/><file name="onescan-SessionState.php" hash="a0b3b8d6d8d433551340ede175d094cc"/><file name="onescan-Settings.php" hash="2c62dcbb810b2d1d02f5773db9184408"/></dir><dir name="login"><file name="LocalDataFactory.php" hash="a49582171443ca73b292317e2128e9ac"/><file name="onescan-LoginProcess.php" hash="c3552a34b51e879c535d7b67d541e0fd"/></dir><dir name="purchase"><file name="onescan-AdditionalChargesPayload.php" hash="cb1f2d49d560e1b46b866dffda932111"/><file name="onescan-CardInformation.php" hash="6c2fd7227533dfe986d93bd8bfeb4c1e"/><file name="onescan-CardType.php" hash="8e7765420c6a0de517949393b7360818"/><file name="onescan-Charge.php" hash="285cc0b1f0708f3a3dbc503447b7c0bd"/><file name="onescan-ConfirmPaymentPayload.php" hash="7eda3538cd471c41976732d462a2d84e"/><file name="onescan-CorePurchaseInfo.php" hash="08d943667c901189edaf8dc22406b7d8"/><file name="onescan-DeliveryOption.php" hash="8580b35f993b668c153b6488a9572bd4"/><file name="onescan-OrderAcceptedPayload.php" hash="c007ac8a0a78e51f516f9456d47c0129"/><file name="onescan-OrderDeclinedPayload.php" hash="1cfd9499b9cb167435a33766a5822909"/><file name="onescan-PaymentMethodCharge.php" hash="35f576d4ba1965a5ffc1155d28ba2ceb"/><file name="onescan-PaymentMethodInformation.php" hash="9c332bf6aa9395ec484a13a771101f94"/><file name="onescan-PaymentMethodType.php" hash="df5296173d5a34e55a425810072192dd"/><file name="onescan-PaymentOptins.php" hash="da07521ee0d52657a776ea8ecb705ac0"/><file name="onescan-PurchaseAction.php" hash="ca494c86fe5548b93ba2876a4e3b7aad"/><file name="onescan-PurchaseCharges.php" hash="1b67b353045ea1f93a7b18d2c1940b94"/><file name="onescan-PurchaseContextPayload.php" hash="0bdf109a37bd5104660d13ee3ea42d42"/><file name="onescan-PurchaseInclude.php" hash="a52385a7ceb5f056367a40eaff2a2d32"/><file name="onescan-PurchasePayload.php" hash="0970da6cfc0907c268218501d24f08d1"/><file name="onescan-PurchaseProcess.php" hash="1e9046c659315532197c05d8259d6686"/><file name="onescan-PurchaseSettings.php" hash="f3c3d6776d5da8a616eb417a9728fe61"/><file name="onescan-UserAddress.php" hash="4e1ec23d74d6f192a1edb31f3e3c9c8e"/></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="onescan"><dir name="css"><file name="onescan.css" hash="1f758b313e54a8782fcc96e34423caf5"/></dir><dir name="images"><file name="Thumbs.db" hash="b549b3ffcbba28977308023c089a780a"/><file name="logo-sml.png" hash="af6d80c8d752b68ffff5d2cedd60319f"/><file name="logo.png" hash="ad10933575eaa2f9e379c0aad2ac038e"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="onescan.css" hash="c649f4ebbe1ccb865f3582e04b842c34"/></dir><dir name="images"><file name="logo.png" hash="658a845e0e5d71fb94c072680a42c74b"/></dir><dir name="js"><file name="onescan.js" hash="6b0f1194e2bf2c0a1e461f2babf74955"/></dir></dir></dir></dir></target></contents>
40
  <compatible/>
41
  <dependencies><required><php><min>5.2.13</min><max>5.6.1</max></php><package><name>Mage_Core_Modules</name><channel>community</channel><min>1.7.0.0</min><max>1.9.0.1</max></package></required></dependencies>
42
  </package>