Payline - Version 1.8.0.1

Version Notes

Plusieurs corrections de bugs mineurs & Amélioration de la sécurité du module.
Compatibilité Magento 1.9.*

Download this release

Release Info

Developer Payline
Extension Payline
Version 1.8.0.1
Comparing to
See all releases


Code changes from version 1.7.9.0 to 1.8.0.1

Files changed (155) hide show
  1. app/code/community/Monext/Payline/Block/Cpt.php +7 -7
  2. app/code/community/Monext/Payline/Block/Direct.php +1 -1
  3. app/code/community/Monext/Payline/Block/Info/Direct.php +24 -4
  4. app/code/community/Monext/Payline/Block/Nx.php +1 -1
  5. app/code/community/Monext/Payline/Block/Wallet/Details.php +14 -9
  6. app/code/community/Monext/Payline/Block/Wallet/Infos.php +1 -1
  7. app/code/community/Monext/Payline/Helper/Data.php +1 -2
  8. app/code/community/Monext/Payline/Helper/Payment.php +235 -0
  9. app/code/community/Monext/Payline/Model/Direct.php +221 -24
  10. app/code/community/Monext/Payline/Model/Observer.php +10 -0
  11. app/code/community/Monext/Payline/Model/Wallet.php +10 -1
  12. app/code/community/Monext/Payline/PaylinePHPKit/lib/paylineSDK.php +1 -1
  13. app/code/community/Monext/Payline/PaylinePHPKit/logs/2014-04-12.log +0 -66
  14. app/code/community/Monext/Payline/PaylinePHPKit/logs/2014-04-13.log +0 -8
  15. app/code/community/Monext/Payline/PaylinePHPKit/logs/2014-04-15.log +0 -82
  16. app/code/community/Monext/Payline/PaylinePHPKit/logs/2014-04-22.log +0 -46
  17. app/code/community/Monext/Payline/controllers/IndexController.php +14 -307
  18. app/code/community/Monext/Payline/etc/config.xml +10 -1
  19. app/design/adminhtml/{default → base}/default/layout/payline.xml +0 -0
  20. app/design/adminhtml/base/default/template/payline/Cpt.phtml +1 -0
  21. app/design/adminhtml/base/default/template/payline/Direct.phtml +1 -0
  22. app/design/adminhtml/base/default/template/payline/Payline.phtml +1 -0
  23. app/design/adminhtml/{default → base}/default/template/payline/contracts.phtml +0 -0
  24. app/design/adminhtml/{default → base}/default/template/payline/customer/tab/view.phtml +0 -0
  25. app/design/adminhtml/{default → base}/default/template/payline/payment/info/monext.phtml +1 -1
  26. app/design/adminhtml/{default → base}/default/template/payline/switcher.phtml +0 -0
  27. app/design/adminhtml/base/default/template/payline/wallet/form.phtml +1 -0
  28. app/design/frontend/{default → base}/default/layout/payline.xml +0 -0
  29. app/design/frontend/{default → base}/default/template/payline/Cpt.phtml +2 -0
  30. app/design/frontend/{default → base}/default/template/payline/Direct.phtml +1 -1
  31. app/design/frontend/{default → base}/default/template/payline/Payline.phtml +0 -0
  32. app/design/frontend/{default → base}/default/template/payline/checkout/onepage.phtml +0 -0
  33. app/design/frontend/base/default/template/payline/checkout/onepage/addjs.phtml +66 -0
  34. app/design/frontend/{default → base}/default/template/payline/checkout/onepage/info/default.phtml +2 -1
  35. app/design/frontend/{default → base}/default/template/payline/checkout/onepage/payment/methods.phtml +0 -0
  36. app/design/frontend/{default → base}/default/template/payline/checkout/onepage/shipping-method.phtml +0 -0
  37. app/design/frontend/{default → base}/default/template/payline/checkout/total.phtml +0 -0
  38. app/design/frontend/{default → base}/default/template/payline/iframe.phtml +0 -0
  39. app/design/frontend/{default → base}/default/template/payline/iframeleaver.phtml +0 -0
  40. app/design/frontend/base/default/template/payline/logo.phtml +5 -0
  41. app/design/frontend/{default → base}/default/template/payline/page/empty.phtml +0 -0
  42. app/design/frontend/{default → base}/default/template/payline/payment/info/monext.phtml +1 -1
  43. app/design/frontend/{default → base}/default/template/payline/wallet/checkoutbtn.phtml +0 -0
  44. app/design/frontend/{default → base}/default/template/payline/wallet/details.phtml +1 -0
  45. app/design/frontend/{default → base}/default/template/payline/wallet/form.phtml +0 -0
  46. app/design/frontend/{default → base}/default/template/payline/wallet/manage.phtml +0 -0
  47. app/design/frontend/{default → base}/default/template/payline/wallet/sidebar.phtml +0 -0
  48. app/design/frontend/{default → base}/default/template/payline/wallet/sidebar/form.phtml +0 -0
  49. app/design/frontend/{default → base}/default/template/payline/wallet/sidebar/notlogged.phtml +0 -0
  50. app/design/frontend/{default → base}/default/template/payline/wallet/subscribe.phtml +0 -0
  51. app/design/frontend/{default → base}/default/template/payline/wallet/update.phtml +0 -0
  52. app/design/frontend/default/default/template/payline/checkout/onepage/addjs.phtml +0 -30
  53. app/design/frontend/default/default/template/payline/logo.phtml +0 -5
  54. app/locale/en_US/Monext_Payline.csv +2 -1
  55. app/locale/fr_FR/Monext_Payline.csv +2 -0
  56. package.xml +6 -5
  57. skin/frontend/{default → base}/default/css/payline.css +8 -1
  58. skin/frontend/base/default/images/monext/ae.gif +0 -0
  59. skin/frontend/base/default/images/monext/amex.gif +0 -0
  60. skin/frontend/{default/default/images → base/default/images/monext}/cb.gif +0 -0
  61. skin/frontend/{default/default/images → base/default/images/monext}/mastercard.gif +0 -0
  62. skin/frontend/{default/default/images → base/default/images/monext}/mc.gif +0 -0
  63. skin/frontend/base/default/images/monext/mcvisa.gif +0 -0
  64. skin/frontend/base/default/images/monext/payline-logo.png +0 -0
  65. skin/frontend/base/default/images/monext/payline_moyens_paiement/1euro.png +0 -0
  66. skin/frontend/base/default/images/monext/payline_moyens_paiement/3xcb.png +0 -0
  67. skin/frontend/base/default/images/monext/payline_moyens_paiement/amex.png +0 -0
  68. skin/frontend/base/default/images/monext/payline_moyens_paiement/amexoneclick.png +0 -0
  69. skin/frontend/base/default/images/monext/payline_moyens_paiement/aurore.png +0 -0
  70. skin/frontend/base/default/images/monext/payline_moyens_paiement/buyster.png +0 -0
  71. skin/frontend/base/default/images/monext/payline_moyens_paiement/casino.png +0 -0
  72. skin/frontend/base/default/images/monext/payline_moyens_paiement/cb.png +0 -0
  73. skin/frontend/base/default/images/monext/payline_moyens_paiement/cofinoga.png +0 -0
  74. skin/frontend/base/default/images/monext/payline_moyens_paiement/cyrillus.png +0 -0
  75. skin/frontend/base/default/images/monext/payline_moyens_paiement/default.png +0 -0
  76. skin/frontend/base/default/images/monext/payline_moyens_paiement/diners.png +0 -0
  77. skin/frontend/base/default/images/monext/payline_moyens_paiement/elv.png +0 -0
  78. skin/frontend/base/default/images/monext/payline_moyens_paiement/fnac.png +0 -0
  79. skin/frontend/base/default/images/monext/payline_moyens_paiement/ideal.png +0 -0
  80. skin/frontend/base/default/images/monext/payline_moyens_paiement/internetplus.png +0 -0
  81. skin/frontend/base/default/images/monext/payline_moyens_paiement/jcb.png +0 -0
  82. skin/frontend/base/default/images/monext/payline_moyens_paiement/kangourou.png +0 -0
  83. skin/frontend/base/default/images/monext/payline_moyens_paiement/leetchi.png +0 -0
  84. skin/frontend/base/default/images/monext/payline_moyens_paiement/maestro.png +0 -0
  85. skin/frontend/base/default/images/monext/payline_moyens_paiement/mandarine.png +0 -0
  86. skin/frontend/base/default/images/monext/payline_moyens_paiement/mastercard.png +0 -0
  87. skin/frontend/base/default/images/monext/payline_moyens_paiement/maxicheque.png +0 -0
  88. skin/frontend/base/default/images/monext/payline_moyens_paiement/mcvisa.png +0 -0
  89. skin/frontend/base/default/images/monext/payline_moyens_paiement/moneo.png +0 -0
  90. skin/frontend/base/default/images/monext/payline_moyens_paiement/neosurf.png +0 -0
  91. skin/frontend/base/default/images/monext/payline_moyens_paiement/okshopping.png +0 -0
  92. skin/frontend/base/default/images/monext/payline_moyens_paiement/pass.png +0 -0
  93. skin/frontend/base/default/images/monext/payline_moyens_paiement/passvisa.png +0 -0
  94. skin/frontend/base/default/images/monext/payline_moyens_paiement/payfair.png +0 -0
  95. skin/frontend/base/default/images/monext/payline_moyens_paiement/paypal.png +0 -0
  96. skin/frontend/base/default/images/monext/payline_moyens_paiement/paysafecard.png +0 -0
  97. skin/frontend/base/default/images/monext/payline_moyens_paiement/printemps.png +0 -0
  98. skin/frontend/base/default/images/monext/payline_moyens_paiement/privilege.png +0 -0
  99. skin/frontend/base/default/images/monext/payline_moyens_paiement/skrill.png +0 -0
  100. skin/frontend/base/default/images/monext/payline_moyens_paiement/sofinco.png +0 -0
  101. skin/frontend/base/default/images/monext/payline_moyens_paiement/surcouf.png +0 -0
  102. skin/frontend/base/default/images/monext/payline_moyens_paiement/switch.png +0 -0
  103. skin/frontend/base/default/images/monext/payline_moyens_paiement/ticketpremium.png +0 -0
  104. skin/frontend/base/default/images/monext/payline_moyens_paiement/ticketsurf.png +0 -0
  105. skin/frontend/base/default/images/monext/payline_moyens_paiement/visa.png +0 -0
  106. skin/frontend/base/default/images/monext/payline_moyens_paiement/wexpay.png +0 -0
  107. skin/frontend/base/default/images/monext/vi.gif +0 -0
  108. skin/frontend/base/default/images/monext/visa.gif +0 -0
  109. skin/frontend/default/default/images/ae.gif +0 -0
  110. skin/frontend/default/default/images/amex.gif +0 -0
  111. skin/frontend/default/default/images/payline-logo.png +0 -0
  112. skin/frontend/default/default/images/payline_moyens_paiement/1euro.png +0 -0
  113. skin/frontend/default/default/images/payline_moyens_paiement/3xcb.png +0 -0
  114. skin/frontend/default/default/images/payline_moyens_paiement/amex.png +0 -0
  115. skin/frontend/default/default/images/payline_moyens_paiement/amexoneclick.png +0 -0
  116. skin/frontend/default/default/images/payline_moyens_paiement/aurore.png +0 -0
  117. skin/frontend/default/default/images/payline_moyens_paiement/buyster.png +0 -0
  118. skin/frontend/default/default/images/payline_moyens_paiement/casino.png +0 -0
  119. skin/frontend/default/default/images/payline_moyens_paiement/cb.png +0 -0
  120. skin/frontend/default/default/images/payline_moyens_paiement/cofinoga.png +0 -0
  121. skin/frontend/default/default/images/payline_moyens_paiement/cyrillus.png +0 -0
  122. skin/frontend/default/default/images/payline_moyens_paiement/default.png +0 -0
  123. skin/frontend/default/default/images/payline_moyens_paiement/diners.png +0 -0
  124. skin/frontend/default/default/images/payline_moyens_paiement/elv.png +0 -0
  125. skin/frontend/default/default/images/payline_moyens_paiement/fnac.png +0 -0
  126. skin/frontend/default/default/images/payline_moyens_paiement/ideal.png +0 -0
  127. skin/frontend/default/default/images/payline_moyens_paiement/internetplus.png +0 -0
  128. skin/frontend/default/default/images/payline_moyens_paiement/jcb.png +0 -0
  129. skin/frontend/default/default/images/payline_moyens_paiement/kangourou.png +0 -0
  130. skin/frontend/default/default/images/payline_moyens_paiement/leetchi.png +0 -0
  131. skin/frontend/default/default/images/payline_moyens_paiement/maestro.png +0 -0
  132. skin/frontend/default/default/images/payline_moyens_paiement/mandarine.png +0 -0
  133. skin/frontend/default/default/images/payline_moyens_paiement/mastercard.png +0 -0
  134. skin/frontend/default/default/images/payline_moyens_paiement/maxicheque.png +0 -0
  135. skin/frontend/default/default/images/payline_moyens_paiement/mcvisa.png +0 -0
  136. skin/frontend/default/default/images/payline_moyens_paiement/moneo.png +0 -0
  137. skin/frontend/default/default/images/payline_moyens_paiement/neosurf.png +0 -0
  138. skin/frontend/default/default/images/payline_moyens_paiement/okshopping.png +0 -0
  139. skin/frontend/default/default/images/payline_moyens_paiement/pass.png +0 -0
  140. skin/frontend/default/default/images/payline_moyens_paiement/passvisa.png +0 -0
  141. skin/frontend/default/default/images/payline_moyens_paiement/payfair.png +0 -0
  142. skin/frontend/default/default/images/payline_moyens_paiement/paypal.png +0 -0
  143. skin/frontend/default/default/images/payline_moyens_paiement/paysafecard.png +0 -0
  144. skin/frontend/default/default/images/payline_moyens_paiement/printemps.png +0 -0
  145. skin/frontend/default/default/images/payline_moyens_paiement/privilege.png +0 -0
  146. skin/frontend/default/default/images/payline_moyens_paiement/skrill.png +0 -0
  147. skin/frontend/default/default/images/payline_moyens_paiement/sofinco.png +0 -0
  148. skin/frontend/default/default/images/payline_moyens_paiement/surcouf.png +0 -0
  149. skin/frontend/default/default/images/payline_moyens_paiement/switch.png +0 -0
  150. skin/frontend/default/default/images/payline_moyens_paiement/ticketpremium.png +0 -0
  151. skin/frontend/default/default/images/payline_moyens_paiement/ticketsurf.png +0 -0
  152. skin/frontend/default/default/images/payline_moyens_paiement/visa.png +0 -0
  153. skin/frontend/default/default/images/payline_moyens_paiement/wexpay.png +0 -0
  154. skin/frontend/default/default/images/vi.gif +0 -0
  155. skin/frontend/default/default/images/visa.gif +0 -0
app/code/community/Monext/Payline/Block/Cpt.php CHANGED
@@ -16,7 +16,7 @@ class Monext_Payline_Block_Cpt extends Mage_Payment_Block_Form
16
  $this->setTemplate('payline/Cpt.phtml');
17
  $redirectMsg = Mage::getStoreConfig('payment/PaylineCPT/redirect_message');
18
  $this->setRedirectMessage($redirectMsg);
19
- $this->setBannerSrc($this->getSkinUrl('images/payline-logo.png'));
20
  }
21
 
