Buyster_Buyster - Version 1.0.3

Version Notes

Version installable sur les plateformes Community et Enterprise.

Ajoute la compatibilité avec les version 1.4.x de Magento CE et Magento 1.11 EE.

Download this release

Release Info

Developer Smile Buyster
Extension Buyster_Buyster
Version 1.0.3
Comparing to
See all releases


Code changes from version 1.0.1 to 1.0.3

app/code/community/Buyster/Buyster/Block/System/Config/Form/Field/Heading.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Buyster system config heading Block
4
+ *
5
+ * @category Buyster
6
+ * @package Buyster_Buyster
7
+ * @copyright 2011 Buyster
8
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
9
+ */
10
+ class Buyster_Buyster_Block_System_Config_Form_Field_Heading
11
+ extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface
12
+ {
13
+ /**
14
+ * Override for retrocompatibility
15
+ * Render element html, if heading class exists (from Magento CE 1.5.x)
16
+ * Else render nothing
17
+ *
18
+ * @param Varien_Data_Form_Element_Abstract $element Element
19
+ *
20
+ * @return string
21
+ */
22
+ public function render(Varien_Data_Form_Element_Abstract $element)
23
+ {
24
+ $html = "";
25
+ if (class_exists('Mage_Adminhtml_Block_System_Config_Form_Field_Heading', false)) {
26
+ $heading = new Mage_Adminhtml_Block_System_Config_Form_Field_Heading();
27
+ $html = $heading->render($element);
28
+ }
29
+ return $html;
30
+ }
31
+ }
app/code/community/Buyster/Buyster/Block/System/Config/Form/Field/Label.php CHANGED
@@ -9,6 +9,13 @@
9
  */
10
  class Buyster_Buyster_Block_System_Config_Form_Field_Label extends Mage_Adminhtml_Block_System_Config_Form_Field