22
  /**
@@ -84,17 +84,17 @@ class Monext_Payline_Block_Cpt extends Mage_Payment_Block_Form
84
  case '1EURO.COM' :
85
  case 'WEXPAY' :
86
  case '3XCB' :
87
- return $this->getSkinUrl('images/payline_moyens_paiement/' . strtolower($cardType) . '.png');
88
  case 'CBPASS' :
89
- return $this->getSkinUrl('images/payline_moyens_paiement/passvisa.png');
90
  case 'INTERNET+' :
91
- return $this->getSkinUrl('images/payline_moyens_paiement/internetplus.png');
92
  case 'AMEX-ONE CLICK' :
93
- return $this->getSkinUrl('images/payline_moyens_paiement/amexoneclick.png');
94
  case 'SKRILL(MONEYBOOKERS)' :
95
- return $this->getSkinUrl('images/payline_moyens_paiement/skrill.png');
96
  default :
97
- return $this->getSkinUrl('images/payline_moyens_paiement/default.png');
98
  }
99
  }
100
 
16
  $this->setTemplate('payline/Cpt.phtml');
17
  $redirectMsg = Mage::getStoreConfig('payment/PaylineCPT/redirect_message');
18
  $this->setRedirectMessage($redirectMsg);
19
+ $this->setBannerSrc($this->getSkinUrl('images/monext/payline-logo.png'));
20
  }
21
 
22
  /**
84
  case '1EURO.COM' :
85
  case 'WEXPAY' :
86
  case '3XCB' :
87
+ return $this->getSkinUrl('images/monext/payline_moyens_paiement/' . strtolower($cardType) . '.png');
88
  case 'CBPASS' :
89
+ return $this->getSkinUrl('images/monext/payline_moyens_paiement/passvisa.png');
90
  case 'INTERNET+' :
91
+ return $this->getSkinUrl('images/monext/payline_moyens_paiement/internetplus.png');
92
  case 'AMEX-ONE CLICK' :
93
+ return $this->getSkinUrl('images/monext/payline_moyens_paiement/amexoneclick.png');
94
  case 'SKRILL(MONEYBOOKERS)' :
95
+ return $this->getSkinUrl('images/monext/payline_moyens_paiement/skrill.png');
96
  default :
97
+ return $this->getSkinUrl('images/monext/payline_moyens_paiement/default.png');
98
  }
99
  }
100
 
app/code/community/Monext/Payline/Block/Direct.php CHANGED
@@ -18,7 +18,7 @@ class Monext_Payline_Block_Direct extends Mage_Payment_Block_Form
18
  $this->setTemplate('payline/Direct.phtml');
19
  $redirectMsg = Mage::getStoreConfig('payment/PaylineNX/redirect_message');
20
  $this->setRedirectMessage($redirectMsg);
21
- $this->setBannerSrc($this->getSkinUrl('images/payline-logo.png'));
22
  }
23
 
24
  public function getCcAvailableTypes()
18
  $this->setTemplate('payline/Direct.phtml');
19
  $redirectMsg = Mage::getStoreConfig('payment/PaylineNX/redirect_message');
20
  $this->setRedirectMessage($redirectMsg);
21
+ $this->setBannerSrc($this->getSkinUrl('images/monext/payline-logo.png'));
22
  }
23
 
24
  public function getCcAvailableTypes()
app/code/community/Monext/Payline/Block/Info/Direct.php CHANGED
@@ -14,11 +14,22 @@ class Monext_Payline_Block_Info_Direct extends Mage_Payment_Block_Info_Cc
14
  if (null !== $this->_paymentSpecificInformation) {
15
  return $this->_paymentSpecificInformation;
16
  }
17
- $transport = new Varien_Object($transport);;
18
  $data = array();
19
- if ($ccType = $this->getInfo()->getCcType()) {
20
- $ccType = strtolower($ccType);
21
- $img = '<img src="'.$this->getSkinUrl('images/'.$ccType.'.gif').'" />';
 
 
 
 
 
 
 
 
 
 
 
22
  $data[Mage::helper('payline')->__('Credit Card Type')] = $img;
23
  }
24
  if ($this->getInfo()->getCcLast4()) {
@@ -32,4 +43,13 @@ class Monext_Payline_Block_Info_Direct extends Mage_Payment_Block_Info_Cc
32
  $this->_paymentSpecificInformation = $transport;
33
  return $transport->setData(array_merge($data, $transport->getData()));
34
  }
 
 
 
 
 
 
 
 
 
35
  }
14
  if (null !== $this->_paymentSpecificInformation) {
15
  return $this->_paymentSpecificInformation;
16
  }
17
+ $transport = new Varien_Object($transport);
18
  $data = array();
19
+ if ($this->getInfo()->getCcType()) {
20
+ $contract = $this->_getContract($this->getInfo());
21
+ $ccType = strtolower($contract->getContractType());
22
+
23
+ // Force to the frontend area
24
+ $currentArea = Mage::getDesign()->getArea();
25
+ Mage::getDesign()->setArea(Mage_Core_Model_Design_Package::DEFAULT_AREA);
26
+
27
+ // The images are only in the rontend skin directory
28
+ $img = '<img src="'.$this->getSkinUrl('images/monext/'.$ccType.'.gif').'" />';
29
+
30
+ // Un-Force the area
31
+ Mage::getDesign()->setArea($currentArea);
32
+
33
  $data[Mage::helper('payline')->__('Credit Card Type')] = $img;
34
  }
35
  if ($this->getInfo()->getCcLast4()) {
43
  $this->_paymentSpecificInformation = $transport;
44
  return $transport->setData(array_merge($data, $transport->getData()));
45
  }
46
+
47
+ /**
48
+ * Get the contract
49
+ * @return Monext_Payline_Model_Contract
50
+ */
51
+ protected function _getContract(Varien_Object $info)
52
+ {
53
+ return Mage::helper('payline/payment')->getContractByData($info);
54
+ }
55
  }
app/code/community/Monext/Payline/Block/Nx.php CHANGED
@@ -6,6 +6,6 @@ class Monext_Payline_Block_Nx extends Mage_Payment_Block_Form {
6
  $this->setTemplate('payline/Payline.phtml');
7
  $redirectMsg=Mage::getStoreConfig('payment/PaylineNX/redirect_message');
8
  $this->setRedirectMessage($redirectMsg);
9
- $this->setBannerSrc($this->getSkinUrl('images/payline-logo.png'));
10
  }
11
  }
6
  $this->setTemplate('payline/Payline.phtml');
7
  $redirectMsg=Mage::getStoreConfig('payment/PaylineNX/redirect_message');
8
  $this->setRedirectMessage($redirectMsg);
9
+ $this->setBannerSrc($this->getSkinUrl('images/monext/payline-logo.png'));
10
  }
11
  }
app/code/community/Monext/Payline/Block/Wallet/Details.php CHANGED
@@ -1,15 +1,20 @@
1
  <?php
2
- class Monext_Payline_Block_Wallet_Details extends Mage_Core_Block_Template{
3
- public $wallet=array();
 
 
 
4
  public $showShippingDetails;
5
-
6
- public function _construct($flag=null){
7
- if ($flag===null){
8
- $flag=(bool)Mage::getStoreConfig('payment/PaylineWALLET/update_personal_details');
 
9
  }
10
- $this->showShippingDetails=$flag;
11
-
12
  parent::_construct();
13
  $this->setTemplate('payline/wallet/details.phtml');
14
  }
15
- }
 
1
  <?php
2
+
3
+ class Monext_Payline_Block_Wallet_Details extends Mage_Core_Block_Template
4
+ {
5
+
6
+ public $wallet = array();
7
  public $showShippingDetails;
8
+
9
+ public function _construct($flag = null)
10
+ {
11
+ if ($flag === null) {
12
+ $flag = (bool) Mage::getStoreConfig('payment/PaylineWALLET/update_personal_details');
13
  }
14
+ $this->showShippingDetails = $flag;
15
+
16
  parent::_construct();
17
  $this->setTemplate('payline/wallet/details.phtml');
18
  }
19
+
20
+ }
app/code/community/Monext/Payline/Block/Wallet/Infos.php CHANGED
@@ -22,7 +22,7 @@ class Monext_Payline_Block_Wallet_Infos extends Mage_Payment_Block_Info{
22
  $expYear = substr($wallet['card']['expirationDate'], -2);
23
  $cardType = $wallet['card']['type'];
24
  $cardType = strtolower($cardType);
25
- $img = '<img src="'.$this->getSkinUrl('images/'.$cardType.'.gif').'" />';
26
  $data=array(
27
  $this->__('Card type') => $img,
28
  $this->__('Number') => sprintf('xxxx-%s', $cardNumber),
22
  $expYear = substr($wallet['card']['expirationDate'], -2);
23
  $cardType = $wallet['card']['type'];
24
  $cardType = strtolower($cardType);
25
+ $img = '<img src="'.$this->getSkinUrl('images/monext/'.$cardType.'.gif').'" />';
26
  $data=array(
27
  $this->__('Card type') => $img,
28
  $this->__('Number') => sprintf('xxxx-%s', $cardNumber),
app/code/community/Monext/Payline/Helper/Data.php CHANGED
@@ -572,8 +572,7 @@ class Monext_Payline_Helper_Data extends Mage_Core_Helper_Data
572
 
573
  public function doReauthorization($orderIncId)
574
  {
575
- // Is this method used?? @jacquesbh
576
- mail('jab@monsieurbiz.com', 'debug payline', mageDebugBacktrace(true));
577
 
578
  $order = Mage::getModel('sales/order')->loadByIncrementId($orderIncId);
579
  if ($order->getId()) {
572
 
573
  public function doReauthorization($orderIncId)
574
  {
575
+ // I think that this method is never use. @jacquesbh 2014-04-12
 
576
 
577
  $order = Mage::getModel('sales/order')->loadByIncrementId($orderIncId);
578
  if ($order->getId()) {
app/code/community/Monext/Payline/Helper/Payment.php ADDED
@@ -0,0 +1,235 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * This file is part of Monext_Payline for Magento.
5
+ *
6
+ * @license GNU General Public License (GPL) v3
7
+ * @author Jacques Bodin-Hullin <j.bodinhullin@monsieurbiz.com> <@jacquesbh>
8
+ * @category Monext
9
+ * @package Monext_Payline
10
+ * @copyright Copyright (c) 2014 Monsieur Biz (http://monsieurbiz.com)
11
+ */
12
+
13
+ /**
14
+ * Payment Helper
15
+ * @package Monext_Payline
16
+ */
17
+ class Monext_Payline_Helper_Payment extends Mage_Core_Helper_Abstract
18
+ {
19
+
20
+ // Monsieur Biz Tag NEW_CONST
21
+
22
+ // Monsieur Biz Tag NEW_VAR
23
+
24
+ /**
25
+ * Init a payment
26
+ * @return array
27
+ */
28
+ public function init(Mage_Sales_Model_Order $order)
29
+ {
30
+ $array = array();
31
+
32
+ $_numericCurrencyCode = Mage::helper('payline')->getNumericCurrencyCode($order->getBaseCurrencyCode());
33
+
34
+ // PAYMENT
35
+ $array['payment']['amount'] = round($order->getBaseGrandTotal() * 100);
36
+ $array['payment']['currency'] = $_numericCurrencyCode;
37
+
38
+ // ORDER
39
+ $array['order']['ref'] = substr($order->getRealOrderId(), 0, 50);
40
+ $array['order']['amount'] = $array['payment']['amount'];
41
+ $array['order']['currency'] = $_numericCurrencyCode;
42
+
43
+ $billingAddress = $order->getBillingAddress();
44
+
45
+ // BUYER
46
+ $buyerLastName = substr($order->getCustomerLastname(), 0, 50);
47
+ if ($buyerLastName == null || $buyerLastName == '') {
48
+ $buyerLastName = substr($billingAddress->getLastname(), 0, 50);
49
+ }
50
+ $buyerFirstName = substr($order->getCustomerFirstname(), 0, 50);
51
+ if ($buyerFirstName == null || $buyerFirstName == '') {
52
+ $buyerFirstName = substr($billingAddress->getFirstname(), 0, 50);
53
+ }
54
+ $array['buyer']['lastName'] = Mage::helper('payline')->encodeString($buyerLastName);
55
+ $array['buyer']['firstName'] = Mage::helper('payline')->encodeString($buyerFirstName);
56
+
57
+ $email = $order->getCustomerEmail();
58
+ $pattern = '/\+/i';
59
+ $charPlusExist = preg_match($pattern, $email);
60
+
61
+ if (strlen($email) <= 50 && Zend_Validate::is($email, 'EmailAddress') && !$charPlusExist) {
62
+ $array['buyer']['email'] = Mage::helper('payline')->encodeString($email);
63
+ } else {
64
+ $array['buyer']['email'] = '';
65
+ }
66
+ $array['buyer']['customerId'] = Mage::helper('payline')->encodeString($email);
67
+
68
+ // ADDRESS : !!!WARNING!!! PaylineSDK v4.33 reverse billingAddress & shippingAdress.
69
+ // Take this : https://www.youtube.com/watch?v=MA6kXUgZ7lE&list=PLpyrjJvJ7GJ7bM5GjzwHvZIqe6c5l3iF6
70
+ $array['shippingAddress']['name'] = Mage::helper('payline')->encodeString(substr($billingAddress->getName(), 0, 100));
71
+ $array['shippingAddress']['street1'] = Mage::helper('payline')->encodeString(substr($billingAddress->getStreet1(), 0, 100));
72
+ $array['shippingAddress']['street2'] = Mage::helper('payline')->encodeString(substr($billingAddress->getStreet2(), 0, 100));
73
+ $array['shippingAddress']['cityName'] = Mage::helper('payline')->encodeString(substr($billingAddress->getCity(), 0, 40));
74
+ $array['shippingAddress']['zipCode'] = substr($billingAddress->getPostcode(), 0, 12);
75
+ //The $billing->getCountry() returns a 2 letter ISO2, should be fine
76
+ $array['shippingAddress']['country'] = $billingAddress->getCountry();
77
+ $forbidenCars = array(' ', '.', '(', ')', '-');
78
+ $phone = str_replace($forbidenCars, '', $billingAddress->getTelephone());
79
+ $regexpTel = '/^\+?[0-9]{1,14}$/';
80
+
81
+ if (preg_match($regexpTel, $phone)) {
82
+ $array['shippingAddress']['phone'] = $phone;
83
+ } else {
84
+ $array['shippingAddress']['phone'] = '';
85
+ }
86
+
87
+ $array['billingAddress'] = null;
88
+
89
+ return $array;
90
+ }
91
+
92
+ /**
93
+ * Add payment transaction to the order, reinit stocks if needed
94
+ * @param $res array result of a request
95
+ * @param $transactionId
96
+ * @return boolean (true=>valid payment, false => invalid payment)
97
+ */
98
+ public function updateOrder($order, $res, $transactionId, $paymentType = 'CPT')
99
+ {
100
+ // First, log message which says that we are updating the order
101
+ Mage::helper('payline/logger')->log("[updateOrder] Mise à jour commande " . $order->getIncrementId() . " (mode $paymentType) avec la transaction $transactionId");
102
+
103
+ // By default this process isn't OK
104
+ $orderOk = false;
105
+
106
+ // If we have a result code
107
+ if ($resultCode = $res['result']['code']) {
108
+
109
+ // List of accepted codes
110
+ $acceptedCodes = array(
111
+ '00000', // Credit card -> Transaction approved
112
+ '02500', // Wallet -> Operation successfull
113
+ '02501', // Wallet -> Operation Successfull with warning / Operation Successfull but wallet will expire
114
+ '04003', // Fraud detected - BUT Transaction approved (04002 is Fraud with payment refused)
115
+ );
116
+
117
+ // Transaction OK
118
+ if (in_array($resultCode, $acceptedCodes)) {
119
+
120
+ // This process is not OK
121
+ $orderOk = true;
122
+
123
+ // N time payment?
124
+ if ($paymentType == 'NX') {
125
+ Mage::helper('payline/logger')->log("[updateOrder] Cas du paiement NX");
126
+ if (isset($res['billingRecordList']['billingRecord'][0])) {
127
+ $code_echeance = $res['billingRecordList']['billingRecord'][0]->result->code;
128
+ if ($code_echeance == '00000' || $code_echeance == '02501') {
129
+ Mage::helper('payline/logger')->log("[updateOrder] première échéance paiement NX OK");
130
+ $orderOk = true;
131
+ } else {
132
+ Mage::helper('payline/logger')->log("[updateOrder] première échéance paiement NX refusée, code " . $code_echeance);
133
+ $orderOk = false;
134
+ }
135
+ } else {
136
+ Mage::helper('payline/logger')->log("[updateOrder] La première échéance de paiement est à venir");
137
+ }
138
+ }
139
+
140
+ // Set the transaction in the payment object
141
+ $order->getPayment()->setCcTransId($transactionId);
142
+ if (isset($res['payment']) && isset($res['payment']['action'])) {
143
+ $paymentAction = $res['payment']['action'];
144
+ } else {
145
+ $paymentAction = Mage::getStoreConfig('payment/Payline' . $paymentType . '/payline_payment_action');
146
+ }
147
+
148
+ // Add transaction (with payment action)
149
+ $this->addTransaction($order, $transactionId, $paymentAction);
150
+
151
+ // Save the order
152
+ $order->save();
153
+ }
154
+
155
+ // Transaction NOT OK
156
+ else {
157
+
158
+ // Update the stock
159
+ $this->updateStock($order);
160
+ }
161
+ }
162
+
163
+ return $orderOk;
164
+ }
165
+
166
+ /**
167
+ * Reinit stocks
168
+ */
169
+ public function updateStock($order)
170
+ {
171
+ if (Mage::getStoreConfig(Mage_CatalogInventory_Model_Stock_Item::XML_PATH_CAN_SUBTRACT) == 1) { // le stock a été décrémenté à la commande
172
+ // ré-incrémentation du stock
173
+ $items = $order->getAllItems();
174
+ if ($items) {
175
+ foreach ($items as $item) {
176
+ $quantity = $item->getQtyOrdered(); // get Qty ordered
177
+ $product_id = $item->getProductId(); // get its ID
178
+ $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product_id); // Load the stock for this product
179
+ $stock->setQty($stock->getQty() + $quantity); // Set to new Qty
180
+ //if qtty = 0 after order and order fails, set stock status is_in_stock to true
181
+ if ($stock->getQty() > $stock->getMinQty() && !$stock->getIsInStock()) {
182
+ $stock->setIsInStock(1);
183
+ }
184
+ $stock->save(); // Save
185
+ }
186
+ }
187
+ }
188
+ }
189
+
190
+ /**
191
+ * Add a transaction to the current order, depending on the payment type (Auth or Auth+Capture)
192
+ * @param string $transactionId
193
+ * @param string $paymentAction
194
+ * @return null
195
+ */
196
+ public function addTransaction($order, $transactionId, $paymentAction)
197
+ {
198
+ if (version_compare(Mage::getVersion(), '1.4', 'ge')) {
199
+ /* @var $payment Mage_Payment_Model_Method_Abstract */
200
+ $payment = $order->getPayment();
201
+ if (!$payment->getTransaction($transactionId)) { // if transaction isn't saved yet
202
+ $transaction = Mage::getModel('sales/order_payment_transaction');
203
+ $transaction->setTxnId($transactionId);
204
+ $transaction->setOrderPaymentObject($order->getPayment());
205
+ if ($paymentAction == '100') {
206
+
207
+ } else if ($paymentAction == '101') {
208
+ $transaction->setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_PAYMENT);
209
+ }
210
+ $transaction->save();
211
+ $order->sendNewOrderEmail();
212
+ }
213
+ } else {
214
+ $order->getPayment()->setLastTransId($transactionId);
215
+ $order->sendNewOrderEmail();
216
+ }
217
+ }
218
+
219
+ /**
220
+ * Retrieve the contract object for specified data.
221
+ * We store the contract in the data and we load it only if it doesn't exist.
222
+ * @return Monext_Payline_Model_Contract The contract
223
+ */
224
+ public function getContractByData(Varien_Object $data)
225
+ {
226
+ if (!$contract = $data->getContract()) {
227
+ $contract = Mage::getModel('payline/contract')->load($data->getCcType());
228
+ $data->setContract($contract);
229
+ }
230
+ return $contract;
231
+ }
232
+
233
+ // Monsieur Biz Tag NEW_METHOD
234
+
235
+ }
app/code/community/Monext/Payline/Model/Direct.php CHANGED
@@ -1,60 +1,257 @@
1
  <?php
2
  /**
3
- * Payline direct payment method
4
  */
5
  class Monext_Payline_Model_Direct extends Mage_Payment_Model_Method_Abstract
6
  {
7
- protected $_code = 'PaylineDIRECT';
8
- protected $_formBlockType = 'payline/direct';
9
- protected $_infoBlockType = 'payline/info_direct';
10
- protected $_canCapture = true;
11
- protected $_canCapturePartial = true;
12
- protected $_canRefund = true;
13
  protected $_canRefundInvoicePartial = true;
14
- protected $_canVoid = true;
 
15
 
16
  public function assignData($data)
17
  {
18
- $_SESSION['payline_ccdata'] = $data;
19
  if (!($data instanceof Varien_Object)) {
20
  $data = new Varien_Object($data);
21
  }
 
 
 
 
 
22
  $info = $this->getInfoInstance();
23
- $info->setCcType($data->getCcType())
 
24
  ->setCcOwner($data->getCcOwner())
25
  ->setCcLast4(substr($data->getCcNumber(), -4))
26
- ->setCcNumber($data->getCcNumber())
27
- ->setCcCid($data->getCcCid())
28
  ->setCcExpMonth($data->getCcExpMonth())
29
  ->setCcExpYear($data->getCcExpYear())
30
  ->setCcSsIssue($data->getCcSsIssue())
31
  ->setCcSsStartMonth($data->getCcSsStartMonth())
32
  ->setCcSsStartYear($data->getCcSsStartYear());
 
33
  return $this;
34
  }
35
-
36
  /**
37
- * Prepare info instance for save
38
  *
39
- * @return Mage_Payment_Model_Abstract
40
  */
41
- public function prepareSave()
42
  {
43
- $info = $this->getInfoInstance();
44
- $info->setCcNumberEnc($info->encrypt($info->getCcNumber()));
45
- $info->setCcNumber(null)
46
- ->setCcCid(null);
 
 
 
47
  return $this;
48
  }
49
 
50
  /**
51
- * Return Order place redirect url
52
  *
53
- * @return string
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  */
55
- public function getOrderPlaceRedirectUrl()
56
  {
57
- return Mage::getUrl('payline/index/direct');
58
  }
59
 
60
  /**
1
  <?php
2
  /**
3
+ * Payline direct payment method
4
  */
5
  class Monext_Payline_Model_Direct extends Mage_Payment_Model_Method_Abstract
6
  {
7
+ protected $_code = 'PaylineDIRECT';
8
+ protected $_formBlockType = 'payline/direct';
9
+ protected $_infoBlockType = 'payline/info_direct';
10
+ protected $_canCapture = true;
11
+ protected $_canCapturePartial = true;
12
+ protected $_canRefund = true;
13
  protected $_canRefundInvoicePartial = true;
14
+ protected $_canVoid = true;
15
+ protected $_canOrder = true;
16
 
17
  public function assignData($data)
18
  {
 
19
  if (!($data instanceof Varien_Object)) {
20
  $data = new Varien_Object($data);
21
  }
22
+
23
+ // Store the data for the current process
24
+ Mage::register('current_payment_data', $data);
25
+
26
+ // Fill the info instance
27
  $info = $this->getInfoInstance();
28
+ $info
29
+ ->setCcType($data->getCcType())
30
  ->setCcOwner($data->getCcOwner())
31
  ->setCcLast4(substr($data->getCcNumber(), -4))
 
 
32
  ->setCcExpMonth($data->getCcExpMonth())
33
  ->setCcExpYear($data->getCcExpYear())
34
  ->setCcSsIssue($data->getCcSsIssue())
35
  ->setCcSsStartMonth($data->getCcSsStartMonth())
36
  ->setCcSsStartYear($data->getCcSsStartYear());
37
+
38
  return $this;
39
  }
40
+
41
  /**
42
+ * Validate payment method information object
43
  *
44
+ * @return Monext_Payline_Model_Direct
45
  */
46
+ public function validate()
47
  {
48
+ parent::validate();
49
+
50
+ // Validate the credit card number
51
+ if ($data = Mage::registry('current_payment_data')) {
52
+ // @TODO
53
+ }
54
+
55
  return $this;
56
  }
57
 
58
  /**
59
+ * Order payment abstract method
60
  *
61
+ * @param Varien_Object $payment
62
+ * @param float $amount
63
+ *
64
+ * @return Mage_Payment_Model_Abstract
65
+ */
66
+ public function order(Varien_Object $payment, $amount)
67
+ {
68
+ // Call parent
69
+ parent::order($payment, $amount);
70
+
71
+ $this->_orderDirect($payment, $amount);
72
+
73
+ return $this;
74
+ }
75
+
76
+ /**
77
+ * Order the payment via Payline Direct
78
+ */
79
+ protected function _orderDirect(Mage_Sales_Model_Order_Payment $payment, $amount)
80
+ {
81
+ $order = $payment->getOrder();
82
+ $data = Mage::registry('current_payment_data');
83
+ $array = $this->_orderInit($order);
84
+
85
+ // Init the SDK with the currency and for DIRECT method
86
+ $paylineSDK = Mage::helper('payline')->initPayline('DIRECT', $array['payment']['currency']);
87
+
88
+ // Get the action and the mode
89
+ $array['payment']['action'] = Mage::getStoreConfig('payment/PaylineDIRECT/payline_payment_action');
90
+ $array['payment']['mode'] = 'CPT';
91
+
92
+ // Get the contract
93
+ $contract = Mage::helper('payline/payment')->getContractByData($data);
94
+ $array['payment']['contractNumber'] = $contract->getNumber();
95
+
96
+ // Set the order date
97
+ $array['order']['date'] = date("d/m/Y H:i");
98
+
99
+ // Set private data (usefull in the payline admin)
100
+ $privateData1 = array();
101
+ $privateData1['key'] = 'orderRef';
102
+ $privateData1['value'] = substr(str_replace(array("\r", "\n", "\t"), array('', '', ''), $array['order']['ref']), 0, 255);
103
+ $paylineSDK->setPrivate($privateData1);
104
+
105
+ // Set the order details (each item, optional)
106
+ $items = $order->getAllItems();
107
+ if ($items) {
108
+ if (count($items) > 100) {
109
+ $items = array_slice($items, 0, 100);
110
+ }
111
+ foreach ($items as $item) {
112
+ $itemPrice = round($item->getPrice() * 100);
113
+ if ($itemPrice > 0) {
114
+ $product = array();
115
+ $product['ref'] = Mage::helper('payline')->encodeString(substr(str_replace(array("\r", "\n", "\t"), array('', '', ''), $item->getName()), 0, 50));
116
+ $product['price'] = round($item->getPrice() * 100);
117
+ $product['quantity'] = round($item->getQtyOrdered());
118
+ $product['comment'] = Mage::helper('payline')->encodeString(substr(str_replace(array("\r", "\n", "\t"), array('', '', ''), $item->getDescription()), 0, 255));
119
+ $paylineSDK->setItem($product);
120
+ }
121
+ }
122
+ }
123
+ // Set the card info
124
+ $array['card']['number'] = $data->getCcNumber();
125
+ $array['card']['cardholder'] = $data->getCcOwner();
126
+ $array['card']['type'] = $contract->getContractType();
127
+ $array['card']['expirationDate'] = $data->getCcExpMonth() . $data->getCcExpYear();
128
+ $array['card']['cvx'] = $data->getCcCid();
129
+
130
+ // Set the customer's IP
131
+ $array['buyer']['ip'] = Mage::helper('core/http')->getRemoteAddr();
132
+
133
+ // Init 3DS to empty array
134
+ $array['3DSecure'] = array();
135
+
136
+ // Init bank acocunt data to empty array
137
+ $array['BankAccountData'] = array();
138
+
139
+ // Set the version
140
+ $array['version'] = Monext_Payline_Helper_Data::VERSION;
141
+
142
+ // Set the card owner's name
143
+ $array['owner']['lastName'] = Mage::helper('payline')->encodeString($data->getCcOwner());
144
+
145
+ try {
146
+ // Do autorization
147
+ $author_result = $paylineSDK->doAuthorization($array);
148
+
149
+ } catch (Exception $e) {
150
+
151
+ // We get an exception, log it
152
+ Mage::logException($e);
153
+
154
+ // Update the stocks
155
+ Mage::helper('payline/payment')->updateStock($order);
156
+
157
+ // Send message to user (and log)
158
+ $msg = Mage::helper('payline')->__('Error during payment');
159
+ $msgLog = 'Unknown PAYLINE ERROR (payline unreachable?)';
160
+ Mage::helper('payline/logger')->log('[directAction] ' . $order->getIncrementId() . $msgLog);
161
+ Mage::throwException($msg);
162
+ }
163
+
164
+ /**
165
+ * Process the authorization response
166
+ */
167
+
168
+ // The failed order status
169
+ $failedOrderStatus = Mage::getStoreConfig('payment/payline_common/failed_order_status');
170
+
171
+ // Authorization succeed
172
+ if (isset($author_result) && is_array($author_result) && $author_result['result']['code'] == '00000') {
173
+
174
+ /**
175
+ * Update the order with the new transaction
176
+ */
177
+ // If everything is OK
178
+ if (Mage::helper('payline/payment')->updateOrder($order, $author_result, $author_result['transaction']['id'], 'DIRECT')) {
179
+
180
+ // Code 04003 - Fraud detected - BUT Transaction approved (04002 is Fraud with payment refused)
181
+ if ($author_result['result']['code'] == '04003') {
182
+ // Fraud suspected
183
+ $payment->setIsFraudDetected(true);
184
+ $newOrderStatus = Mage::getStoreConfig('payment/payline_common/fraud_order_status');
185
+ Mage::helper('payline')->setOrderStatus($order, $newOrderStatus);
186
+ } else {
187
+ // Set the status depending on the configuration
188
+ Mage::helper('payline')->setOrderStatusAccordingToPaymentMode(
189
+ $order, $array['payment']['action']);
190
+ }
191
+
192
+ // Create the wallet!
193
+ $array['wallet']['lastName'] = $array['buyer']['lastName'];
194
+ $array['wallet']['firstName'] = $array['buyer']['firstName'];
195
+ $array['wallet']['email'] = $array['buyer']['email'];
196
+ $array['address'] = $array['shippingAddress'];
197
+ $array['ownerAddress'] = null;
198
+ Mage::helper('payline')->createWalletForCurrentCustomer($paylineSDK, $array);
199
+
200
+ // Create the invoice
201
+ Mage::helper('payline')->automateCreateInvoiceAtShopReturn('DIRECT', $order);
202
+ }
203
+
204
+ // Everything _isn't OK_
205
+ else {
206
+
207
+ // Log a message and cancel the order. Alert the customer
208
+ $msgLog = 'Error during order update (#' . $order->getIncrementId() . ')' . "\n";
209
+ $order->setState(Mage_Sales_Model_Order::STATE_CANCELED, $failedOrderStatus, $msgLog, false);
210
+ Mage::helper('payline/logger')->log('[directAction] ' . $order->getIncrementId() . $msgLog);
211
+
212
+ // Error
213
+ $payment->setSkipOrderProcessing(true);
214
+ $msg = Mage::helper('payline')->__('An error occured during the payment. Please retry or use an other payment method.');
215
+ Mage::throwException($msg);
216
+ }
217
+
218
+ }
219
+
220
+ // Authorization doesn't succeed
221
+ else {
222
+
223
+ // Get the error message
224
+ if (isset($author_result) && is_array($author_result)) {
225
+ $msgLog = 'PAYLINE ERROR : ' . $author_result['result']['code'] . ' ' . $author_result['result']['shortMessage'] . ' (' . $author_result['result']['longMessage'] . ')';
226
+ } elseif (isset($author_result) && is_string($author_result)) {
227
+ $msgLog = 'PAYLINE ERROR : ' . $author_result;
228
+ } else {
229
+ $msgLog = 'Unknown PAYLINE ERROR';
230
+ }
231
+
232
+ // Update the stock
233
+ Mage::helper('payline/payment')->updateStock($order);
234
+
235
+ // Cancel the order
236
+ $order->setState(Mage_Sales_Model_Order::STATE_CANCELED, $failedOrderStatus, $msgLog, false);
237
+
238
+ // Alert the customer and log message
239
+ Mage::helper('payline/logger')->log('[directAction] ' . $order->getIncrementId() . $msgLog);
240
+
241
+ // Error
242
+ $payment->setSkipOrderProcessing(true);
243
+ $msg = Mage::helper('payline')->__('An error occured during the payment. Please retry or use an other payment method.');
244
+ Mage::throwException($msg);
245
+ }
246
+ }
247
+
248
+ /**
249
+ * Initialise the requests param array on the order call
250
+ * @return array
251
  */
252
+ protected function _orderInit(Mage_Sales_Model_Order $order)
253
  {
254
+ return Mage::helper('payline/payment')->init($order);
255
  }
256
 
257
  /**
app/code/community/Monext/Payline/Model/Observer.php CHANGED
@@ -313,4 +313,14 @@ class Monext_Payline_Model_Observer
313
  $controller->getResponse()->setBody(Mage::helper('core')->jsonEncode($response));
314
  }
315
 
 
 
 
 
 
 
 
 
 
 
316
  }
313
  $controller->getResponse()->setBody(Mage::helper('core')->jsonEncode($response));
314
  }
315
 
316
+ /**
317
+ * Clean payline
318
+ * @see customer_logout
319
+ */
320
+ public function cleanPayline(Varien_Event_Observer $observer)
321
+ {
322
+ // Clean the wallet
323
+ Mage::getSingleton('payline/wallet')->clean();
324
+ }
325
+
326
  }
app/code/community/Monext/Payline/Model/Wallet.php CHANGED
@@ -158,7 +158,16 @@ class Monext_Payline_Model_Wallet extends Mage_Payment_Model_Method_Abstract
158
  return $res['wallet'];
159
  }
160
  }
161
-
 
 
 
 
 
 
 
 
 
162
 
163
  /**
164
  * Generate a random wallet_id
158
  return $res['wallet'];
159
  }
160
  }
161
+
162
+ /**
163
+ * Clean the session and all necessary data
164
+ * @return Monext_Payline_Model_Wallet
165
+ */
166
+ public function clean()
167
+ {
168
+ // Clean wallet in customer session
169
+ Mage::getSingleton('customer/session')->unsWalletData();
170
+ }
171
 
172
  /**
173
  * Generate a random wallet_id
app/code/community/Monext/Payline/PaylinePHPKit/lib/paylineSDK.php CHANGED
@@ -356,7 +356,7 @@ final class Log {
356
  class paylineSDK{
357
 
358
  // kit version
359
- const KIT_VERSION = 'Module Magento 1.7.9.0';
360
 
361
  // trace log
362
  var $paylineTrace;
356
  class paylineSDK{
357
 
358
  // kit version
359
+ const KIT_VERSION = 'Module Magento 1.8.0.1';
360
 
361
  // trace log
362
  var $paylineTrace;
app/code/community/Monext/Payline/PaylinePHPKit/logs/2014-04-12.log DELETED
@@ -1,66 +0,0 @@
1
- 2014-04-12 22:24:55 - ----------------------------------------------------------
2
- 2014-04-12 22:24:55 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
3
- 2014-04-12 22:24:55 - webServiceRequest(doWebPayment) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
4
- 2014-04-12 22:24:56 - response return (code 02303)
5
- 2014-04-12 22:26:31 - ----------------------------------------------------------
6
- 2014-04-12 22:26:31 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
7
- 2014-04-12 22:26:31 - webServiceRequest(getMerchantSettings) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
8
- 2014-04-12 22:26:32 - response return (code 00000)
9
- 2014-04-12 22:27:08 - ----------------------------------------------------------
10
- 2014-04-12 22:27:08 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
11
- 2014-04-12 22:27:08 - webServiceRequest(doAuthorization) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
12
- 2014-04-12 22:27:12 - response return (code 00000)
13
- 2014-04-12 22:27:12 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
14
- 2014-04-12 22:27:13 - response return (code 00000)
15
- 2014-04-12 22:27:14 - webServiceRequest(createWallet) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
16
- 2014-04-12 22:27:15 - response return (code 02500)
17
- 2014-04-12 22:27:15 - ----------------------------------------------------------
18
- 2014-04-12 22:27:15 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
19
- 2014-04-12 22:27:15 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
20
- 2014-04-12 22:27:16 - response return (code 00000)
21
- 2014-04-12 22:45:04 - ----------------------------------------------------------
22
- 2014-04-12 22:45:04 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
23
- 2014-04-12 22:45:04 - webServiceRequest(getMerchantSettings) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
24
- 2014-04-12 22:45:05 - response return (code 00000)
25
- 2014-04-12 23:13:19 - ----------------------------------------------------------
26
- 2014-04-12 23:13:19 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
27
- 2014-04-12 23:13:19 - webServiceRequest(getWallet) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
28
- 2014-04-12 23:13:20 - response return (code 02500)
29
- 2014-04-12 23:13:39 - ----------------------------------------------------------
30
- 2014-04-12 23:13:39 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
31
- 2014-04-12 23:13:39 - webServiceRequest(doWebPayment) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
32
- 2014-04-12 23:13:40 - response return (code 00000)
33
- 2014-04-12 23:14:01 - ----------------------------------------------------------
34
- 2014-04-12 23:14:01 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
35
- 2014-04-12 23:14:01 - webServiceRequest(getWebPaymentDetails) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
36
- 2014-04-12 23:14:02 - response return (code 00000)
37
- 2014-04-12 23:14:02 - ----------------------------------------------------------
38
- 2014-04-12 23:14:02 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
39
- 2014-04-12 23:14:02 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
40
- 2014-04-12 23:14:03 - response return (code 00000)
41
- 2014-04-12 23:16:12 - ----------------------------------------------------------
42
- 2014-04-12 23:16:12 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
43
- 2014-04-12 23:16:12 - webServiceRequest(getWebPaymentDetails) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
44
- 2014-04-12 23:16:13 - response return (code 00000)
45
- 2014-04-12 23:16:17 - ----------------------------------------------------------
46
- 2014-04-12 23:16:17 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
47
- 2014-04-12 23:16:17 - webServiceRequest(getWebPaymentDetails) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
48
- 2014-04-12 23:16:17 - response return (code 00000)
49
- 2014-04-12 23:17:05 - ----------------------------------------------------------
50
- 2014-04-12 23:17:05 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
51
- 2014-04-12 23:17:05 - webServiceRequest(getWebPaymentDetails) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
52
- 2014-04-12 23:17:06 - response return (code 00000)
53
- 2014-04-12 23:17:56 - ----------------------------------------------------------
54
- 2014-04-12 23:17:56 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
55
- 2014-04-12 23:17:56 - webServiceRequest(doWebPayment) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
56
- 2014-04-12 23:17:57 - response return (code 00000)
57
- 2014-04-12 23:18:38 - ----------------------------------------------------------
58
- 2014-04-12 23:18:38 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
59
- 2014-04-12 23:18:38 - webServiceRequest(getWebPaymentDetails) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
60
- 2014-04-12 23:18:40 - response return (code 00000)
61
- 2014-04-12 23:18:41 - ----------------------------------------------------------
62
- 2014-04-12 23:18:41 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
63
- 2014-04-12 23:18:41 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
64
- 2014-04-12 23:18:42 - response return (code 00000)
65
- 2014-04-12 23:19:04 - ----------------------------------------------------------
66
- 2014-04-12 23:19:04 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Monext/Payline/PaylinePHPKit/logs/2014-04-13.log DELETED
@@ -1,8 +0,0 @@
1
- 2014-04-13 16:28:45 - ----------------------------------------------------------
2
- 2014-04-13 16:28:45 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
3
- 2014-04-13 16:28:45 - webServiceRequest(getWallet) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
4
- 2014-04-13 16:28:47 - response return (code 02500)
5
- 2014-04-13 16:57:03 - ----------------------------------------------------------
6
- 2014-04-13 16:57:03 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
7
- 2014-04-13 16:57:03 - webServiceRequest(getWallet) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
8
- 2014-04-13 16:57:05 - response return (code 02500)
 
 
 
 
 
 
 
 
app/code/community/Monext/Payline/PaylinePHPKit/logs/2014-04-15.log DELETED
@@ -1,82 +0,0 @@
1
- 2014-04-15 18:55:33 - ----------------------------------------------------------
2
- 2014-04-15 18:55:33 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
3
- 2014-04-15 18:55:33 - webServiceRequest(getWallet) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
4
- 2014-04-15 18:55:36 - response return (code 02500)
5
- 2014-04-15 19:25:45 - ----------------------------------------------------------
6
- 2014-04-15 19:25:45 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
7
- 2014-04-15 19:25:45 - webServiceRequest(doAuthorization) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
8
- 2014-04-15 19:25:48 - response return (code 00000)
9
- 2014-04-15 19:25:48 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
10
- 2014-04-15 19:25:50 - response return (code 00000)
11
- 2014-04-15 19:25:50 - ----------------------------------------------------------
12
- 2014-04-15 19:25:50 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
13
- 2014-04-15 19:25:50 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
14
- 2014-04-15 19:25:51 - response return (code 00000)
15
- 2014-04-15 19:26:53 - ----------------------------------------------------------
16
- 2014-04-15 19:26:53 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
17
- 2014-04-15 19:26:53 - webServiceRequest(doWebPayment) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
18
- 2014-04-15 19:26:54 - response return (code 00000)
19
- 2014-04-15 19:27:16 - ----------------------------------------------------------
20
- 2014-04-15 19:27:16 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
21
- 2014-04-15 19:27:16 - webServiceRequest(getWebPaymentDetails) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
22
- 2014-04-15 19:27:17 - response return (code 00000)
23
- 2014-04-15 19:27:17 - ----------------------------------------------------------
24
- 2014-04-15 19:27:17 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
25
- 2014-04-15 19:27:17 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
26
- 2014-04-15 19:27:18 - response return (code 00000)
27
- 2014-04-15 20:00:50 - ----------------------------------------------------------
28
- 2014-04-15 20:00:50 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
29
- 2014-04-15 20:00:50 - webServiceRequest(doWebPayment) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
30
- 2014-04-15 20:00:50 - response return (code 00000)
31
- 2014-04-15 20:01:31 - ----------------------------------------------------------
32
- 2014-04-15 20:01:31 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
33
- 2014-04-15 20:01:31 - webServiceRequest(getWebPaymentDetails) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
34
- 2014-04-15 20:01:34 - response return (code 02500)
35
- 2014-04-15 20:01:35 - ----------------------------------------------------------
36
- 2014-04-15 20:01:35 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
37
- 2014-04-15 20:01:35 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
38
- 2014-04-15 20:01:36 - response return (code 00000)
39
- 2014-04-15 21:24:01 - ----------------------------------------------------------
40
- 2014-04-15 21:24:01 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
41
- 2014-04-15 21:24:01 - webServiceRequest(doAuthorization) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
42
- 2014-04-15 21:24:03 - response return (code 00000)
43
- 2014-04-15 21:24:03 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
44
- 2014-04-15 21:24:04 - response return (code 00000)
45
- 2014-04-15 21:24:04 - ----------------------------------------------------------
46
- 2014-04-15 21:24:04 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
47
- 2014-04-15 21:24:04 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
48
- 2014-04-15 21:24:04 - response return (code 00000)
49
- 2014-04-15 21:26:10 - ----------------------------------------------------------
50
- 2014-04-15 21:26:10 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
51
- 2014-04-15 21:26:10 - webServiceRequest(doAuthorization) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
52
- 2014-04-15 21:26:12 - response return (code 00000)
53
- 2014-04-15 21:26:12 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
54
- 2014-04-15 21:26:12 - response return (code 00000)
55
- 2014-04-15 21:26:13 - ----------------------------------------------------------
56
- 2014-04-15 21:26:13 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
57
- 2014-04-15 21:26:13 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
58
- 2014-04-15 21:26:13 - response return (code 00000)
59
- 2014-04-15 21:26:33 - ----------------------------------------------------------
60
- 2014-04-15 21:26:33 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
61
- 2014-04-15 21:26:33 - webServiceRequest(doWebPayment) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
62
- 2014-04-15 21:26:34 - response return (code 00000)
63
- 2014-04-15 21:26:45 - ----------------------------------------------------------
64
- 2014-04-15 21:26:45 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
65
- 2014-04-15 21:26:45 - webServiceRequest(getWebPaymentDetails) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
66
- 2014-04-15 21:26:47 - response return (code 02500)
67
- 2014-04-15 21:26:48 - ----------------------------------------------------------
68
- 2014-04-15 21:26:48 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
69
- 2014-04-15 21:26:48 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
70
- 2014-04-15 21:26:48 - response return (code 00000)
71
- 2014-04-15 21:27:20 - ----------------------------------------------------------
72
- 2014-04-15 21:27:20 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
73
- 2014-04-15 21:27:20 - webServiceRequest(doWebPayment) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
74
- 2014-04-15 21:27:21 - response return (code 00000)
75
- 2014-04-15 21:27:28 - ----------------------------------------------------------
76
- 2014-04-15 21:27:28 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
77
- 2014-04-15 21:27:28 - webServiceRequest(getWebPaymentDetails) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
78
- 2014-04-15 21:27:29 - response return (code 00000)
79
- 2014-04-15 21:27:29 - ----------------------------------------------------------
80
- 2014-04-15 21:27:29 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
81
- 2014-04-15 21:27:29 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
82
- 2014-04-15 21:27:30 - response return (code 00000)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Monext/Payline/PaylinePHPKit/logs/2014-04-22.log DELETED
@@ -1,46 +0,0 @@
1
- 2014-04-22 18:21:10 - ----------------------------------------------------------
2
- 2014-04-22 18:21:10 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
3
- 2014-04-22 18:21:10 - webServiceRequest(getWallet) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
4
- 2014-04-22 18:21:11 - response return (code 02500)
5
- 2014-04-22 18:24:32 - ----------------------------------------------------------
6
- 2014-04-22 18:24:32 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
7
- 2014-04-22 18:24:32 - webServiceRequest(doAuthorization) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
8
- 2014-04-22 18:24:34 - response return (code 00000)
9
- 2014-04-22 18:24:34 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
10
- 2014-04-22 18:24:35 - response return (code 00000)
11
- 2014-04-22 18:24:36 - ----------------------------------------------------------
12
- 2014-04-22 18:24:36 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
13
- 2014-04-22 18:24:36 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
14
- 2014-04-22 18:24:37 - response return (code 00000)
15
- 2014-04-22 19:03:31 - ----------------------------------------------------------
16
- 2014-04-22 19:03:31 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
17
- 2014-04-22 19:03:31 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
18
- 2014-04-22 19:03:32 - response return (code 00000)
19
- 2014-04-22 19:07:23 - ----------------------------------------------------------
20
- 2014-04-22 19:07:23 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
21
- 2014-04-22 19:07:23 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
22
- 2014-04-22 19:07:23 - response return (code 00000)
23
- 2014-04-22 19:07:23 - webServiceRequest(doRefund) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
24
- 2014-04-22 19:07:25 - response return (code 00000)
25
- 2014-04-22 19:44:06 - ----------------------------------------------------------
26
- 2014-04-22 19:44:06 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
27
- 2014-04-22 19:44:06 - webServiceRequest(doWebPayment) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
28
- 2014-04-22 19:44:09 - response return (code 00000)
29
- 2014-04-22 19:47:48 - ----------------------------------------------------------
30
- 2014-04-22 19:47:48 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
31
- 2014-04-22 19:47:48 - webServiceRequest(getWebPaymentDetails) - Location : https://homologation.payline.com/V4/services/WebPaymentAPI
32
- 2014-04-22 19:47:49 - response return (code 00000)
33
- 2014-04-22 19:47:50 - ----------------------------------------------------------
34
- 2014-04-22 19:47:50 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
35
- 2014-04-22 19:47:50 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
36
- 2014-04-22 19:47:50 - response return (code 00000)
37
- 2014-04-22 21:12:42 - ----------------------------------------------------------
38
- 2014-04-22 21:12:42 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
39
- 2014-04-22 21:12:42 - webServiceRequest(doAuthorization) - Location : https://homologation.payline.com/V4/services/DirectPaymentAPI
40
- 2014-04-22 21:12:44 - response return (code 00000)
41
- 2014-04-22 21:12:44 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
42
- 2014-04-22 21:12:46 - response return (code 00000)
43
- 2014-04-22 21:12:46 - ----------------------------------------------------------
44
- 2014-04-22 21:12:46 - paylineSDK::__construct(20665821525569, xL****************jH, , , , , 0)
45
- 2014-04-22 21:12:46 - webServiceRequest(getTransactionDetails) - Location : https://homologation.payline.com/V4/services/ExtendedAPI
46
- 2014-04-22 21:12:47 - response return (code 00000)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Monext/Payline/controllers/IndexController.php CHANGED
@@ -18,34 +18,6 @@ class Monext_Payline_IndexController extends Mage_Core_Controller_Front_Action
18
  return Mage::getSingleton('customer/session');
19
  }
20
 
21
- /**
22
- * Add a transaction to the current order, depending on the payment type (Auth or Auth+Capture)
23
- * @param string $transactionId
24
- * @param string $paymentAction
25
- * @return null
26
- */
27
- private function addTransaction($transactionId,$paymentAction){
28
- if (version_compare(Mage::getVersion(), '1.4', 'ge')){
29
- /* @var $payment Mage_Payment_Model_Method_Abstract */
30
- $payment=$this->order->getPayment();
31
- if(!$payment->getTransaction($transactionId)){ // if transaction isn't saved yet
32
- $transaction = Mage::getModel('sales/order_payment_transaction');
33
- $transaction->setTxnId($transactionId);
34
- $transaction->setOrderPaymentObject($this->order->getPayment());
35
- if($paymentAction == '100'){
36
-
37
- }else if ($paymentAction == '101'){
38
- $transaction->setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_PAYMENT);
39
- }
40
- $transaction->save();
41
- $this->order->sendNewOrderEmail();
42
- }
43
- }else{
44
- $this->order->getPayment()->setLastTransId($transactionId);
45
- $this->order->sendNewOrderEmail();
46
- }
47
- }
48
-
49
  /**
50
  *
51
  * Set the order's status to the provided status (must be part of the cancelled state)
@@ -54,10 +26,10 @@ class Monext_Payline_IndexController extends Mage_Core_Controller_Front_Action
54
  */
55
  private function cancelOrder($cancelStatus, $resCode = '',$message = ''){
56
  $this->order->setState(Mage_Sales_Model_Order::STATE_CANCELED,$cancelStatus,$message,false);
57
- $this->updateStock();
58
  $this->order->save();
59
 
60
- $this->_redirectUrl($this->_getPaymentRefusedRedirectUrl());
61
  }
62
 
63
  /**
@@ -83,137 +55,11 @@ class Monext_Payline_IndexController extends Mage_Core_Controller_Front_Action
83
  * Initialise the requests param array
84
  * @return array
85
  */
86
- private function init(){
87
- $array = array();
88
-
89
  $_session = Mage::getSingleton('checkout/session');
90
-
91
  $this->order = Mage::getModel('sales/order')->loadByIncrementId($_session->getLastRealOrderId());
92
- $_numericCurrencyCode = Mage::helper('payline')->getNumericCurrencyCode($this->order->getBaseCurrencyCode());
93
-
94
- // PAYMENT
95
- $array['payment']['amount'] = round($this->order->getBaseGrandTotal()*100);
96
- $array['payment']['currency'] = $_numericCurrencyCode;
97
-
98
- // ORDER
99
- //
100
- $array['order']['ref'] = substr($this->order->getRealOrderId(),0,50);
101
- $array['order']['amount'] = $array['payment']['amount'];
102
- $array['order']['currency'] = $_numericCurrencyCode;
103
-
104
- $billingAddress = $this->order->getBillingAddress();
105
-
106
- // BUYER
107
- $buyerLastName = substr($this->order->getCustomerLastname(),0,50);
108
- if($buyerLastName == null || $buyerLastName == ''){
109
- $buyerLastName = substr($billingAddress->getLastname(),0,50);
110
- }
111
- $buyerFirstName = substr($this->order->getCustomerFirstname(),0,50);
112
- if($buyerFirstName == null || $buyerFirstName == ''){
113
- $buyerFirstName = substr($billingAddress->getFirstname(),0,50);
114
- }
115
- $array['buyer']['lastName'] = Mage::helper('payline')->encodeString($buyerLastName);
116
- $array['buyer']['firstName'] = Mage::helper('payline')->encodeString($buyerFirstName);
117
-
118
-
119
- $email=$this->order->getCustomerEmail();
120
- $pattern = '/\+/i';
121
- $charPlusExist = preg_match($pattern, $email);
122
- if (strlen($email)<=50 && Zend_Validate::is($email, 'EmailAddress') && !$charPlusExist) {
123
- $array['buyer']['email']=Mage::helper('payline')->encodeString($email);
124
- }else{
125
- $array['buyer']['email'] = '';
126
- }
127
- $array['buyer']['customerId'] = Mage::helper('payline')->encodeString($email);
128
-
129
- // ADDRESS : !!!WARNING!!! PaylineSDK v4.33 reverse billingAddress & shippingAdress.
130
- // Take this : https://www.youtube.com/watch?v=MA6kXUgZ7lE&list=PLpyrjJvJ7GJ7bM5GjzwHvZIqe6c5l3iF6
131
- $array['shippingAddress']['name'] = Mage::helper('payline')->encodeString(substr($billingAddress->getName(),0,100));
132
- $array['shippingAddress']['street1'] = Mage::helper('payline')->encodeString(substr($billingAddress->getStreet1(),0,100));
133
- $array['shippingAddress']['street2'] = Mage::helper('payline')->encodeString(substr($billingAddress->getStreet2(),0,100));
134
- $array['shippingAddress']['cityName'] = Mage::helper('payline')->encodeString(substr($billingAddress->getCity(),0,40));
135
- $array['shippingAddress']['zipCode'] = substr($billingAddress->getPostcode(),0,12);
136
- //The $billing->getCountry() returns a 2 letter ISO2, should be fine
137
- $array['shippingAddress']['country'] = $billingAddress->getCountry();
138
- $forbidenCars = array(' ','.','(',')','-');
139
- $phone = str_replace($forbidenCars,'',$billingAddress->getTelephone());
140
- $regexpTel='/^\+?[0-9]{1,14}$/';
141
- if (preg_match($regexpTel, $phone)){
142
- $array['shippingAddress']['phone']=$phone;
143
- }else{
144
- $array['shippingAddress']['phone']='';
145
- }
146
- $array['billingAddress'] = null;
147
- return $array;
148
- }
149
-
150
- /**
151
- * Add payment transaction to the order, reinit stocks if needed
152
- * @param $res array result of a request
153
- * @param $transactionId
154
- * @return boolean (true=>valid payment, false => invalid payment)
155
- */
156
- private function updateOrder($res,$transactionId, $paymentType='CPT'){
157
- Mage::helper('payline/logger')->log("[updateOrder] Mise à jour commande ".$this->order->getIncrementId()." (mode $paymentType) avec la transaction $transactionId");
158
- $orderOk = false;
159
- if( $res['result']['code'] ) {
160
- $resultCode = $res['result']['code'];
161
- $acceptedCodes = array('00000','02500','02501','04003');
162
- if( in_array( $resultCode, $acceptedCodes ) ) { // transaction OK
163
- $orderOk = true;
164
- if($paymentType == 'NX') {
165
- Mage::helper('payline/logger')->log("[updateOrder] Cas du paiement NX");
166
- if (isset($res['billingRecordList']['billingRecord'][0])) {
167
- $code_echeance = $res['billingRecordList']['billingRecord'][0]->result->code;
168
- if($code_echeance == '00000' || $code_echeance == '02501'){
169
- Mage::helper('payline/logger')->log("[updateOrder] première échéance paiement NX OK");
170
- $orderOk = true;
171
- }else{
172
- Mage::helper('payline/logger')->log("[updateOrder] première échéance paiement NX refusée, code ".$code_echeance);
173
- $orderOk = false;
174
- }
175
- }else{
176
- Mage::helper('payline/logger')->log("[updateOrder] La première échéance de paiement est à venir");
177
- }
178
- }
179
-
180
- $this->order->getPayment()->setCcTransId($transactionId);
181
- if (isset($res['payment']) && isset($res['payment']['action'])){
182
- $paymentAction=$res['payment']['action'];
183
- }else{
184
- $paymentAction= Mage::getStoreConfig('payment/Payline'.$paymentType.'/payline_payment_action');
185
- }
186
- $this->addTransaction($transactionId, $paymentAction);
187
- }else{
188
- $this->updateStock();
189
- }
190
- }
191
- $this->order->save();
192
- return $orderOk;
193
- }
194
-
195
- /**
196
- * Reinit stocks
197
- */
198
- private function updateStock(){
199
- if(Mage::getStoreConfig(Mage_CatalogInventory_Model_Stock_Item::XML_PATH_CAN_SUBTRACT) == 1){ // le stock a été décrémenté à la commande
200
- // ré-incrémentation du stock
201
- $items = $this->order->getAllItems();
202
- if ($items) {
203
- foreach($items as $item) {
204
- $quantity = $item->getQtyOrdered(); // get Qty ordered
205
- $product_id = $item->getProductId(); // get its ID
206
- $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product_id); // Load the stock for this product
207
- $stock->setQty($stock->getQty()+$quantity); // Set to new Qty
208
- //if qtty = 0 after order and order fails, set stock status is_in_stock to true
209
- if ( $stock->getQty() > $stock->getMinQty() && !$stock->getIsInStock() ) {
210
- $stock->setIsInStock( 1 );
211
- }
212
- $stock->save(); // Save
213
- continue;
214
- }
215
- }
216
- }
217
  }
218
 
219
  /**
@@ -336,7 +182,7 @@ class Monext_Payline_IndexController extends Mage_Core_Controller_Front_Action
336
  $result = $paylineSDK->doWebPayment($array);
337
  }catch(Exception $e){
338
  Mage::logException($e);
339
- $this->updateStock();
340
  $msg=Mage::helper('payline')->__('Error during payment');
341
  Mage::getSingleton('core/session')->addError($msg);
342
  $msgLog='Unknown PAYLINE ERROR (payline unreachable?)';
@@ -352,7 +198,7 @@ class Monext_Payline_IndexController extends Mage_Core_Controller_Front_Action
352
  header("location:".$result['redirectURL']);
353
  exit();
354
  }else {//Payline error
355
- $this->updateStock();
356
  $msg=Mage::helper('payline')->__('Error during payment');
357
  Mage::getSingleton('core/session')->addError($msg);
358
  if (isset($result) && is_array($result)){
@@ -370,145 +216,6 @@ class Monext_Payline_IndexController extends Mage_Core_Controller_Front_Action
370
  }
371
  }
372
 
373
- /**
374
- * Initialize & process the direct payment request
375
- */
376
- public function directAction(){
377
- $array = $this->init();
378
- $paylineSDK = Mage::helper('payline')->initPayline('DIRECT',$array['payment']['currency']);
379
-
380
- //PAYMENT
381
- $array['payment']['action'] = Mage::getStoreConfig('payment/PaylineDIRECT/payline_payment_action');
382
- $array['payment']['mode'] = 'CPT';
383
-
384
- $contract = Mage::getModel('payline/contract')->load($_SESSION['payline_ccdata']->cc_type);
385
- $array['payment']['contractNumber'] = $contract->getNumber();
386
-
387
- //ORDER
388
- $array['order']['date'] = date("d/m/Y H:i");
389
-
390
- //PRIVATE DATA
391
- $privateData1 = array();
392
- $privateData1['key'] = 'orderRef';
393
- $privateData1['value'] = substr(str_replace(array("\r","\n","\t"), array('','',''),$array['order']['ref']), 0,255);
394
- $paylineSDK->setPrivate($privateData1);
395
-
396
- //ORDER DETAILS (optional)
397
- $items = $this->order->getAllItems();
398
- if ($items) {
399
- if(count($items)>100) $items=array_slice($items,0,100);
400
- foreach($items as $item) {
401
- $itemPrice = round($item->getPrice()*100);
402
- if($itemPrice > 0){
403
- $product = array();
404
- $product['ref'] = Mage::helper('payline')->encodeString(substr(str_replace(array("\r","\n","\t"), array('','',''),$item->getName()),0,50));
405
- $product['price'] = round($item->getPrice()*100);
406
- $product['quantity'] = round($item->getQtyOrdered());
407
- $product['comment'] = Mage::helper('payline')->encodeString(substr(str_replace(array("\r","\n","\t"), array('','',''),$item->getDescription()), 0,255));
408
- $paylineSDK->setItem($product);
409
- }
410
- continue;
411
- }
412
- }
413
- // CARD INFO
414
- $array['card']['number'] = $_SESSION['payline_ccdata']->cc_number;
415
- $array['card']['cardholder'] = $_SESSION['payline_ccdata']->cc_owner;
416
- $array['card']['type'] = $contract->getContractType();
417
- $array['card']['expirationDate'] = $_SESSION['payline_ccdata']->cc_exp_month.$_SESSION['payline_ccdata']->cc_exp_year;
418
- $array['card']['cvx'] = $_SESSION['payline_ccdata']->cc_cid;
419
-
420
- // Customer IP
421
- $array['buyer']['ip'] = Mage::helper('core/http')->getRemoteAddr();
422
-
423
- //3D secure
424
- $array['3DSecure'] = array();
425
-
426
- //BANK ACCOUNT DATA
427
- $array['BankAccountData'] = array();
428
-
429
- //version
430
- $array['version'] = Monext_Payline_Helper_Data::VERSION;
431
- // OWNER
432
- $array['owner']['lastName'] = Mage::helper('payline')->encodeString($_SESSION['payline_ccdata']->cc_owner);
433
-
434
- try{
435
- $author_result = $paylineSDK->doAuthorization($array);
436
- }catch(Exception $e){
437
- Mage::logException($e);
438
- $this->updateStock();
439
- $msg=Mage::helper('payline')->__('Error during payment');
440
- Mage::getSingleton('core/session')->addError($msg);
441
- $msgLog='Unknown PAYLINE ERROR (payline unreachable?)';
442
- Mage::helper('payline/logger')->log('[directAction] ' .$this->order->getIncrementId().$msgLog);
443
- $this->_redirect('checkout/onepage');
444
- return;
445
- }
446
- // RESPONSE
447
- $failedOrderStatus = Mage::getStoreConfig('payment/payline_common/failed_order_status');
448
- if(isset($author_result) && is_array($author_result) && $author_result['result']['code'] == '00000'){
449
- $array_details = array();
450
- $array_details['orderRef'] = $this->order->getRealOrderId();
451
- $array_details['transactionId'] = $author_result['transaction']['id'];
452
- $array_details['startDate'] = '';
453
- $array_details['endDate'] = '';
454
- $array_details['transactionHistory']= '';
455
- $array_details['version'] = Monext_Payline_Helper_Data::VERSION;
456
- $array_details['archiveSearch'] = '';
457
- $detail_result = $paylineSDK->getTransactionDetails($array_details);
458
-
459
- if($this->updateOrder($detail_result,$detail_result['transaction']['id'], 'DIRECT')){
460
- $redirectUrl = Mage::getBaseUrl()."checkout/onepage/success/";
461
- if($detail_result['result']['code'] == '04003') {
462
- $newOrderStatus = Mage::getStoreConfig('payment/payline_common/fraud_order_status');
463
- Mage::helper('payline')->setOrderStatus($this->order, $newOrderStatus);
464
- } else {
465
- Mage::helper('payline')->setOrderStatusAccordingToPaymentMode(
466
- $this->order, $array['payment']['action'] );
467
- }
468
-
469
- $array['wallet']['lastName'] = $array['buyer']['lastName'];
470
- $array['wallet']['firstName'] = $array['buyer']['firstName'];
471
- $array['wallet']['email'] = $array['buyer']['email'];
472
- // remember, the Beast is not so far
473
- $array['address'] = $array['shippingAddress'];
474
- $array['ownerAddress'] = null;
475
-
476
- Mage::helper('payline')->createWalletForCurrentCustomer($paylineSDK, $array);
477
- Mage::helper('payline')->automateCreateInvoiceAtShopReturn('DIRECT', $this->order);
478
- $this->order->save();
479
- Mage_Core_Controller_Varien_Action::_redirectSuccess($redirectUrl);
480
- }else{
481
- $msgLog='Error during order update (#'.$this->order->getIncrementId().')'."\n";
482
- $this->order->setState(Mage_Sales_Model_Order::STATE_CANCELED,$failedOrderStatus,$msgLog,false);
483
- $this->order->save();
484
-
485
- $msg=Mage::helper('payline')->__('Error during payment');
486
- Mage::getSingleton('core/session')->addError($msg);
487
- Mage::helper('payline/logger')->log('[directAction] ' .$this->order->getIncrementId().$msgLog);
488
- $this->_redirectUrl($this->_getPaymentRefusedRedirectUrl());
489
- return;
490
- }
491
- }else {
492
- if(isset($author_result) && is_array($author_result)){
493
- $msgLog='PAYLINE ERROR : '.$author_result['result']['code']. ' ' . $author_result['result']['shortMessage'] . ' ('.$author_result['result']['longMessage'].')';
494
- } elseif(isset($author_result) && is_string($author_result)){
495
- $msgLog='PAYLINE ERROR : '. $author_result;
496
- } else{
497
- $msgLog='Unknown PAYLINE ERROR';
498
- }
499
-
500
- $this->updateStock();
501
- $this->order->setState(Mage_Sales_Model_Order::STATE_CANCELED,$failedOrderStatus,$msgLog,false);
502
- $this->order->save();
503
-
504
- $msg=Mage::helper('payline')->__('Error during payment');
505
- Mage::getSingleton('core/session')->addError($msg);
506
- Mage::helper('payline/logger')->log('[directAction] ' .$this->order->getIncrementId().$msgLog);
507
- $this->_redirectUrl($this->_getPaymentRefusedRedirectUrl());
508
- return;
509
- }
510
- }
511
-
512
  /** Initialisize a WALLET payment request
513
  *
514
  */
@@ -570,7 +277,7 @@ class Monext_Payline_IndexController extends Mage_Core_Controller_Front_Action
570
  $author_result = $paylineSDK->doImmediateWalletPayment($array);
571
  }catch(Exception $e){
572
  Mage::logException($e);
573
- $this->updateStock();
574
  $msg=Mage::helper('payline')->__('Error during payment');
575
  Mage::getSingleton('core/session')->addError($msg);
576
  $msgLog='Unknown PAYLINE ERROR (payline unreachable?) during wallet payment';
@@ -591,7 +298,7 @@ class Monext_Payline_IndexController extends Mage_Core_Controller_Front_Action
591
  $array_details['archiveSearch'] = '';
592
  $detail_result = $paylineSDK->getTransactionDetails($array_details);
593
 
594
- if(is_array($detail_result) && $this->updateOrder($detail_result,$detail_result['transaction']['id'], 'WALLET')){
595
  $redirectUrl = Mage::getBaseUrl()."checkout/onepage/success/";
596
  if($detail_result['result']['code'] == '04003') {
597
  $newOrderStatus = Mage::getStoreConfig('payment/payline_common/fraud_order_status');
@@ -615,7 +322,7 @@ class Monext_Payline_IndexController extends Mage_Core_Controller_Front_Action
615
  }
616
 
617
  }else {
618
- $this->updateStock();
619
  if(isset($author_result) && is_array($author_result)){
620
  $msgLog='PAYLINE ERROR during doImmediateWalletPayment: '.$author_result['result']['code']. ' ' . $author_result['result']['shortMessage'] . ' ('.$author_result['result']['longMessage'].')';
621
  }elseif(isset($author_result) && is_string($author_result)){
@@ -722,7 +429,7 @@ class Monext_Payline_IndexController extends Mage_Core_Controller_Front_Action
722
  $result = $paylineSDK->doWebPayment($array);
723
  }catch(Exception $e){
724
  Mage::logException($e);
725
- $this->updateStock();
726
  $msg=Mage::helper('payline')->__('Error during payment');
727
  Mage::getSingleton('core/session')->addError($msg);
728
  $msgLog='Unknown PAYLINE ERROR (payline unreachable?)';
@@ -738,7 +445,7 @@ class Monext_Payline_IndexController extends Mage_Core_Controller_Front_Action
738
  header("location:".$result['redirectURL']);
739
  exit();
740
  }else {
741
- $this->updateStock();
742
  if(isset($result) && is_array($result)){
743
  $msgLog='PAYLINE ERROR : '.$result['result']['code']. ' ' . $result['result']['shortMessage'] . ' ('.$result['result']['longMessage'].')';
744
  } elseif(isset($result) && is_string($result)){
@@ -835,7 +542,7 @@ class Monext_Payline_IndexController extends Mage_Core_Controller_Front_Action
835
 
836
  $failedOrderStatus = Mage::getStoreConfig('payment/payline_common/failed_order_status');
837
 
838
- if(is_array($res) && $this->updateOrder($res,$res['transaction']['id'], 'CPT')){
839
  $redirectUrl = Mage::getBaseUrl()."checkout/onepage/success/";
840
 
841
  if($res['result']['code'] == '04003') {
@@ -915,7 +622,7 @@ class Monext_Payline_IndexController extends Mage_Core_Controller_Front_Action
915
  }
916
  }
917
  }
918
- if($billingRecord && $this->updateOrder($res,$billingRecord->transaction->id,'NX')) {
919
  $redirectUrl = Mage::getBaseUrl()."checkout/onepage/success/";
920
 
921
  if($res['result']['code'] == '04003') {
18
  return Mage::getSingleton('customer/session');
19
  }
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  /**
22
  *
23
  * Set the order's status to the provided status (must be part of the cancelled state)
26
  */
27
  private function cancelOrder($cancelStatus, $resCode = '',$message = ''){
28
  $this->order->setState(Mage_Sales_Model_Order::STATE_CANCELED,$cancelStatus,$message,false);
29
+ Mage::helper('payline/payment')->updateStock($this->order);
30
  $this->order->save();
31
 
32
+ $this->_redirectUrl($this->_getPaymentRefusedRedirectUrl());
33
  }
34
 
35
  /**
55
  * Initialise the requests param array
56
  * @return array
57
  */
58
+ private function init()
59
+ {
 
60
  $_session = Mage::getSingleton('checkout/session');
 
61
  $this->order = Mage::getModel('sales/order')->loadByIncrementId($_session->getLastRealOrderId());
62
+ return Mage::helper('payline/payment')->init($this->order);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  }
64
 
65
  /**
182
  $result = $paylineSDK->doWebPayment($array);
183
  }catch(Exception $e){
184
  Mage::logException($e);
185
+ Mage::helper('payline/payment')->updateStock($this->order);
186
  $msg=Mage::helper('payline')->__('Error during payment');
187
  Mage::getSingleton('core/session')->addError($msg);
188
  $msgLog='Unknown PAYLINE ERROR (payline unreachable?)';
198
  header("location:".$result['redirectURL']);
199
  exit();
200
  }else {//Payline error
201
+ Mage::helper('payline/payment')->updateStock($this->order);
202
  $msg=Mage::helper('payline')->__('Error during payment');
203
  Mage::getSingleton('core/session')->addError($msg);
204
  if (isset($result) && is_array($result)){
216
  }
217
  }
218
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
219
  /** Initialisize a WALLET payment request
220
  *
221
  */
277
  $author_result = $paylineSDK->doImmediateWalletPayment($array);
278
  }catch(Exception $e){
279
  Mage::logException($e);
280
+ Mage::helper('payline/payment')->updateStock($this->order);
281
  $msg=Mage::helper('payline')->__('Error during payment');
282
  Mage::getSingleton('core/session')->addError($msg);
283
  $msgLog='Unknown PAYLINE ERROR (payline unreachable?) during wallet payment';
298
  $array_details['archiveSearch'] = '';
299
  $detail_result = $paylineSDK->getTransactionDetails($array_details);
300
 
301
+ if(is_array($detail_result) && Mage::helper('payline/payment')->updateOrder($this->order, $detail_result,$detail_result['transaction']['id'], 'WALLET')){
302
  $redirectUrl = Mage::getBaseUrl()."checkout/onepage/success/";
303
  if($detail_result['result']['code'] == '04003') {
304
  $newOrderStatus = Mage::getStoreConfig('payment/payline_common/fraud_order_status');
322
  }
323
 
324
  }else {
325
+ Mage::helper('payline/payment')->updateStock($this->order);
326
  if(isset($author_result) && is_array($author_result)){
327
  $msgLog='PAYLINE ERROR during doImmediateWalletPayment: '.$author_result['result']['code']. ' ' . $author_result['result']['shortMessage'] . ' ('.$author_result['result']['longMessage'].')';
328
  }elseif(isset($author_result) && is_string($author_result)){
429
  $result = $paylineSDK->doWebPayment($array);
430
  }catch(Exception $e){
431
  Mage::logException($e);
432
+ Mage::helper('payline/payment')->updateStock($this->order);
433
  $msg=Mage::helper('payline')->__('Error during payment');
434
  Mage::getSingleton('core/session')->addError($msg);
435
  $msgLog='Unknown PAYLINE ERROR (payline unreachable?)';
445
  header("location:".$result['redirectURL']);
446
  exit();
447
  }else {
448
+ Mage::helper('payline/payment')->updateStock($this->order);
449
  if(isset($result) && is_array($result)){
450
  $msgLog='PAYLINE ERROR : '.$result['result']['code']. ' ' . $result['result']['shortMessage'] . ' ('.$result['result']['longMessage'].')';
451
  } elseif(isset($result) && is_string($result)){
542
 
543
  $failedOrderStatus = Mage::getStoreConfig('payment/payline_common/failed_order_status');
544
 
545
+ if(is_array($res) && Mage::helper('payline/payment')->updateOrder($this->order, $res,$res['transaction']['id'], 'CPT')){
546
  $redirectUrl = Mage::getBaseUrl()."checkout/onepage/success/";
547
 
548
  if($res['result']['code'] == '04003') {
622
  }
623
  }
624
  }
625
+ if($billingRecord && Mage::helper('payline/payment')->updateOrder($this->order, $res,$billingRecord->transaction->id,'NX')) {
626
  $redirectUrl = Mage::getBaseUrl()."checkout/onepage/success/";
627
 
628
  if($res['result']['code'] == '04003') {
app/code/community/Monext/Payline/etc/config.xml CHANGED
@@ -3,7 +3,7 @@
3
  <modules>
4
  <Monext_Payline>
5
  <version>1.7.7</version>
6
- <release>1.7.9.0</release>
7
  </Monext_Payline>
8
  </modules>
9
  <global>
@@ -108,6 +108,14 @@
108
  </payline>
109
  </observers>
110
  </controller_action_postdispatch_checkout_onepage_saveShippingMethod>
 
 
 
 
 
 
 
 
111
  </events>
112
  <sales>
113
  <quote>
@@ -256,6 +264,7 @@
256
  <!-- Auth+Capture, 100 is capture only -->
257
  <payline_payment_action>101</payline_payment_action>
258
  <send_wallet_id>1</send_wallet_id>
 
259
  </PaylineDIRECT>
260
  <PaylineWALLET>
261
  <model>payline/wallet</model>
3
  <modules>
4
  <Monext_Payline>
5
  <version>1.7.7</version>
6
+ <release>1.8.0.1</release>
7
  </Monext_Payline>
8
  </modules>
9
  <global>
108
  </payline>
109
  </observers>
110
  </controller_action_postdispatch_checkout_onepage_saveShippingMethod>
111
+ <customer_logout>
112
+ <observers>
113
+ <clean_payline>
114
+ <class>payline/observer</class>
115
+ <method>cleanPayline</method>
116
+ </clean_payline>
117
+ </observers>
118
+ </customer_logout>
119
  </events>
120
  <sales>
121
  <quote>
264
  <!-- Auth+Capture, 100 is capture only -->
265
  <payline_payment_action>101</payline_payment_action>
266
  <send_wallet_id>1</send_wallet_id>
267
+ <payment_action>order</payment_action>
268
  </PaylineDIRECT>
269
  <PaylineWALLET>
270
  <model>payline/wallet</model>
app/design/adminhtml/{default → base}/default/layout/payline.xml RENAMED
File without changes
app/design/adminhtml/base/default/template/payline/Cpt.phtml ADDED
@@ -0,0 +1 @@
 
1
+ <p><?php echo $this->__("The payment via Payline isn't available from the administration of your platform."); ?></p>
app/design/adminhtml/base/default/template/payline/Direct.phtml ADDED
@@ -0,0 +1 @@
 
1
+ <p><?php echo $this->__("The payment via Payline isn't available from the administration of your platform."); ?></p>
app/design/adminhtml/base/default/template/payline/Payline.phtml ADDED
@@ -0,0 +1 @@
 
1
+ <p><?php echo $this->__("The payment via Payline isn't available from the administration of your platform."); ?></p>
app/design/adminhtml/{default → base}/default/template/payline/contracts.phtml RENAMED
File without changes
app/design/adminhtml/{default → base}/default/template/payline/customer/tab/view.phtml RENAMED
File without changes
app/design/adminhtml/{default → base}/default/template/payline/payment/info/monext.phtml RENAMED
@@ -13,7 +13,7 @@
13
  <?php foreach ($_specificInfo as $_label => $_value):?>
14
  <tr>
15
  <td><?php echo $this->escapeHtml($_label)?>:</td>
16
- <td><?php echo nl2br(implode($this->getValueAsArray($_value, true), "\n"))?></td>
17
  </tr>
18
  <?php endforeach; ?>
19
  </table>
13
  <?php foreach ($_specificInfo as $_label => $_value):?>
14
  <tr>
15
  <td><?php echo $this->escapeHtml($_label)?>:</td>
16
+ <td><?php echo nl2br(implode($this->getValueAsArray($_value, false), "\n"))?></td>
17
  </tr>
18
  <?php endforeach; ?>
19
  </table>
app/design/adminhtml/{default → base}/default/template/payline/switcher.phtml RENAMED
File without changes
app/design/adminhtml/base/default/template/payline/wallet/form.phtml ADDED
@@ -0,0 +1 @@
 
1
+ <p><?php echo $this->__("The payment via Payline isn't available from the administration of your platform."); ?></p>
app/design/frontend/{default → base}/default/layout/payline.xml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/payline/Cpt.phtml RENAMED
@@ -5,8 +5,10 @@
5
  <?php $payments = $this->getPaymentMethods();?>
6
  <?php foreach ($payments as $p): ?>
7
  <li>
 
8
  <input type="radio" value="<?php echo $p['number'] ?>" name="payment[cc_type]" class="radio validate-one-required-by-name"/>
9
  <img src="<?php echo $this->getLogoUrl($p['type'])?>" alt="<?php echo strtoupper($p['name']) ?>" />
 
10
  </li>
11
  <?php endforeach; ?>
12
  <li>
5
  <?php $payments = $this->getPaymentMethods();?>
6
  <?php foreach ($payments as $p): ?>
7
  <li>
8
+ <label>
9
  <input type="radio" value="<?php echo $p['number'] ?>" name="payment[cc_type]" class="radio validate-one-required-by-name"/>
10
  <img src="<?php echo $this->getLogoUrl($p['type'])?>" alt="<?php echo strtoupper($p['name']) ?>" />
11
+ </label>
12
  </li>
13
  <?php endforeach; ?>
14
  <li>
app/design/frontend/{default → base}/default/template/payline/Direct.phtml RENAMED
@@ -22,7 +22,7 @@
22
  <li>
23
  <label for="<?php echo $_code ?>_cc_number" class="required"><em>*</em><?php echo $this->__('Credit Card Number') ?></label>
24
  <div class="input-box">
25
- <input type="text" id="<?php echo $_code ?>_cc_number" name="payment[cc_number]" title="<?php echo $this->__('Credit Card Number') ?>" class="input-text required-entry" value="" />
26
  </div>
27
  </li>
28
  <li>
22
  <li>
23
  <label for="<?php echo $_code ?>_cc_number" class="required"><em>*</em><?php echo $this->__('Credit Card Number') ?></label>
24
  <div class="input-box">
25
+ <input type="text" id="<?php echo $_code ?>_cc_number" name="payment[cc_number]" title="<?php echo $this->__('Credit Card Number') ?>" class="input-text required-entry validate-cc-number" value="" />
26
  </div>
27
  </li>
28
  <li>
app/design/frontend/{default → base}/default/template/payline/Payline.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/payline/checkout/onepage.phtml RENAMED
File without changes
app/design/frontend/base/default/template/payline/checkout/onepage/addjs.phtml ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script type="text/javascript">
2
+ //<![CDATA[
3
+
4
+ function paylineTrySkipPaymentMethod() {
5
+ if (!paylinePaymentSavedTransport) {
6
+ return;
7
+ }
8
+ var paylinePaymentInputNames = [];
9
+ var paylineIsUniquePaymentChoice = true;
10
+ // retrive all radio groups
11
+ $$('#opc-payment input[type=radio]').each(function (radio) {
12
+ if (paylinePaymentInputNames.indexOf(radio.name)==-1)
13
+ paylinePaymentInputNames.push(radio.name);
14
+ else
15
+ paylineIsUniquePaymentChoice = false;
16
+ });
17
+
18
+ // if only one input by group
19
+ if (paylineIsUniquePaymentChoice) {
20
+ // check all boxes
21
+ paylinePaymentInputNames.each(function (name) {
22
+ $$('#opc-payment input[name="' + name + '"]').first().checked = true;
23
+ });
24
+ // go to review step
25
+ checkout.setStepResponse(paylinePaymentSavedTransport);
26
+ }
27
+ }
28
+
29
+ /**
30
+ * This is a bugfix.
31
+ * Instead of doing a double up(), we do a up('li'), which is more precise and to get the good element.
32
+ * After replacing the method, we need to re-bind the click handle with the new method.
33
+ */
34
+ if (Checkout !== undefined) {
35
+
36
+ /**
37
+ * Section header click handler
38
+ *
39
+ * @param event
40
+ */
41
+ Checkout.prototype._onSectionClick = function(event) {
42
+ var section = $(Event.element(event).up('li'));
43
+ if (section.hasClassName('allow')) {
44
+ Event.stop(event);
45
+ this.gotoSection(section.readAttribute('id').replace('opc-', ''), false);
46
+ return false;
47
+ }
48
+ };
49
+
50
+ // We need to re-bind the click handle on the sections
51
+ Checkout.prototype.rebindSections = function () {
52
+ this.accordion.sections.each(function(section) {
53
+ Event.stopObserving($(section).down('.step-title'), 'click'); // Stop observing
54
+ // Observe again but with the good method ;)
55
+ Event.observe($(section).down('.step-title'), 'click', this._onSectionClick.bindAsEventListener(this));
56
+ }.bind(this));
57
+ };
58
+ if (checkout !== undefined) {
59
+ // Call the rebind method
60
+ checkout.rebindSections();
61
+ }
62
+
63
+ }
64
+
65
+ //]]>
66
+ </script>
app/design/frontend/{default → base}/default/template/payline/checkout/onepage/info/default.phtml RENAMED
@@ -1,3 +1,4 @@
 
1
  <?php $_specificInfo = $this->getSpecificInformation()?>
2
  <?php if (!empty($_specificInfo)) :?>
3
  <table class="payline-payment">
@@ -14,5 +15,5 @@
14
  <p><?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?></p>
15
  <?php endif?>
16
  <div class="payline-payment-logo">
17
- <img src="<?php echo $this->getSkinUrl('images/payline-logo.png')?>" />
18
  </div>
1
+ <?php /* @var $this Monext_Payline_Block_Info_Direct */ ?>
2
  <?php $_specificInfo = $this->getSpecificInformation()?>
3
  <?php if (!empty($_specificInfo)) :?>
4
  <table class="payline-payment">
15
  <p><?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?></p>
16
  <?php endif?>
17
  <div class="payline-payment-logo">
18
+ <img src="<?php echo $this->getSkinUrl('images/monext/payline-logo.png')?>" />
19
  </div>
app/design/frontend/{default → base}/default/template/payline/checkout/onepage/payment/methods.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/payline/checkout/onepage/shipping-method.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/payline/checkout/total.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/payline/iframe.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/payline/iframeleaver.phtml RENAMED
File without changes
app/design/frontend/base/default/template/payline/logo.phtml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php if ($this->isPaylineAvailable()):?>
2
+ <div class="payline-logo">
3
+ <img src="<?php echo $this->getSkinUrl('images/monext/payline-logo.png')?>" alt="<?php echo $this->__('Secured by Payline');?>" />
4
+ </div>
5
+ <?php endif;?>
app/design/frontend/{default → base}/default/template/payline/page/empty.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/payline/payment/info/monext.phtml RENAMED
@@ -36,7 +36,7 @@
36
  <?php foreach ($_specificInfo as $_label => $_value):?>
37
  <tr>
38
  <td><?php echo $this->escapeHtml($_label)?>:</td>
39
- <td><?php echo nl2br(implode($this->getValueAsArray($_value, true), "\n"))?></td>
40
  </tr>
41
  <?php endforeach; ?>
42
  </table>
36
  <?php foreach ($_specificInfo as $_label => $_value):?>
37
  <tr>
38
  <td><?php echo $this->escapeHtml($_label)?>:</td>
39
+ <td><?php echo nl2br(implode($this->getValueAsArray($_value, false), "\n"))?></td>
40
  </tr>
41
  <?php endforeach; ?>
42
  </table>
app/design/frontend/{default → base}/default/template/payline/wallet/checkoutbtn.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/payline/wallet/details.phtml RENAMED
@@ -1,3 +1,4 @@
 
1
  <div class="wallet_details">
2
  <?php $wallet=$this->getWallet();?>
3
  <?php if ($wallet):?>
1
+ <?php /* @var $this Monext_Payline_Block_Wallet_Details */ ?>
2
  <div class="wallet_details">
3
  <?php $wallet=$this->getWallet();?>
4
  <?php if ($wallet):?>
app/design/frontend/{default → base}/default/template/payline/wallet/form.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/payline/wallet/manage.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/payline/wallet/sidebar.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/payline/wallet/sidebar/form.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/payline/wallet/sidebar/notlogged.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/payline/wallet/subscribe.phtml RENAMED
File without changes
app/design/frontend/{default → base}/default/template/payline/wallet/update.phtml RENAMED
File without changes
app/design/frontend/default/default/template/payline/checkout/onepage/addjs.phtml DELETED
@@ -1,30 +0,0 @@
1
- <script type="text/javascript">
2
- //<![CDATA[
3
-
4
- function paylineTrySkipPaymentMethod() {
5
- if (!paylinePaymentSavedTransport) {
6
- return;
7
- }
8
- var paylinePaymentInputNames = [];
9
- var paylineIsUniquePaymentChoice = true;
10
- // retrive all radio groups
11
- $$('#opc-payment input[type=radio]').each(function (radio) {
12
- if (paylinePaymentInputNames.indexOf(radio.name)==-1)
13
- paylinePaymentInputNames.push(radio.name);
14
- else
15
- paylineIsUniquePaymentChoice = false;
16
- });
17
-
18
- // if only one input by group
19
- if (paylineIsUniquePaymentChoice) {
20
- // check all boxes
21
- paylinePaymentInputNames.each(function (name) {
22
- $$('#opc-payment input[name="' + name + '"]').first().checked = true;
23
- });
24
- // go to review step
25
- checkout.setStepResponse(paylinePaymentSavedTransport);
26
- }
27
- }
28
-
29
- //]]>
30
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/default/default/template/payline/logo.phtml DELETED
@@ -1,5 +0,0 @@
1
- <?php if ($this->isPaylineAvailable()):?>
2
- <div class="payline-logo">
3
- <img src="<?php echo $this->getSkinUrl('images/payline-logo.png')?>" alt="<?php echo $this->__('Secured by Payline');?>" />
4
- </div>
5
- <?php endif;?>
 
 
 
 
 
app/locale/en_US/Monext_Payline.csv CHANGED
@@ -141,4 +141,5 @@
141
  "Page to return when payment is refused","Page to return when payment is refused"
142
  "Your payment is refused","Your payment is refused"
143
  "Your payment is canceled","Your payment is canceled"
144
- "Set","Set"
 
141
  "Page to return when payment is refused","Page to return when payment is refused"
142
  "Your payment is refused","Your payment is refused"
143
  "Your payment is canceled","Your payment is canceled"
144
+ "Set","Set""The payment via Payline isn't available from the administration of your platform.","The payment via Payline isn't available from the administration of your platform."
145
+ "An error occured during the payment. Please retry later or use an other payment method.","An error occured during the payment. Please retry later or use an other payment method."
app/locale/fr_FR/Monext_Payline.csv CHANGED
@@ -154,3 +154,5 @@
154
  "Your payment is refused","Votre paiement est refusé"
155
  "Your payment is canceled","Votre paiement est annulé"
156
  "Set", "Mettre"
 
 
154
  "Your payment is refused","Votre paiement est refusé"
155
  "Your payment is canceled","Votre paiement est annulé"
156
  "Set", "Mettre"
157
+ "The payment via Payline isn't available from the administration of your platform.","Le paiement via Payline n'est pas disponible depuis l'administration de votre plateforme."
158
+ "An error occured during the payment. Please retry later or use an other payment method.","Une erreur s'est produite lors du paiement. Veuillez réessayer dans quelques minutes ou utiliser un autre moyen de paiement."
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Payline</name>
4
- <version>1.7.9.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/gpl-license.php">GNU General Public License (GPL)</license>
7
  <channel>community</channel>
@@ -10,11 +10,12 @@
10
  <description>Profitez d&#xE8;s &#xE0; pr&#xE9;sent de l'essor du march&#xE9; de la vente &#xE0; distance en proposant &#xE0; vos clients une solution de paiement totalement s&#xE9;curis&#xE9;e. Gr&#xE2;ce &#xE0; Payline vous permettez &#xE0; vos clients de r&#xE9;gler avec leur moyen de paiement habituel, quel que soit votre canal de vente. Vous leur proposez une interface de paiement facile &#xE0; utiliser, en mesure de vous accompagner dans votre d&#xE9;veloppement &#xE0; l'international, en toute simplicit&#xE9;.&#xD;
11
  &#xD;
12
  Fonctionnalit&#xE9;s : autorisation, autorisation + validation, paiement en n fois, paiement par portefeuille et en 1 clic, validation et remboursement partiels, multi-boutique...</description>
13
- <notes>Am&#xE9;lioration des performances globales du module et mise en place d'URLs s&#xE9;curis&#xE9;es pour toutes les pages de callback de l'API Payline.</notes>
 
14
  <authors><author><name>Payline</name><user>Payline</user><email>support@payline.com</email></author><author><name>Monsieur Biz</name><user>monsieurbiz</user><email>contact@monsieurbiz.com</email></author></authors>
15
- <date>2014-04-24</date>
16
- <time>16:35:50</time>
17
- <contents><target name="magecommunity"><dir name="Monext"><dir name="Payline"><dir name="Block"><dir name="Adminhtml"><dir name="Customer"><file name="Grid.php" hash="13b7c449e07ef729fbac8caa708decd1"/></dir><dir name="Managecontracts"><dir name="Edit"><file name="Form.php" hash="05040427f41fb110db974ff5a3eb6ba9"/></dir><file name="Edit.php" hash="38292b1b746b401ee60bb7742885e045"/><file name="Grid.php" hash="de14d88f9c299895168e5d1a214e267f"/></dir><file name="Managecontracts.php" hash="343434dde00ba5d5ba35ed255c44a98e"/><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><dir name="Create"><file name="Items.php" hash="c7cd82866d8788ff32d42df8fcdc11f8"/></dir></dir><dir name="Total"><file name="Nxfees.php" hash="cd28c26f717481421bfab12c55ab5378"/></dir></dir></dir></dir><dir name="Checkout"><file name="Total.php" hash="df9fd2acea6ca2be213bfd5e335cedd6"/></dir><file name="Cpt.php" hash="dc2d6ea751fd4cdb3b0bc7398e3325e6"/><file name="Direct.php" hash="eb13793e246d22a0df6d412870ff2cf1"/><dir name="Info"><file name="Default.php" hash="028809c8e83cd97df32d3fe15833e609"/><file name="Direct.php" hash="f3a87e79429f581e2c896cc99f169aed"/></dir><file name="Logo.php" hash="2b7784f040f04489448fbc13b05ffe74"/><file name="Nx.php" hash="e4fd920c944abe9963f76e111e90ba48"/><dir name="Wallet"><file name="Checkoutbtn.php" hash="bbd8b30f2a37e83ce295295f0fe10ebf"/><file name="Details.php" hash="03cb96bd76d2265b842677b2a6825303"/><file name="Infos.php" hash="ae673ceafb630efbf0308657f766a816"/><file name="Sidebar.php" hash="db70b60be9aa20316f91b3fa3a23a2b9"/></dir><file name="Wallet.php" hash="6326c9e76c84777597f30a89d718ccb4"/></dir><dir name="Helper"><file name="Data.php" hash="728992ec9af790da602315b15c180611"/><file name="Logger.php" hash="6b7cf036fdf2e6df2cb7fa645c8912b9"/></dir><dir name="Model"><dir name="Contract"><file name="Status.php" hash="8008f1c37b76489b00fb8af1c8ac5380"/></dir><file name="Contract.php" hash="41066e691fbe94ae19e4aa54bda67415"/><file name="Cpt.php" hash="72c0674c310b4e8f726a94d3d1d80e33"/><dir name="Datasource"><file name="Actions.php" hash="2152344a8bd5fbf7dbe711c58f97356c"/><file name="Billingcycles.php" hash="bef244e6d9e744fbbc3afed9cc2050f9"/><file name="Billingoccurrences.php" hash="581ce23ec626ed71791b13c7b11fe6db"/><file name="Capturepaymentoptions.php" hash="466fa40f3dbee7274b04835437718eb5"/><dir name="Cms"><file name="Block.php" hash="eee43f517c9e29e51f0ca21fdc7b74ed"/></dir><file name="Costs.php" hash="ac09cf06fbe9a1fabddb2a4727dd696f"/><file name="Languages.php" hash="17053eec4880c5c5b1f233a3ca9f0bda"/><file name="Paymentactions.php" hash="6c4aae3b1b4e8b987a4da7393a3a92eb"/><file name="Paymentactionsreauth.php" hash="ef87674b1742240f9c2af17eb38fd994"/><file name="Return.php" hash="d8fac75b41a931a4714ed8acf846d9a2"/><file name="Securitymodes.php" hash="06c55b65e9254d96fa87595322839932"/><file name="Shippingmethods.php" hash="1c67f2af87583aae049c86cb4dcdf881"/><dir name="Status"><file name="Canceled.php" hash="c4e799efcb052536081339520c7b72c2"/><file name="Invoice.php" hash="31e818802c4419c81014dd1eafb0e587"/></dir><file name="Status.php" hash="bfbad8f0b150e92b15b8f623a2600b88"/><file name="Statusrowempty.php" hash="7865774f631fb8ffa6032aea1357a8cd"/></dir><file name="Direct.php" hash="d7bde5b06b400fb9362a527d556287c2"/><file name="Fees.php" hash="1e731ffbe45788596eb0f012c6697e21"/><dir name="Mysql4"><dir name="Contract"><file name="Collection.php" hash="7d71121cac131f11dc012375b4412d85"/><dir name="Status"><file name="Collection.php" hash="5703c017983d2511eb59db6a885f6aff"/></dir><file name="Status.php" hash="cee6aed4558ed7ee6acc393e5ac68918"/></dir><file name="Contract.php" hash="9d9befb9c0dfbf0ba702a7891106d5d4"/><dir name="Fees"><file name="Collection.php" hash="b00bb0ec3e0a75a2435f6c55d3eea02c"/></dir><file name="Fees.php" hash="fc1cec62290ea241844efd042d9db8da"/></dir><file name="Nx.php" hash="830433cc06e92665fd554fe0030070f0"/><file name="Observer.php" hash="d74fc87d32d049d98cf1daa9f6ee8ab2"/><dir name="Order"><file name="Invoice.php" hash="d11ecac46707a700ad829d2bcc74d961"/><file name="Payment.php" hash="e4c855ea48cd1044ec53c8c5d34b3c99"/></dir><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><file name="Setup.php" hash="f0cb886cd65e23ec397e651d7913ea9e"/></dir></dir></dir><dir name="Total"><dir name="Nx"><file name="Invoice.php" hash="6ead6df53b6169709797d6c08cd4d16c"/><file name="Quote.php" hash="e48fd38a9d41a339d367137c2fa1e4d7"/></dir></dir><file name="Wallet.php" hash="91b56a80949971c7bb6e1388ada10ebe"/></dir><dir name="PaylinePHPKit"><dir name="configuration"><file name="HighDefinition.ini" hash="689dc8f1ba03e0c04ae6a8758df38f1b"/></dir><dir name="lib"><file name="Payline.wsdl" hash="b22b4ddfb2751c886e25d7202731c686"/><file name="jIniFileModifier.php" hash="f7d309bd1fb8f408528151b0555b188c"/><file name="lib_debug.php" hash="95068167e94fd376f0489709ebaa4cb0"/><file name="paylineSDK.php" hash="c09ce4a4363e8c4c9055fea174023912"/></dir><dir name="logs"><file name="2014-04-12.log" hash="a9200f939eee345b23b5b9acbff03a33"/><file name="2014-04-13.log" hash="29a230c53f297c97fc1beaee6508db26"/><file name="2014-04-15.log" hash="ced50e0097a970c6e072b97749e6d47f"/><file name="2014-04-22.log" hash="dff5884d03e6e3272fd6eb13c399d2ef"/><file name="remove.me" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Payline"><file name="ManagecontractsController.php" hash="068568622f140713527ee3229bdaf187"/></dir></dir><file name="CheckoutonepageController.php" hash="77772924163d5b5a2bc90f1b1ead6020"/><file name="IndexController.php" hash="84de82d8fcc6a4fb013b1aa46cf41835"/><file name="UnloggedwalletController.php" hash="90af5be8a8fa8dd1b2e29a442c0b7aab"/><file name="WalletController.php" hash="b6b77a5e4979ed582959f07a913be481"/></dir><dir name="etc"><file name="config.xml" hash="4ee785b7842c8cb401b0d4ab3d1bf149"/><file name="system.xml" hash="b49e20cd60249cf8396f940d91fbbc28"/></dir><dir name="sql"><dir name="payline_setup"><file name="mysql4-install-1.6.0.php" hash="ed5013f743ba36a7b2884fc432f97e16"/><file name="mysql4-upgrade-1.7.2-1.7.3.php" hash="7eeb0f5cfc6c379d8300428a5ec39c46"/><file name="mysql4-upgrade-1.7.5-1.7.6.php" hash="0ebfd38e90a8139c67087fc1e16f1aba"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="css"><file name="payline.css" hash="414432db8dc1d0682f4988917bd8dd6f"/></dir><dir name="images"><dir name="payline_moyens_paiement"><file name="1euro.png" hash="8d5e4917497ba61120090e166014886d"/><file name="3xcb.png" hash="c76c834e238d3a8e3b3b4a2c116f189c"/><file name="amex.png" hash="a47d6bfc7eb4e06f3e3acb8a55cfd3c9"/><file name="amexoneclick.png" hash="a47d6bfc7eb4e06f3e3acb8a55cfd3c9"/><file name="aurore.png" hash="e2be3e130bd1212d9375a3bdb354cb78"/><file name="buyster.png" hash="8ec0f280dccd1c18c84cfbd368c6f579"/><file name="casino.png" hash="ce5b159bc98c7f71e8149e1d8b256dbd"/><file name="cb.png" hash="a5d9178bc831cbc78238dff27f79a48b"/><file name="cofinoga.png" hash="1dd7025dd22ac998aa968b38693a6a71"/><file name="cyrillus.png" hash="f762ad007f552bf409f5baa610f6746a"/><file name="default.png" hash="26c2dff177e1f8a94994352f6a7cec88"/><file name="diners.png" hash="6c907b8f0233b035ec4c27c2e9542406"/><file name="elv.png" hash="d0bd93c59ef64709b9a5cd81ff557e28"/><file name="fnac.png" hash="c0a7aa595b18fb52105d9337fda3eb1c"/><file name="ideal.png" hash="e0594aed23073daab150d8288a81103c"/><file name="internetplus.png" hash="fe1bc34531cfd6fd3dab6a6614e7ca3f"/><file name="jcb.png" hash="9801aeed2550ffccbdc3fe88b5292a60"/><file name="kangourou.png" hash="5fac97aa8f70380ec3b601ff32fdc012"/><file name="leetchi.png" hash="ecf6612b0228b889c723498f476c4309"/><file name="maestro.png" hash="19d331ae4783d590dba694cbcbb26da9"/><file name="mandarine.png" hash="745a8999468f60753c9c51a0052c527a"/><file name="mastercard.png" hash="cb7aa4a6f3870145295c4ce16a602d1e"/><file name="maxicheque.png" hash="fc3e2988c9944467fc8d4e44b4118a32"/><file name="mcvisa.png" hash="ba6349155be595d6da5ee584241c2946"/><file name="moneo.png" hash="283cf98332a5c05521229282875a158d"/><file name="neosurf.png" hash="9a747833ce3d9cbb3c26d4a11d7e4b4b"/><file name="okshopping.png" hash="8498bd45cf87124d12c4bfbf81272f14"/><file name="pass.png" hash="adb923e16cd9419960a51d0d41f26f97"/><file name="passvisa.png" hash="bd88d99714e9a3ba5000f881a0289f58"/><file name="payfair.png" hash="82f5dc87ea6f43f386b0e4887f33e5e8"/><file name="paypal.png" hash="2e9a634ffb111e1ce20b5e9017a35b29"/><file name="paysafecard.png" hash="a6776e5140ad443596587e3de12cd6a2"/><file name="printemps.png" hash="072cde23d8600c39457cf02a983b6d7f"/><file name="privilege.png" hash="883c70c0ce1c5bac23865397b0b63c5c"/><file name="skrill.png" hash="5d77ac7b63309a8691c27628aad9f60a"/><file name="sofinco.png" hash="93081c5cb7ce8ba216bbc42019cde8d3"/><file name="surcouf.png" hash="d8633f7d4b47460faac4e8657ce42f4d"/><file name="switch.png" hash="e2924bb36ad3de3d3ee61fa4dc3ffa8b"/><file name="ticketpremium.png" hash="5146987c213691e20a5461d7eed59f09"/><file name="ticketsurf.png" hash="bcd9aeb8b2784ea6a06e80cc2b2393ec"/><file name="visa.png" hash="bd8890f0147d451bf1a488d4e268332c"/><file name="wexpay.png" hash="1f3bb2ec092f283a8b27c66e2c32f22f"/></dir><file name="payline-logo.png" hash="553b387e92d95aef92a35f332e75cac4"/><file name="ae.gif" hash="bac424b0cfaa43bdba4d8d8425878159"/><file name="amex.gif" hash="bac424b0cfaa43bdba4d8d8425878159"/><file name="cb.gif" hash="4ced25b94a1720cb786cdff1debc1535"/><file name="mastercard.gif" hash="c2b21baeafcb69c8e6bef8b3f0aa550c"/><file name="mc.gif" hash="c2b21baeafcb69c8e6bef8b3f0aa550c"/><file name="vi.gif" hash="639ee8e26a7f7c4dfefb3bfbbcefbdd2"/><file name="visa.gif" hash="639ee8e26a7f7c4dfefb3bfbbcefbdd2"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="payline.xml" hash="de4d50873a65f710e25620b16bb5b10b"/></dir><dir name="template"><dir name="payline"><file name="contracts.phtml" hash="6d398a529e799880533d954f53f6df96"/><dir name="customer"><dir name="tab"><file name="view.phtml" hash="1c3d9c842c802967bc867ff2be008504"/></dir></dir><dir name="payment"><dir name="info"><file name="monext.phtml" hash="6daa4bb0bc10c81fcf2a099dd789903d"/></dir></dir><file name="switcher.phtml" hash="ced863f3f520e271497c0a6bcc4b38e4"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="payline.xml" hash="7ec509d128fc9e459dd2bc0134500e2e"/></dir><dir name="template"><dir name="payline"><file name="Cpt.phtml" hash="d5a78eb6488ad0985a4fd62bd10e05e3"/><file name="Direct.phtml" hash="714ea31d44c8b6b25246fd97783aaad0"/><file name="Payline.phtml" hash="dc264172e5a6c5ae627b697208dff65d"/><dir name="checkout"><dir name="onepage"><file name="addjs.phtml" hash="8baee7d7d804635a6062bbb41ad4f162"/><dir name="info"><file name="default.phtml" hash="4689f891bab252ff10bb789d37e9bc2b"/></dir><dir name="payment"><file name="methods.phtml" hash="1194131c240a1154e8d0cf1c95a1e74e"/></dir><file name="shipping-method.phtml" hash="a81a9f308f15008842bfd9ba69852aa9"/></dir><file name="onepage.phtml" hash="5f159dfc756fce0ee5f80a211ae4136d"/><file name="total.phtml" hash="24170fbb2b43da6fc3d4a51db4b80d7a"/></dir><file name="iframe.phtml" hash="4a841413fa569be79b31464fc8f9a88a"/><file name="iframeleaver.phtml" hash="b617751653aa68ada738385a3959e863"/><file name="logo.phtml" hash="b850cc0f8b99d4486dedebc7c913d363"/><dir name="page"><file name="empty.phtml" hash="02134361869217c7445f46af028a050a"/></dir><dir name="payment"><dir name="info"><file name="monext.phtml" hash="ce3c565c9cdae42debacb267e2c9a9ea"/></dir></dir><dir name="wallet"><file name="checkoutbtn.phtml" hash="612617f342e05a34f6a2a618e3bf9162"/><file name="details.phtml" hash="b8d7e336b994261f66f1a9af5841661e"/><file name="form.phtml" hash="7358f21e31266c65982afb15239e659f"/><file name="manage.phtml" hash="e3ac544b3248e86b26e9afd7058406c2"/><dir name="sidebar"><file name="form.phtml" hash="e5454c273aafc3fe80bcc3bd1331c8ab"/><file name="notlogged.phtml" hash="962b06945f1297fd6eda93f2794b5d6a"/></dir><file name="sidebar.phtml" hash="2113b8dba864cd94b241dc7ecd6dff0a"/><file name="subscribe.phtml" hash="a737e95240e262e91ec01a02e2ce97a2"/><file name="update.phtml" hash="1b7048c9a839b0b0994beaf5e72b755c"/></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Monext_Payline.csv" hash="b972d5544df49c367f96e7fecc2ec3eb"/></dir><dir name="fr_FR"><file name="Monext_Payline.csv" hash="f32aeede40718e91cc4ff927f05f93e1"/></dir></target><target name="mageetc"><dir name="modules"><file name="Monext_Payline.xml" hash="c6bef273efdf832b90a5924c2cfb568e"/></dir></target></contents>
18
  <compatible/>
19
  <dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
20
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Payline</name>
4
+ <version>1.8.0.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/gpl-license.php">GNU General Public License (GPL)</license>
7
  <channel>community</channel>
10
  <description>Profitez d&#xE8;s &#xE0; pr&#xE9;sent de l'essor du march&#xE9; de la vente &#xE0; distance en proposant &#xE0; vos clients une solution de paiement totalement s&#xE9;curis&#xE9;e. Gr&#xE2;ce &#xE0; Payline vous permettez &#xE0; vos clients de r&#xE9;gler avec leur moyen de paiement habituel, quel que soit votre canal de vente. Vous leur proposez une interface de paiement facile &#xE0; utiliser, en mesure de vous accompagner dans votre d&#xE9;veloppement &#xE0; l'international, en toute simplicit&#xE9;.&#xD;
11
  &#xD;
12
  Fonctionnalit&#xE9;s : autorisation, autorisation + validation, paiement en n fois, paiement par portefeuille et en 1 clic, validation et remboursement partiels, multi-boutique...</description>
13
+ <notes>Plusieurs corrections de bugs mineurs &amp; Am&#xE9;lioration de la s&#xE9;curit&#xE9; du module.&#xD;
14
+ Compatibilit&#xE9; Magento 1.9.*</notes>
15
  <authors><author><name>Payline</name><user>Payline</user><email>support@payline.com</email></author><author><name>Monsieur Biz</name><user>monsieurbiz</user><email>contact@monsieurbiz.com</email></author></authors>
16
+ <date>2014-08-08</date>
17
+ <time>11:48:28</time>
18
+ <contents><target name="magecommunity"><dir name="Monext"><dir name="Payline"><dir name="Block"><dir name="Adminhtml"><dir name="Customer"><file name="Grid.php" hash="13b7c449e07ef729fbac8caa708decd1"/></dir><dir name="Managecontracts"><dir name="Edit"><file name="Form.php" hash="05040427f41fb110db974ff5a3eb6ba9"/></dir><file name="Edit.php" hash="38292b1b746b401ee60bb7742885e045"/><file name="Grid.php" hash="de14d88f9c299895168e5d1a214e267f"/></dir><file name="Managecontracts.php" hash="343434dde00ba5d5ba35ed255c44a98e"/><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><dir name="Create"><file name="Items.php" hash="c7cd82866d8788ff32d42df8fcdc11f8"/></dir></dir><dir name="Total"><file name="Nxfees.php" hash="cd28c26f717481421bfab12c55ab5378"/></dir></dir></dir></dir><dir name="Checkout"><file name="Total.php" hash="df9fd2acea6ca2be213bfd5e335cedd6"/></dir><file name="Cpt.php" hash="63762d671a0b42929e534e4be9b5f215"/><file name="Direct.php" hash="6c44e7166859eccc2fda5ff8dae0ecee"/><dir name="Info"><file name="Default.php" hash="028809c8e83cd97df32d3fe15833e609"/><file name="Direct.php" hash="04d8815ea6714ac570c8425a34ed947a"/></dir><file name="Logo.php" hash="2b7784f040f04489448fbc13b05ffe74"/><file name="Nx.php" hash="f6f1708088238e3d8ee3fe7489ca32c8"/><dir name="Wallet"><file name="Checkoutbtn.php" hash="bbd8b30f2a37e83ce295295f0fe10ebf"/><file name="Details.php" hash="4645e3a4e5da1126aaeff8535c2d1d57"/><file name="Infos.php" hash="f33f543d58e9b32b537d14d609139f2b"/><file name="Sidebar.php" hash="db70b60be9aa20316f91b3fa3a23a2b9"/></dir><file name="Wallet.php" hash="6326c9e76c84777597f30a89d718ccb4"/></dir><dir name="Helper"><file name="Data.php" hash="e97f74b27087d6b78724a6e31a07d345"/><file name="Logger.php" hash="6b7cf036fdf2e6df2cb7fa645c8912b9"/><file name="Payment.php" hash="95cd80c39fb248f47425ebdea05f7bb9"/></dir><dir name="Model"><dir name="Contract"><file name="Status.php" hash="8008f1c37b76489b00fb8af1c8ac5380"/></dir><file name="Contract.php" hash="41066e691fbe94ae19e4aa54bda67415"/><file name="Cpt.php" hash="72c0674c310b4e8f726a94d3d1d80e33"/><dir name="Datasource"><file name="Actions.php" hash="2152344a8bd5fbf7dbe711c58f97356c"/><file name="Billingcycles.php" hash="bef244e6d9e744fbbc3afed9cc2050f9"/><file name="Billingoccurrences.php" hash="581ce23ec626ed71791b13c7b11fe6db"/><file name="Capturepaymentoptions.php" hash="466fa40f3dbee7274b04835437718eb5"/><dir name="Cms"><file name="Block.php" hash="eee43f517c9e29e51f0ca21fdc7b74ed"/></dir><file name="Costs.php" hash="ac09cf06fbe9a1fabddb2a4727dd696f"/><file name="Languages.php" hash="17053eec4880c5c5b1f233a3ca9f0bda"/><file name="Paymentactions.php" hash="6c4aae3b1b4e8b987a4da7393a3a92eb"/><file name="Paymentactionsreauth.php" hash="ef87674b1742240f9c2af17eb38fd994"/><file name="Return.php" hash="d8fac75b41a931a4714ed8acf846d9a2"/><file name="Securitymodes.php" hash="06c55b65e9254d96fa87595322839932"/><file name="Shippingmethods.php" hash="1c67f2af87583aae049c86cb4dcdf881"/><dir name="Status"><file name="Canceled.php" hash="c4e799efcb052536081339520c7b72c2"/><file name="Invoice.php" hash="31e818802c4419c81014dd1eafb0e587"/></dir><file name="Status.php" hash="bfbad8f0b150e92b15b8f623a2600b88"/><file name="Statusrowempty.php" hash="7865774f631fb8ffa6032aea1357a8cd"/></dir><file name="Direct.php" hash="bee12b0ba5f86ec2096331243c4efadd"/><file name="Fees.php" hash="1e731ffbe45788596eb0f012c6697e21"/><dir name="Mysql4"><dir name="Contract"><file name="Collection.php" hash="7d71121cac131f11dc012375b4412d85"/><dir name="Status"><file name="Collection.php" hash="5703c017983d2511eb59db6a885f6aff"/></dir><file name="Status.php" hash="cee6aed4558ed7ee6acc393e5ac68918"/></dir><file name="Contract.php" hash="9d9befb9c0dfbf0ba702a7891106d5d4"/><dir name="Fees"><file name="Collection.php" hash="b00bb0ec3e0a75a2435f6c55d3eea02c"/></dir><file name="Fees.php" hash="fc1cec62290ea241844efd042d9db8da"/></dir><file name="Nx.php" hash="830433cc06e92665fd554fe0030070f0"/><file name="Observer.php" hash="24b6b4ababf21cb8a0b1b7258d6e3b27"/><dir name="Order"><file name="Invoice.php" hash="d11ecac46707a700ad829d2bcc74d961"/><file name="Payment.php" hash="e4c855ea48cd1044ec53c8c5d34b3c99"/></dir><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><file name="Setup.php" hash="f0cb886cd65e23ec397e651d7913ea9e"/></dir></dir></dir><dir name="Total"><dir name="Nx"><file name="Invoice.php" hash="6ead6df53b6169709797d6c08cd4d16c"/><file name="Quote.php" hash="e48fd38a9d41a339d367137c2fa1e4d7"/></dir></dir><file name="Wallet.php" hash="63480e098f990c6eca7bcdf6a465b7c1"/></dir><dir name="PaylinePHPKit"><dir name="configuration"><file name="HighDefinition.ini" hash="689dc8f1ba03e0c04ae6a8758df38f1b"/></dir><dir name="lib"><file name="Payline.wsdl" hash="b22b4ddfb2751c886e25d7202731c686"/><file name="jIniFileModifier.php" hash="f7d309bd1fb8f408528151b0555b188c"/><file name="lib_debug.php" hash="95068167e94fd376f0489709ebaa4cb0"/><file name="paylineSDK.php" hash="0d3102acd94d2f277297bae85b854a1d"/></dir><dir name="logs"><file name="remove.me" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Payline"><file name="ManagecontractsController.php" hash="068568622f140713527ee3229bdaf187"/></dir></dir><file name="CheckoutonepageController.php" hash="77772924163d5b5a2bc90f1b1ead6020"/><file name="IndexController.php" hash="185b2fb4d3a6d7844fd9f51ee3ae1b7f"/><file name="UnloggedwalletController.php" hash="90af5be8a8fa8dd1b2e29a442c0b7aab"/><file name="WalletController.php" hash="b6b77a5e4979ed582959f07a913be481"/></dir><dir name="etc"><file name="config.xml" hash="7c5004cf0654757a1e43b4f4c5277200"/><file name="system.xml" hash="b49e20cd60249cf8396f940d91fbbc28"/></dir><dir name="sql"><dir name="payline_setup"><file name="mysql4-install-1.6.0.php" hash="ed5013f743ba36a7b2884fc432f97e16"/><file name="mysql4-upgrade-1.7.2-1.7.3.php" hash="7eeb0f5cfc6c379d8300428a5ec39c46"/><file name="mysql4-upgrade-1.7.5-1.7.6.php" hash="0ebfd38e90a8139c67087fc1e16f1aba"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="payline.css" hash="58de0b92593bd1a33e5846212964d882"/></dir><dir name="images"><dir name="monext"><file name="ae.gif" hash="f611020c37035129215aba20f475dc8c"/><file name="amex.gif" hash="f611020c37035129215aba20f475dc8c"/><file name="cb.gif" hash="4ced25b94a1720cb786cdff1debc1535"/><file name="mastercard.gif" hash="c2b21baeafcb69c8e6bef8b3f0aa550c"/><file name="mc.gif" hash="c2b21baeafcb69c8e6bef8b3f0aa550c"/><file name="mcvisa.gif" hash="a09c5bda103d8d9f874cf34e0c71315d"/><file name="payline-logo.png" hash="a1a08f99791f3ed127c1d31e7408a0e0"/><dir name="payline_moyens_paiement"><file name="1euro.png" hash="528410ec4b55c2fa7081650b0cf3511d"/><file name="3xcb.png" hash="06696286a423c902175b8baa64a09ef1"/><file name="amex.png" hash="a5d5e4e9a0129d2aa56e38d05f062732"/><file name="amexoneclick.png" hash="a5d5e4e9a0129d2aa56e38d05f062732"/><file name="aurore.png" hash="6cfde017fd781558a578d81bf5fa3133"/><file name="buyster.png" hash="a00748b293a2a5d087abb5d7d01305fe"/><file name="casino.png" hash="05ce4396a78fd03d2309a8281ba12578"/><file name="cb.png" hash="3c7da656be0964ed96055e7fe2ecb748"/><file name="cofinoga.png" hash="8d0ff26091e9d045d326882a9e558724"/><file name="cyrillus.png" hash="a9dbdfb6dc1463e03ee597a6f3fbb605"/><file name="default.png" hash="9b1b4cd75889d09d12d2b50172853b63"/><file name="diners.png" hash="4e032fbe8d11001d8e76734edcfce7ef"/><file name="elv.png" hash="985364b98870ec53d5da01191c2c365e"/><file name="fnac.png" hash="4941742deecb7677fdf857b0b4ca453e"/><file name="ideal.png" hash="103f12c0d9302b0bce61587bd4bcbe5e"/><file name="internetplus.png" hash="ad0b4624c00d7d40d7bfabba8142542e"/><file name="jcb.png" hash="d040f7acc649e46a28ba22d1fe8a86c2"/><file name="kangourou.png" hash="6c0abc2e169fb4e4181ae6fefa521cdb"/><file name="leetchi.png" hash="b5c72a9a7c81fa038722e846811dd138"/><file name="maestro.png" hash="e61de1bda5ddf510b9d9c48519b530e8"/><file name="mandarine.png" hash="9d0cd1c59033b799b061aeb72351e58f"/><file name="mastercard.png" hash="aed32ea70e4561c28ab8f600e6547574"/><file name="maxicheque.png" hash="a5ecd9edc2f11d3974b0eb03f24634bc"/><file name="mcvisa.png" hash="437d55b82e510e922d4d066979cddc44"/><file name="moneo.png" hash="32f5dc4a7e82254ccbb67e8c0c195cb9"/><file name="neosurf.png" hash="aea0435bc824abeb9cc489e987cc3ddd"/><file name="okshopping.png" hash="59bcce449584ae45551733077f9ced49"/><file name="pass.png" hash="c97abf06bb567ca283111c2c9718b751"/><file name="passvisa.png" hash="69147c8e233d7ed8e6e92e57e8dbb094"/><file name="payfair.png" hash="019f2b25634078ac41597015a726d140"/><file name="paypal.png" hash="b14af2ad46c2c13287a441846b7a9c8f"/><file name="paysafecard.png" hash="39ccb58ccbcf2fbe3de3f7b9c61e0f70"/><file name="printemps.png" hash="5c3e161e0c52c684e9cf750a5105fcfc"/><file name="privilege.png" hash="ea776fdb4286dd5d018ba2facb61ed51"/><file name="skrill.png" hash="662398fe2f922b79aa8ffa6f35a7718e"/><file name="sofinco.png" hash="9a2eaf61a3f91c8ac2726def68d58153"/><file name="surcouf.png" hash="f0bd67ed89fe37aa778cedb4a3a726ca"/><file name="switch.png" hash="3c93a38e1d755744738a85e5e82ceb64"/><file name="ticketpremium.png" hash="29bca782c6d3c9c0482cf5b36d7d2bfe"/><file name="ticketsurf.png" hash="5f0fe5a3bdca8aa1e170a135f1e41433"/><file name="visa.png" hash="904ec057957eb9fc55ddba2af494e3da"/><file name="wexpay.png" hash="b6aa956a5150801fe333e22881bfb84e"/></dir><file name="vi.gif" hash="e26faaf769d9b8908bcc73245afee7af"/><file name="visa.gif" hash="e26faaf769d9b8908bcc73245afee7af"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="layout"><file name="payline.xml" hash="de4d50873a65f710e25620b16bb5b10b"/></dir><dir name="template"><dir name="payline"><file name="Cpt.phtml" hash="8aa2a9a09a931cebc8607a9341ac2707"/><file name="Direct.phtml" hash="8aa2a9a09a931cebc8607a9341ac2707"/><file name="Payline.phtml" hash="8aa2a9a09a931cebc8607a9341ac2707"/><file name="contracts.phtml" hash="6d398a529e799880533d954f53f6df96"/><dir name="customer"><dir name="tab"><file name="view.phtml" hash="1c3d9c842c802967bc867ff2be008504"/></dir></dir><dir name="payment"><dir name="info"><file name="monext.phtml" hash="4e0e72bb6db23c4ddc85ab7b897eb963"/></dir></dir><file name="switcher.phtml" hash="ced863f3f520e271497c0a6bcc4b38e4"/><dir name="wallet"><file name="form.phtml" hash="8aa2a9a09a931cebc8607a9341ac2707"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="payline.xml" hash="7ec509d128fc9e459dd2bc0134500e2e"/></dir><dir name="template"><dir name="payline"><file name="Cpt.phtml" hash="8f4f34bff77d27328b706da327cab7c8"/><file name="Direct.phtml" hash="548d2e09a56960d43828a7027253e209"/><file name="Payline.phtml" hash="dc264172e5a6c5ae627b697208dff65d"/><dir name="checkout"><dir name="onepage"><file name="addjs.phtml" hash="98c66d121706ab7077d6bbf1bbf6d14e"/><dir name="info"><file name="default.phtml" hash="0a2e4099998f2caa0d0b3e957d8666ed"/></dir><dir name="payment"><file name="methods.phtml" hash="1194131c240a1154e8d0cf1c95a1e74e"/></dir><file name="shipping-method.phtml" hash="a81a9f308f15008842bfd9ba69852aa9"/></dir><file name="onepage.phtml" hash="5f159dfc756fce0ee5f80a211ae4136d"/><file name="total.phtml" hash="24170fbb2b43da6fc3d4a51db4b80d7a"/></dir><file name="iframe.phtml" hash="4a841413fa569be79b31464fc8f9a88a"/><file name="iframeleaver.phtml" hash="b617751653aa68ada738385a3959e863"/><file name="logo.phtml" hash="3a8c49269470378792e2a15bd389277c"/><dir name="page"><file name="empty.phtml" hash="02134361869217c7445f46af028a050a"/></dir><dir name="payment"><dir name="info"><file name="monext.phtml" hash="a4f2710913318accebd84b0c7ec4d9a8"/></dir></dir><dir name="wallet"><file name="checkoutbtn.phtml" hash="612617f342e05a34f6a2a618e3bf9162"/><file name="details.phtml" hash="4d5eb7d4a48aac6d5c249c3c96e1c2d8"/><file name="form.phtml" hash="7358f21e31266c65982afb15239e659f"/><file name="manage.phtml" hash="e3ac544b3248e86b26e9afd7058406c2"/><dir name="sidebar"><file name="form.phtml" hash="e5454c273aafc3fe80bcc3bd1331c8ab"/><file name="notlogged.phtml" hash="962b06945f1297fd6eda93f2794b5d6a"/></dir><file name="sidebar.phtml" hash="2113b8dba864cd94b241dc7ecd6dff0a"/><file name="subscribe.phtml" hash="a737e95240e262e91ec01a02e2ce97a2"/><file name="update.phtml" hash="1b7048c9a839b0b0994beaf5e72b755c"/></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Monext_Payline.csv" hash="d44e5a59d79bc10591587717b494deb6"/></dir><dir name="fr_FR"><file name="Monext_Payline.csv" hash="e90790b8e0b65cd59a2b4f801c778f04"/></dir></target><target name="mageetc"><dir name="modules"><file name="Monext_Payline.xml" hash="c6bef273efdf832b90a5924c2cfb568e"/></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
21
  </package>
skin/frontend/{default → base}/default/css/payline.css RENAMED
@@ -86,4 +86,11 @@ table.payline-payment td {
86
 
87
  #payment_form_PaylineCPT li input{
88
  margin-top: 13px;
89
- }
 
 
 
 
 
 
 
86
 
87
  #payment_form_PaylineCPT li input{
88
  margin-top: 13px;
89
+ }
90
+
91
+ #payment_form_PaylineCPT li img {
92
+ display: inline;
93
+ vertical-align: top;
94
+ float: none;
95
+ }
96
+
skin/frontend/base/default/images/monext/ae.gif ADDED
Binary file
skin/frontend/base/default/images/monext/amex.gif ADDED
Binary file
skin/frontend/{default/default/images → base/default/images/monext}/cb.gif RENAMED
File without changes
skin/frontend/{default/default/images → base/default/images/monext}/mastercard.gif RENAMED
File without changes
skin/frontend/{default/default/images → base/default/images/monext}/mc.gif RENAMED
File without changes
skin/frontend/base/default/images/monext/mcvisa.gif ADDED
Binary file
skin/frontend/base/default/images/monext/payline-logo.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/1euro.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/3xcb.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/amex.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/amexoneclick.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/aurore.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/buyster.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/casino.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/cb.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/cofinoga.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/cyrillus.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/default.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/diners.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/elv.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/fnac.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/ideal.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/internetplus.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/jcb.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/kangourou.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/leetchi.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/maestro.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/mandarine.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/mastercard.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/maxicheque.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/mcvisa.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/moneo.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/neosurf.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/okshopping.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/pass.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/passvisa.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/payfair.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/paypal.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/paysafecard.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/printemps.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/privilege.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/skrill.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/sofinco.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/surcouf.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/switch.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/ticketpremium.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/ticketsurf.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/visa.png ADDED
Binary file
skin/frontend/base/default/images/monext/payline_moyens_paiement/wexpay.png ADDED
Binary file
skin/frontend/base/default/images/monext/vi.gif ADDED
Binary file
skin/frontend/base/default/images/monext/visa.gif ADDED
Binary file
skin/frontend/default/default/images/ae.gif DELETED
Binary file
skin/frontend/default/default/images/amex.gif DELETED
Binary file
skin/frontend/default/default/images/payline-logo.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/1euro.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/3xcb.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/amex.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/amexoneclick.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/aurore.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/buyster.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/casino.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/cb.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/cofinoga.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/cyrillus.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/default.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/diners.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/elv.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/fnac.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/ideal.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/internetplus.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/jcb.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/kangourou.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/leetchi.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/maestro.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/mandarine.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/mastercard.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/maxicheque.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/mcvisa.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/moneo.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/neosurf.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/okshopping.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/pass.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/passvisa.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/payfair.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/paypal.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/paysafecard.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/printemps.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/privilege.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/skrill.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/sofinco.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/surcouf.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/switch.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/ticketpremium.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/ticketsurf.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/visa.png DELETED
Binary file
skin/frontend/default/default/images/payline_moyens_paiement/wexpay.png DELETED
Binary file
skin/frontend/default/default/images/vi.gif DELETED
Binary file
skin/frontend/default/default/images/visa.gif DELETED
Binary file