11
  {
 
 
 
 
 
 
 
12
  protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
13
  {
14
  return Mage::getUrl('buyster/payment/automatic');
9
  */
10
  class Buyster_Buyster_Block_System_Config_Form_Field_Label extends Mage_Adminhtml_Block_System_Config_Form_Field
11
  {
12
+ /**
13
+ * Return Buyster automatic url to be displayed in Back Office system configuration
14
+ *
15
+ * @param Varien_Data_Form_Element_Abstract $element Element
16
+ *
17
+ * @return string
18
+ */
19
  protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
20
  {
21
  return Mage::getUrl('buyster/payment/automatic');
app/code/community/Buyster/Buyster/Helper/Data.php CHANGED
@@ -83,10 +83,9 @@ class Buyster_Buyster_Helper_Data extends Mage_Payment_Helper_Data
83
  * Add detail field for payments with validation
84
  * => This method is used to store data when transaction is created
85
  *
86
- * @see Buyster_Buyster_Model_Standard::_addTransaction
87
- *
88
  * @param array $data Data from Buyster server from $_POST, has been validated
89
  *
 
90
  * @return array Transaction details to add to order
91
  */
92
  public function getTransactionRawDetails($data)
@@ -105,8 +104,7 @@ class Buyster_Buyster_Helper_Data extends Mage_Payment_Helper_Data
105
  $guaranteeDescription = $this->getGuaranteeDescription($guaranteeIndicator);
106
 
107
  // Add description field for payments with validation
108
- if ($this->getTransactionType() == Buyster_Buyster_Model_Service::TRANSACTION_TYPE_VALIDATION)
109
- {
110
  $additionalDetails['Description'] = $this->__("Buyster fingerprint");
111
  }
112
 
@@ -256,7 +254,6 @@ class Buyster_Buyster_Helper_Data extends Mage_Payment_Helper_Data
256
  *
257
  * @param Mage_Sales_Model_Order $order Current order
258
  *
259
- * @see Buyster_Buyster_Model_Observer -> valorizeOrders
260
  * @return void
261
  */
262
  public function disableCanInvoice($order)
@@ -281,7 +278,6 @@ class Buyster_Buyster_Helper_Data extends Mage_Payment_Helper_Data
281
  * @param Mage_Sales_Model_Order $order Current order
282
  *
283
  * @see $this->disableCanInvoice()
284
- * @see Buyster_Buyster_Model_Observer -> valorizeOrders
285
  * @return void
286
  */
287
  public function enableCanInvoice($order)
83
  * Add detail field for payments with validation
84
  * => This method is used to store data when transaction is created
85
  *
 
 
86
  * @param array $data Data from Buyster server from $_POST, has been validated
87
  *
88
+ * @see Buyster_Buyster_Model_Standard::_addTransaction
89
  * @return array Transaction details to add to order
90
  */
91
  public function getTransactionRawDetails($data)
104
  $guaranteeDescription = $this->getGuaranteeDescription($guaranteeIndicator);
105
 
106
  // Add description field for payments with validation
107
+ if ($this->getTransactionType() == Buyster_Buyster_Model_Service::TRANSACTION_TYPE_VALIDATION) {
 
108
  $additionalDetails['Description'] = $this->__("Buyster fingerprint");
109
  }
110
 
254
  *
255
  * @param Mage_Sales_Model_Order $order Current order
256
  *
 
257
  * @return void
258
  */
259
  public function disableCanInvoice($order)
278
  * @param Mage_Sales_Model_Order $order Current order
279
  *
280
  * @see $this->disableCanInvoice()
 
281
  * @return void
282
  */
283
  public function enableCanInvoice($order)
app/code/community/Buyster/Buyster/Model/Observer.php CHANGED
@@ -84,7 +84,7 @@ class Buyster_Buyster_Model_Observer extends Mage_Core_Model_Abstract
84
  $response = $paymentMethod->cashManagementOperation(
85
  $order, Buyster_Buyster_Model_Service::OPERATION_DIAGNOSTIC
86
  );
87
-
88
  /**
89
  * Check responseCode
90
  * -> 00 = OK
@@ -105,15 +105,8 @@ class Buyster_Buyster_Model_Observer extends Mage_Core_Model_Abstract
105
  );
106
  }
107
 
108
- $invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
109
-
110
- if (!$invoice->getTotalQty()) {
111
- Mage::log(
112
- 'Cannot create an invoice without products for order id ' . $order->getId(),
113
- Zend_Log::ERR,
114
- Buyster_Buyster_Model_Service::LOGFILE
115
- );
116
- }
117
 
118
  // Emit invoice and create transaction, then automatically update status to 'processing'
119
  $invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
@@ -222,7 +215,7 @@ class Buyster_Buyster_Model_Observer extends Mage_Core_Model_Abstract
222
  * EXPIRED: expire order
223
  * Assumes that transactionType for current order is paymentValidation
224
  *
225
- * @param Mage_Sales_Model_Order $order Current order
226
  *
227
  * @return void
228
  */
@@ -282,8 +275,9 @@ class Buyster_Buyster_Model_Observer extends Mage_Core_Model_Abstract
282
 
283
  /**
284
  * Update order status where payment method is Buyster and current status
285
- * is 'payment_review' to 'validated'
286
- * Order status after invoicing is 'payment_review' by defaut,
 
287
  * so change to 'validated'
288
  *
289
  * @param Varien_Event_Observer $observer Observer
@@ -300,7 +294,10 @@ class Buyster_Buyster_Model_Observer extends Mage_Core_Model_Abstract
300
  $order = $observer->getEvent()->getInvoice()->getOrder();
301
  if (
302
  $order->getPayment()->getMethodInstance()->getCode() == Buyster_Buyster_Model_Service::CODE &&
303
- $order->getStatus() == Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW
 
 
 
304
  ) {
305
  $order->setStatus(Buyster_Buyster_Model_Service::STATUS_VALIDATED);
306
 
@@ -331,7 +328,7 @@ class Buyster_Buyster_Model_Observer extends Mage_Core_Model_Abstract
331
  *
332
  * @param Varien_Event_Observer $observer Observer
333
  *
334
- * @return void
335
  */
336
  public function cancelInvoice($observer)
337
  {
84
  $response = $paymentMethod->cashManagementOperation(
85
  $order, Buyster_Buyster_Model_Service::OPERATION_DIAGNOSTIC
86
  );
87
+
88
  /**
89
  * Check responseCode
90
  * -> 00 = OK
105
  );
106
  }
107
 
108
+ // prepare invoice from order
109
+ $invoice = $order->prepareInvoice();
 
 
 
 
 
 
 
110
 
111
  // Emit invoice and create transaction, then automatically update status to 'processing'
112
  $invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
215
  * EXPIRED: expire order
216
  * Assumes that transactionType for current order is paymentValidation
217
  *
218
+ * @param Mage_Sales_Model_Order $order Current order
219
  *
220
  * @return void
221
  */
275
 
276
  /**
277
  * Update order status where payment method is Buyster and current status
278
+ * is 'payment_review' or 'holded' to 'validated'
279
+ * Order status after invoicing is 'payment_review' by defaut from Magento 1.5,
280
+ * order status after invoicing is 'holded' by defaut before Magento 1.5,
281
  * so change to 'validated'
282
  *
283
  * @param Varien_Event_Observer $observer Observer
294
  $order = $observer->getEvent()->getInvoice()->getOrder();
295
  if (
296
  $order->getPayment()->getMethodInstance()->getCode() == Buyster_Buyster_Model_Service::CODE &&
297
+ (
298
+ $order->getStatus() == Buyster_Buyster_Model_System_Config_Source_Order_Status_Final::STATE_PAYMENT_REVIEW ||
299
+ $order->getStatus() == Mage_Sales_Model_Order::STATE_HOLDED
300
+ )
301
  ) {
302
  $order->setStatus(Buyster_Buyster_Model_Service::STATUS_VALIDATED);
303
 
328
  *
329
  * @param Varien_Event_Observer $observer Observer
330
  *
331
+ * @return Buyster_Buyster_Model_Observer
332
  */
333
  public function cancelInvoice($observer)
334
  {
app/code/community/Buyster/Buyster/Model/Standard.php CHANGED
@@ -9,6 +9,8 @@
9
  */
10
  class Buyster_Buyster_Model_Standard extends Mage_Payment_Model_Method_Abstract
11
  {
 
 
12
  /**
13
  * unique internal payment method identifier
14
  *
@@ -140,14 +142,41 @@ class Buyster_Buyster_Model_Standard extends Mage_Payment_Model_Method_Abstract
140
  ->setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH)
141
  ->setIsClosed(false)
142
  ->setAdditionalInformation(
143
- Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS,
144
  $transactionRawDetails
145
  )
146
  ->save();
 
 
 
 
 
 
 
 
 
147
  }
148
  }
149
  }
150
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
151
  /**
152
  * Check response data integrity and return response formatted as
153
  * Buyster_Buyster_Model_Service_Payment_Initialize_Response
@@ -311,7 +340,7 @@ class Buyster_Buyster_Model_Standard extends Mage_Payment_Model_Method_Abstract
311
  // In other cases, set status defined in system config -> validated by default
312
  $order->setStatus(Mage::getStoreConfig('payment/buyster/authorized_order_status'));
313
  }
314
-
315
  // Add transaction to order
316
  $this->_addTransaction($order, $validatedData);
317
 
@@ -325,7 +354,7 @@ class Buyster_Buyster_Model_Standard extends Mage_Payment_Model_Method_Abstract
325
  Buyster_Buyster_Model_Service::LOGFILE
326
  );
327
  }
328
-
329
  } else if (in_array($responseCode, $this->_cancelCodes)) {
330
  // Order must be canceled
331
  $order->setStatus(Mage::getStoreConfig('payment/buyster/canceled_order_status'));
@@ -434,7 +463,7 @@ class Buyster_Buyster_Model_Standard extends Mage_Payment_Model_Method_Abstract
434
  $transaction->setAdditionalInformation('raw_details_info', $addInfo);
435
  $transaction->save();
436
 
437
- /**
438
  * Order status is set to 'validated'
439
  * and invoice is emitted but its status is STATE_OPEN, and not STATE_PAID
440
  * @see Mage_Sales_Model_Order_Payment->capture
@@ -445,6 +474,8 @@ class Buyster_Buyster_Model_Standard extends Mage_Payment_Model_Method_Abstract
445
 
446
  // Add comments in order status history
447
  $order->addStatusHistoryComment('Buyster : ' . utf8_decode($response->getResponseDescription()));
 
 
448
  $order->save();
449
 
450
  // Error => Display description
@@ -462,7 +493,7 @@ class Buyster_Buyster_Model_Standard extends Mage_Payment_Model_Method_Abstract
462
  $payment->setIsTransactionPending(true);
463
 
464
  // Add comments in order status history
465
- $msg = 'Buyster : ' . $this->_getHelper()->__(
466
  "Transaction validated by Buyster in the meantime."
467
  );
468
  $order->addStatusHistoryComment($msg);
@@ -522,7 +553,6 @@ class Buyster_Buyster_Model_Standard extends Mage_Payment_Model_Method_Abstract
522
  public function cancel(Varien_Object $payment)
523
  {
524
  parent::cancel($payment);
525
-
526
  $order = $payment->getOrder();
527
 
528
  // Nothing to do if transactionType == 'paymentValidation'
@@ -540,7 +570,7 @@ class Buyster_Buyster_Model_Standard extends Mage_Payment_Model_Method_Abstract
540
  */
541
  if ($response->getResponseCode() == Buyster_Buyster_Model_Service::SERVICE_RESPONSE_SUCCESS
542
  && $response->getStatus() == Buyster_Buyster_Model_Service::CAPTURED) {
543
-
544
  $msg = 'Buyster : ' . $this->_getHelper()->__(
545
  "Transaction captured by Buyster in the meantime. Cannot be canceled, will be refunded."
546
  );
@@ -552,11 +582,12 @@ class Buyster_Buyster_Model_Standard extends Mage_Payment_Model_Method_Abstract
552
 
553
  } else if ($response->getResponseCode() == Buyster_Buyster_Model_Service::SERVICE_RESPONSE_SUCCESS
554
  && $response->getStatus() == Buyster_Buyster_Model_Service::TO_CAPTURE) {
555
-
556
  // Perform cancel operation
557
  $this->operationCancel($order);
558
 
559
  } else {
 
560
  // Else display message
561
  $msg = 'Buyster : ' . $this->_getHelper()->__(
562
  "Current transaction status does not allow to cancel order"
@@ -570,6 +601,20 @@ class Buyster_Buyster_Model_Standard extends Mage_Payment_Model_Method_Abstract
570
  return $this;
571
  }
572
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
573
  /**
574
  * Perform cancel operation calling Buyster web service
575
  * and updating order status and comments
9
  */
10
  class Buyster_Buyster_Model_Standard extends Mage_Payment_Model_Method_Abstract
11
  {
12
+ const TRANSACTION_RAW_DETAILS = 'raw_details_info';
13
+
14
  /**
15
  * unique internal payment method identifier
16
  *
142
  ->setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH)
143
  ->setIsClosed(false)
144
  ->setAdditionalInformation(
145
+ $this->_getTransactionDetailsSaveField(),
146
  $transactionRawDetails
147
  )
148
  ->save();
149
+
150
+ // Because transactions are not visible in Back Office before 1.5, display details in order comment
151
+ if (version_compare(Mage::getVersion(), '1.4.1.0') < 0) {
152
+ $msg = "Buyster transaction details :";
153
+ foreach ($transactionRawDetails as $key => $transactionRawDetail) {
154
+ $msg .= "<br />" . $key . " : " . $transactionRawDetail;
155
+ }
156
+ $order->addStatusHistoryComment($msg);
157
+ }
158
  }
159
  }
160
  }
161
 
162
+ /**
163
+ * Return transaction field name used to save transaction info
164
+ * Method used for compatibility between pre-1.5 and post-1.5 versions
165
+ *
166
+ * @return string 'raw_details_info'
167
+ */
168
+ private function _getTransactionDetailsSaveField()
169
+ {
170
+ $result = self::TRANSACTION_RAW_DETAILS;
171
+
172
+ if (defined('Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS')) {
173
+ $result = Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS;
174
+ }
175
+
176
+ return $result;
177
+ }
178
+
179
+
180
  /**
181
  * Check response data integrity and return response formatted as
182
  * Buyster_Buyster_Model_Service_Payment_Initialize_Response
340
  // In other cases, set status defined in system config -> validated by default
341
  $order->setStatus(Mage::getStoreConfig('payment/buyster/authorized_order_status'));
342
  }
343
+
344
  // Add transaction to order
345
  $this->_addTransaction($order, $validatedData);
346
 
354
  Buyster_Buyster_Model_Service::LOGFILE
355
  );
356
  }
357
+
358
  } else if (in_array($responseCode, $this->_cancelCodes)) {
359
  // Order must be canceled
360
  $order->setStatus(Mage::getStoreConfig('payment/buyster/canceled_order_status'));
463
  $transaction->setAdditionalInformation('raw_details_info', $addInfo);
464
  $transaction->save();
465
 
466
+ /*
467
  * Order status is set to 'validated'
468
  * and invoice is emitted but its status is STATE_OPEN, and not STATE_PAID
469
  * @see Mage_Sales_Model_Order_Payment->capture
474
 
475
  // Add comments in order status history
476
  $order->addStatusHistoryComment('Buyster : ' . utf8_decode($response->getResponseDescription()));
477
+ // We have to block order if Buyster Service returns a failure
478
+ $order->setStatus(Mage::getStoreConfig('payment/buyster/refused_order_status'));
479
  $order->save();
480
 
481
  // Error => Display description
493
  $payment->setIsTransactionPending(true);
494
 
495
  // Add comments in order status history
496
+ $msg = 'Buyster : ' . $this->_getHelper()->__(
497
  "Transaction validated by Buyster in the meantime."
498
  );
499
  $order->addStatusHistoryComment($msg);
553
  public function cancel(Varien_Object $payment)
554
  {
555
  parent::cancel($payment);
 
556
  $order = $payment->getOrder();
557
 
558
  // Nothing to do if transactionType == 'paymentValidation'
570
  */
571
  if ($response->getResponseCode() == Buyster_Buyster_Model_Service::SERVICE_RESPONSE_SUCCESS
572
  && $response->getStatus() == Buyster_Buyster_Model_Service::CAPTURED) {
573
+
574
  $msg = 'Buyster : ' . $this->_getHelper()->__(
575
  "Transaction captured by Buyster in the meantime. Cannot be canceled, will be refunded."
576
  );
582
 
583
  } else if ($response->getResponseCode() == Buyster_Buyster_Model_Service::SERVICE_RESPONSE_SUCCESS
584
  && $response->getStatus() == Buyster_Buyster_Model_Service::TO_CAPTURE) {
585
+
586
  // Perform cancel operation
587
  $this->operationCancel($order);
588
 
589
  } else {
590
+
591
  // Else display message
592
  $msg = 'Buyster : ' . $this->_getHelper()->__(
593
  "Current transaction status does not allow to cancel order"
601
  return $this;
602
  }
603
 
604
+ /**
605
+ * Void payment
606
+ *
607
+ * @param Varien_Object $invoicePayment Invoice payment
608
+ *
609
+ * @return Mage_Payment_Model_Abstract
610
+ */
611
+ public function void(Varien_Object $payment)
612
+ {
613
+ parent::void($payment);
614
+ $this->cancel($payment);
615
+ return $this;
616
+ }
617
+
618
  /**
619
  * Perform cancel operation calling Buyster web service
620
  * and updating order status and comments
app/code/community/Buyster/Buyster/Model/System/Config/Source/Order/Status/Final.php CHANGED
@@ -10,13 +10,15 @@
10
  */
11
  class Buyster_Buyster_Model_System_Config_Source_Order_Status_Final extends Buyster_Buyster_Model_System_Config_Source_Order_Status
12
  {
 
 
13
  protected $_stateStatuses = array(
14
  Mage_Sales_Model_Order::STATE_PROCESSING,
15
  Mage_Sales_Model_Order::STATE_COMPLETE,
16
  Mage_Sales_Model_Order::STATE_CLOSED,
17
  Mage_Sales_Model_Order::STATE_CANCELED,
18
  Mage_Sales_Model_Order::STATE_HOLDED,
19
- Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW
20
  );
21
 
22
  /**
10
  */
11
  class Buyster_Buyster_Model_System_Config_Source_Order_Status_Final extends Buyster_Buyster_Model_System_Config_Source_Order_Status
12
  {
13
+ const STATE_PAYMENT_REVIEW = 'payment_review';
14
+
15
  protected $_stateStatuses = array(
16
  Mage_Sales_Model_Order::STATE_PROCESSING,
17
  Mage_Sales_Model_Order::STATE_COMPLETE,
18
  Mage_Sales_Model_Order::STATE_CLOSED,
19
  Mage_Sales_Model_Order::STATE_CANCELED,
20
  Mage_Sales_Model_Order::STATE_HOLDED,
21
+ self::STATE_PAYMENT_REVIEW // Redefine this status here for retrocompatibility with Magento CE 1.4
22
  );
23
 
24
  /**
app/code/community/Buyster/Buyster/etc/system.xml CHANGED
@@ -11,17 +11,37 @@
11
  <sections>
12
  <payment>
13
  <groups>
14
- <buyster translate="label" module="buyster">
15
  <label>Buyster</label>
16
  <sort_order>670</sort_order>
17
  <show_in_default>1</show_in_default>
18
  <show_in_website>1</show_in_website>
19
  <show_in_store>0</show_in_store>
20
- <comment><![CDATA[<div class="buyster-header"></div><div class="buyster-comment"><a href="http://www.buyster.fr" target="_blank">Consulter le site Buyster</a></div>]]></comment>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  <fields>
22
  <heading_generic_config translate="label">
23
  <label>Payment method configuration</label>
24
- <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
25
  <sort_order>5</sort_order>
26
  <show_in_default>1</show_in_default>
27
  <show_in_website>1</show_in_website>
@@ -103,7 +123,7 @@
103
 
104
  <heading_specific_buyster translate="label">
105
  <label>Buyster specific configuration</label>
106
- <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
107
  <sort_order>105</sort_order>
108
  <show_in_default>1</show_in_default>
109
  <show_in_website>1</show_in_website>
11
  <sections>
12
  <payment>
13
  <groups>
14
+ <buyster translate="label comment" module="buyster">
15
  <label>Buyster</label>
16
  <sort_order>670</sort_order>
17
  <show_in_default>1</show_in_default>
18
  <show_in_website>1</show_in_website>
19
  <show_in_store>0</show_in_store>
20
+ <comment><![CDATA[<div class="buyster-header">
21
+ </div><div class="buyster-comment">
22
+ <h3>E-Commerce : pay with your mobile with Buyster !</h3>
23
+ <h4>Buyster, what is it?</h4>
24
+ <p>Buyster, online payment service, developed by Bouygues Telecom, Orange, et SFR, is a solution for e-commerce customers stores to pay its purchases with their mobile phone. The principle is simple: when the customer has to pay, the customer who chooses this payment service, he gives information about his mobile number and his confidential code (a 6 figures number). He receives a SMS with a unique number linked to the transaction and has to indicate this number to finalise the order and proceed to payment.</p>
25
+ <p>Buyster is the payment service which received the 2011 e-Commerce Award in the “security” category, a guarantee given by the most important French e-merchants (Rueducommerce, Ventes Privées, Brandalley...)</p>
26
+ <p>It lays on a SOAP interface and enables to specify whether if the site is live or test.</p>
27
+ <h4>Magento/Buyster Module</h4>
28
+ <p>The Buyster/Magento module was developed to integrate Buyster to Magento in a few clicks.</p>
29
+ <p>Is is based on a SOAP interface with payment service which enables to specify if the e-merchant website is live or test</p>
30
+ <p>About functionalities, several payment modes are available:</p>
31
+ <ul>
32
+ <li>simple payment</li>
33
+ <li>Postponed payment (Authorize & Capture)</li>
34
+ <li>Payment with validation (Authorize & Capture)</li>
35
+ </ul>
36
+ <p>It is also possible to define rules about status and orders contingent to the payment result.</p>
37
+ <p>For further information, please contact us. You will find all information about Buyster here:</p>
38
+ <p><a href="http://www.buyster.fr" target="_blank" title="Buyster">http://www.buyster.fr</a></p>
39
+ <p><a href="mailto:service-commercial@buyster.fr">service-commercial@buyster.fr</a></p>
40
+ </div>]]></comment>
41
  <fields>
42
  <heading_generic_config translate="label">
43
  <label>Payment method configuration</label>
44
+ <frontend_model>buyster/system_config_form_field_heading</frontend_model>
45
  <sort_order>5</sort_order>
46
  <show_in_default>1</show_in_default>
47
  <show_in_website>1</show_in_website>
123
 
124
  <heading_specific_buyster translate="label">
125
  <label>Buyster specific configuration</label>
126
+ <frontend_model>buyster/system_config_form_field_heading</frontend_model>
127
  <sort_order>105</sort_order>
128
  <show_in_default>1</show_in_default>
129
  <show_in_website>1</show_in_website>
app/code/community/Buyster/Buyster/sql/buyster_setup/mysql4-install-0.0.1.0.php CHANGED
@@ -18,7 +18,7 @@ $installer->startSetup();
18
  * Check if this resource model exists. only in last versions
19
  * Statuses are defined in config.xml for older versions
20
  */
21
- if (class_exists('Mage_Sales_Model_Mysql4_Order_Status_Collection')) {
22
 
23
  /*
24
  * Add 'validated' status to 'processing' state
18
  * Check if this resource model exists. only in last versions
19
  * Statuses are defined in config.xml for older versions
20
  */
21
+ if (class_exists('Mage_Sales_Model_Mysql4_Order_Status_Collection', false)) {
22
 
23
  /*
24
  * Add 'validated' status to 'processing' state
app/code/community/Buyster/Buyster/sql/buyster_setup/mysql4-upgrade-0.0.1.0-0.0.1.1.php CHANGED
@@ -17,7 +17,7 @@ $installer->startSetup();
17
  * Check if this resource model exists. only in last versions
18
  * Statuses are defined in config.xml for older versions
19
  */
20
- if (class_exists('Mage_Sales_Model_Mysql4_Order_Status_Collection')) {
21
 
22
  /*
23
  * Add 'pending_validation' status to 'processing' state
17
  * Check if this resource model exists. only in last versions
18
  * Statuses are defined in config.xml for older versions
19
  */
20
+ if (class_exists('Mage_Sales_Model_Mysql4_Order_Status_Collection', false)) {
21
 
22
  /*
23
  * Add 'pending_validation' status to 'processing' state
app/locale/fr_FR/Buyster_Buyster.csv CHANGED
@@ -47,4 +47,54 @@
47
  "Buyster guarantee is refused for this transaction","La garantie Buyster est refusée pour cette transaction"
48
  "Buyster guarantee is not defined for this transaction","La garantie Buyster n'est pas définie pour cette transaction"
49
  "Buyster guarantee can not apply to this transaction","La garantie Buyster est inapplicable pour cette transaction"
50
- "Unknown guarantee indicator","Indicateur de garantie inconnu"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  "Buyster guarantee is refused for this transaction","La garantie Buyster est refusée pour cette transaction"
48
  "Buyster guarantee is not defined for this transaction","La garantie Buyster n'est pas définie pour cette transaction"
49
  "Buyster guarantee can not apply to this transaction","La garantie Buyster est inapplicable pour cette transaction"
50
+ "Unknown guarantee indicator","Indicateur de garantie inconnu"
51
+ "<div class=""buyster-header"">
52
+ </div><div class=""buyster-comment"">
53
+ <h3>E-Commerce : pay with your mobile with Buyster !</h3>
54
+ <h4>Buyster, what is it?</h4>
55
+ <p>Buyster, online payment service, developed by Bouygues Telecom, Orange, et SFR, is a solution for e-commerce customers stores to pay its purchases with their mobile phone. The principle is simple: when the customer has to pay, the customer who chooses this payment service, he gives information about his mobile number and his confidential code (a 6 figures number). He receives a SMS with a unique number linked to the transaction and has to indicate this number to finalise the order and proceed to payment.</p>
56
+ <p>Buyster is the payment service which received the 2011 e-Commerce Award in the “security” category, a guarantee given by the most important French e-merchants (Rueducommerce, Ventes Privées, Brandalley...)</p>
57
+ <p>It lays on a SOAP interface and enables to specify whether if the site is live or test.</p>
58
+ <h4>Magento/Buyster Module</h4>
59
+ <p>The Buyster/Magento module was developed to integrate Buyster to Magento in a few clicks.</p>
60
+ <p>Is is based on a SOAP interface with payment service which enables to specify if the e-merchant website is live or test</p>
61
+ <p>About functionalities, several payment modes are available:</p>
62
+ <ul>
63
+ <li>simple payment</li>
64
+ <li>Postponed payment (Authorize & Capture)</li>
65
+ <li>Payment with validation (Authorize & Capture)</li>
66
+ </ul>
67
+ <p>It is also possible to define rules about status and orders contingent to the payment result.</p>
68
+ <p>For further information, please contact us. You will find all information about Buyster here:</p>
69
+ <p><a href=""http://www.buyster.fr"" target=""_blank"" title=""Buyster"">http://www.buyster.fr</a></p>
70
+ <p><a href=""mailto:service-commercial@buyster.fr"">service-commercial@buyster.fr</a></p>
71
+ </div>","<div class=""buyster-header"">
72
+ </div><div class=""buyster-comment"">
73
+ <h3>E-Commerce : Payez sur Internet avec votre mobile !</h3>
74
+ <h4>Buyster, qu’est-ce que c’est ?</h4>
75
+ <p>Buyster, service de paiement en ligne développé par Bouygues Telecom, Orange, et SFR, est une solution de paiement sur Internet fixe et mobile agréé par la Banque de France. Elle permet aux utilisateurs de sites e-commerce de régler leurs achats à l’aide de leur téléphone mobile. Le principe est simple : lors de l’étape de paiement, l’utilisateur choisit Buyster, indique son numéro de mobile et son code confidentiel (un numéro à 6 chiffres) Buyster. Il reçoit par la suite via sms un code à usage unique lié à sa transaction, qu’il indiquera pour finaliser sa commande et valider le paiement.</p>
76
+ <p>Buyster est la solution de paiement qui a reçu l’eCommerce Award 2011 dans la catégorie « Securité, récompense décernée par un jury composé des plus grands eCommerçants Français (Rueducommerce, Ventes Privées, Brandalley...)</p>
77
+ <h4>Module Magento/Buyster</h4>
78
+ <p>Le module Magento / Buyster a été développé pour intégrer Buyster à Magento en quelques clics.</p>
79
+ <p>Il repose sur un interfaçage SOAP avec le service de paiement, permettant notamment de spécifier si le site est en production ou en recette (paiement live ou test). </p>
80
+ <p>Du côté des fonctionnalités, plusieurs modes de paiement sont disponibles :</p>
81
+ <ul>
82
+ <li>Paiement simple</li>
83
+ <li>Paiement différé (Authorize & Capture)</li>
84
+ <li>Paiement avec validation (Authorize & Capture)</li>
85
+ </ul>
86
+ <p>Buyster propose également des fonctionnalités avancées sur votre extranet à l’accès sécurisé vous permettant de gérer vos :</p>
87
+ <ul>
88
+ <li>Transactions (par référence, statut, montant, canal de vente)</li>
89
+ <li>Opérations de caisse (annulation, remboursement, duplication, duplication étendue, diagnostic)</li>
90
+ <li>Remises (par période, type de remise, état de règlement)</li>
91
+ <li>Journaux de reporting</li>
92
+ <li>Journaux d’activité et de rapprochements financiers (extractables au format csv, xml, et envoi par sftp ou email)</li>
93
+ <li>Virements</li>
94
+ <li>Rapprochements bancaires</li>
95
+ <li>Suivis administratifs (profil marchand, signature et habilitation)</li>
96
+ </ul>
97
+ <p>Pour toute information, n’hésitez pas à nous contacter. Vous trouverez les informations relatives à Buyster ici :</p>
98
+ <p><a href=""http://www.buyster.fr"" target=""_blank"" title=""Buyster"">http://www.buyster.fr</a></p>
99
+ <p><a href=""mailto:service-commercial@buyster.fr"">service-commercial@buyster.fr</a></p>
100
+ </div>"
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Buyster_Buyster</name>
4
- <version>1.0.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL 3.0</license>
7
  <channel>community</channel>
@@ -10,14 +10,13 @@
10
  <description>Buyster est une solution de paiement, simple et hautement s&#xE9;curis&#xE9;e, accessible gratuitement pour vous, utilisateur. Elle vous permet de payer vos achats sur Internet aupr&#xE8;s des marchands partenaires de Buyster et ce, depuis votre ordinateur ou votre t&#xE9;l&#xE9;phone mobile.&#xD;
11
  &#xD;
12
  Retrouvez toutes les informations sur www.buyster.fr</description>
13
- <notes>Premi&#xE8;re version de l'extension.&#xD;
14
- Impl&#xE9;mente le paiement simple, le paiement diff&#xE9;r&#xE9; et le paiement avec validation.&#xD;
15
  &#xD;
16
- Version t&#xE9;l&#xE9;chargeable sur les plateformes Community et Enterprise.</notes>
17
  <authors><author><name>Smile Buyster</name><user>smileforbuyster</user><email>mx.guerin.smile@gmail.com</email></author></authors>
18
- <date>2012-03-16</date>
19
- <time>08:31:04</time>
20
- <contents><target name="magecommunity"><dir name="Buyster"><dir name="Buyster"><dir name="Block"><file name="Redirect.php" hash="805002419db4ce1ea0422cea33a85f1e"/><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Label.php" hash="ef0be74852485c7eb62e99e11288b7f8"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="80504301b838a7a1435420e5d536e9a8"/></dir><dir name="Model"><file name="Observer.php" hash="6db8d0bfd0138b359bee57ef6cca0cd5"/><dir name="Order"><file name="Config.php" hash="d84f49c16000ad5024f852e6a1b754a8"/></dir><dir name="Service"><dir name="Message"><file name="Abstract.php" hash="f0b126e0f70fd64f3f6ba886d6326ac1"/></dir><dir name="Payment"><dir name="Cashmanagement"><file name="Request.php" hash="652e96dfe5692f23f432c1e6b71b78c6"/><file name="Response.php" hash="9e90e6fd99de30801d408b6d0c88b18c"/></dir><dir name="Initialize"><file name="Request.php" hash="58c23dc7a7c9aabe669c4677800809df"/><file name="Response.php" hash="ada42759b7a4818ea41ece10cccdb0c4"/></dir></dir></dir><file name="Service.php" hash="98a6ed9167681cb136889425342f9b78"/><file name="Standard.php" hash="5d3f9e43d9f22837697d11599ba5a805"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Order"><dir name="Status"><file name="Final.php" hash="6badfde1311de23a47579d01fdf777fd"/></dir><file name="Status.php" hash="6dd08f46c5b0fc66f009549e0311454f"/></dir><file name="Paymenttype.php" hash="db83fc42b9f9dc33060a43298ae17d8f"/><file name="Serviceurl.php" hash="8b6746df3432edf07c6fc59f43908ace"/></dir></dir></dir></dir><dir name="controllers"><file name="PaymentController.php" hash="ffa0b89d13edf886d22393acac0f9e2f"/></dir><dir name="etc"><file name="config.xml" hash="7af3bf9d426a0cc2d57a37abbf4cae52"/><file name="system.xml" hash="40fe5b5f4e00d828fb9087183837bc30"/></dir><dir name="sql"><dir name="buyster_setup"><file name="mysql4-install-0.0.1.0.php" hash="6dd863846bd9d6020a0e5162e52bef77"/><file name="mysql4-upgrade-0.0.1.0-0.0.1.1.php" hash="8fe4e7d1ce8fd6128ba9e9b182f9aaf2"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="buyster"><file name="redirect.phtml" hash="c48c7bf7c3f034497546acf8b3a0a23d"/></dir></dir><dir name="layout"><file name="buyster.xml" hash="a1464260a7a4dfe0240f0374febbd08c"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="buyster.xml" hash="df66b99c5e43d9c883b54cc001882e9e"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="buyster"><file name="buyster_logo.png" hash="1aaa2ee8cd8b63310d0115d38c78ec26"/></dir></dir><dir name="css"><file name="buyster.css" hash="0f1a845130f5215798669d5d30fc4e07"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><file name="buyster.css" hash="3c9f1d002c34bc07c0648957e9197f8c"/><dir name="images"><dir name="buyster"><file name="buyster_logo.png" hash="1aaa2ee8cd8b63310d0115d38c78ec26"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="fr_FR"><file name="Buyster_Buyster.csv" hash="2c3140405a74c2e48f3f2b0cfd0d2e56"/></dir><dir name="en_US"><file name="Buyster_Buyster.csv" hash="2937a19f6820b5d428aec40730358044"/></dir></target><target name="mageetc"><dir name="modules"><file name="Buyster_Buyster.xml" hash="9a70a9a71d3d5a0a94d70097eab61c7d"/></dir></target></contents>
21
  <compatible/>
22
- <dependencies><required><php><min>5.3.3</min><max>5.3.10</max></php><package><name>Mage_Payment</name><channel>core</channel><min>0.7.0</min><max>1.6.0.0</max></package></required></dependencies>
23
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Buyster_Buyster</name>
4
+ <version>1.0.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL 3.0</license>
7
  <channel>community</channel>
10
  <description>Buyster est une solution de paiement, simple et hautement s&#xE9;curis&#xE9;e, accessible gratuitement pour vous, utilisateur. Elle vous permet de payer vos achats sur Internet aupr&#xE8;s des marchands partenaires de Buyster et ce, depuis votre ordinateur ou votre t&#xE9;l&#xE9;phone mobile.&#xD;
11
  &#xD;
12
  Retrouvez toutes les informations sur www.buyster.fr</description>
13
+ <notes>Version installable sur les plateformes Community et Enterprise.&#xD;
 
14
  &#xD;
15
+ Ajoute la compatibilit&#xE9; avec les version 1.4.x de Magento CE et Magento 1.11 EE.</notes>
16
  <authors><author><name>Smile Buyster</name><user>smileforbuyster</user><email>mx.guerin.smile@gmail.com</email></author></authors>
17
+ <date>2012-10-22</date>
18
+ <time>08:56:58</time>
19
+ <contents><target name="magecommunity"><dir name="Buyster"><dir name="Buyster"><dir name="Block"><file name="Redirect.php" hash="805002419db4ce1ea0422cea33a85f1e"/><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Heading.php" hash="9ad32486a9a855d2c5863f0404ded732"/><file name="Label.php" hash="0028a5c8a8429de001693c384a53fb6f"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="4ceb5b0b08608d927d54dc66dd49f7c7"/></dir><dir name="Model"><file name="Observer.php" hash="442b642e7c4211baaea86c5c06466b40"/><dir name="Order"><file name="Config.php" hash="d84f49c16000ad5024f852e6a1b754a8"/></dir><dir name="Service"><dir name="Message"><file name="Abstract.php" hash="f0b126e0f70fd64f3f6ba886d6326ac1"/></dir><dir name="Payment"><dir name="Cashmanagement"><file name="Request.php" hash="652e96dfe5692f23f432c1e6b71b78c6"/><file name="Response.php" hash="9e90e6fd99de30801d408b6d0c88b18c"/></dir><dir name="Initialize"><file name="Request.php" hash="58c23dc7a7c9aabe669c4677800809df"/><file name="Response.php" hash="ada42759b7a4818ea41ece10cccdb0c4"/></dir></dir></dir><file name="Service.php" hash="98a6ed9167681cb136889425342f9b78"/><file name="Standard.php" hash="979a9867493cb59d18afd3810f9c1cb2"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Order"><dir name="Status"><file name="Final.php" hash="049dbc934162112c366692e630d8ff7f"/></dir><file name="Status.php" hash="6dd08f46c5b0fc66f009549e0311454f"/></dir><file name="Paymenttype.php" hash="db83fc42b9f9dc33060a43298ae17d8f"/><file name="Serviceurl.php" hash="8b6746df3432edf07c6fc59f43908ace"/></dir></dir></dir></dir><dir name="controllers"><file name="PaymentController.php" hash="ffa0b89d13edf886d22393acac0f9e2f"/></dir><dir name="etc"><file name="config.xml" hash="7af3bf9d426a0cc2d57a37abbf4cae52"/><file name="system.xml" hash="2dc5e05517c2ba9299a2cdc792573516"/></dir><dir name="sql"><dir name="buyster_setup"><file name="mysql4-install-0.0.1.0.php" hash="09419da82cbaec10942c3138cad49d63"/><file name="mysql4-upgrade-0.0.1.0-0.0.1.1.php" hash="24858c0609734ac0fa55765e9a2f0da2"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="buyster"><file name="redirect.phtml" hash="c48c7bf7c3f034497546acf8b3a0a23d"/></dir></dir><dir name="layout"><file name="buyster.xml" hash="a1464260a7a4dfe0240f0374febbd08c"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="buyster.xml" hash="df66b99c5e43d9c883b54cc001882e9e"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="buyster"><file name="buyster_logo.png" hash="1aaa2ee8cd8b63310d0115d38c78ec26"/></dir></dir><dir name="css"><file name="buyster.css" hash="0f1a845130f5215798669d5d30fc4e07"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><file name="buyster.css" hash="82dff8c67aef80a8ebc13a4d92ed488f"/><dir name="images"><dir name="buyster"><file name="buyster_logo.png" hash="1aaa2ee8cd8b63310d0115d38c78ec26"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="fr_FR"><file name="Buyster_Buyster.csv" hash="b41a6264b4cc5dc650d298b6fbaf907e"/></dir><dir name="en_US"><file name="Buyster_Buyster.csv" hash="2937a19f6820b5d428aec40730358044"/></dir></target><target name="mageetc"><dir name="modules"><file name="Buyster_Buyster.xml" hash="9a70a9a71d3d5a0a94d70097eab61c7d"/></dir></target></contents>
20
  <compatible/>
21
+ <dependencies><required><php><min>5.2.0</min><max>10.0.0</max></php><package><name>Mage_Payment</name><channel>core</channel><min>0.7.0</min><max>1.6.0.0</max></package></required></dependencies>
22
  </package>
skin/adminhtml/default/default/buyster.css CHANGED
@@ -2,9 +2,19 @@
2
  background: url(images/buyster/buyster_logo.png) no-repeat 0 0;
3
  height: 0;
4
  overflow: hidden;
5
- padding: 45px 0 0;
6
  width: 170px;
7
  }
8
  .buyster-comment {
9
  padding-left: 10px;
 
 
 
 
 
 
 
 
 
 
10
  }
2
  background: url(images/buyster/buyster_logo.png) no-repeat 0 0;
3
  height: 0;
4
  overflow: hidden;
5
+ padding: 45px 0 30px 0;
6
  width: 170px;
7
  }
8
  .buyster-comment {
9
  padding-left: 10px;
10
+ width: 700px;
11
+ }
12
+
13
+ .buyster-comment p {
14
+ text-align: justify;
15
+ }
16
+
17
+ .buyster-comment ul {
18
+ list-style: disc;
19
+ margin-left: 15px;
20
  }