GiroCheckout - Version 4.0.0.7

Version Notes

This version has the following changes compared to the previous one:
- Improvements in notification and redirect handling.

Download this release

Release Info

Developer Oliver Marx
Extension GiroCheckout
Version 4.0.0.7
Comparing to
See all releases


Code changes from version 4.0.0.6 to 4.0.0.7

app/code/community/Girosolution/Giroconnect/Model/Payment/Abstract.php CHANGED
@@ -1,141 +1,143 @@
1
  <?php
2
 
3
  /*
4
- * Abstract.php.
5
- */
6
 
7
  abstract class Girosolution_Giroconnect_Model_Payment_Abstract extends Mage_Payment_Model_Method_Abstract {
8
-
9
-
10
- /**
11
- * @see Mage_Payment_Model_Method_Abstract::authorize()
12
- *
13
- * @param Varien_Object $payment
14
- * @param unknown_type $amount
15
- * @return Mage_Payment_Model_Abstract
16
- */
17
- public function authorize(Varien_Object $payment, $amount) {
18
- return $this;
19
- } // End authorize
20
-
21
- /**
22
- * Loads an order by its id. If the order was found, the order is returned, otherwise FALSE.
23
- * @param type $orderid the orderid to load
24
- * @return Mage_Sales_Model_Order if the order was found or FALSE if the order was not found
25
- */
26
- public function getExistingOrder($orderid = '') {
27
- $orderid = isset($orderid) ? $orderid : '';
28
-
29
- $order = Mage::getModel('sales/order');
30
- $order->loadByIncrementId($orderid);
31
-
32
- // if no order found
33
- if (!$order->getId())
34
- return FALSE;
35
- else
36
- return $order;
37
- } // End getExistingOrder
38
-
39
-
40
- public function modifyOrderAfterPayment($paymentSuccessful = FALSE,
41
- $orderid = '',
42
- $updateOrderState = FALSE,
43
- $orderStateComment = '',
44
- $sendEmail = FALSE,
45
- $createInvoice = FALSE,
46
- $invoiceComment = '',
47
- $gcRef = null,
48
- $gcTransInfo = null,
49
- $orderStateFinished = Mage_Sales_Model_Order::STATE_PROCESSING) {
50
-
51
- $paymentSuccessful = isset($paymentSuccessful) ? (is_bool($paymentSuccessful) ? $paymentSuccessful : FALSE) : FALSE;
52
- $orderid = isset($orderid) ? $orderid : '';
53
- $updateOrderState = isset($updateOrderState) ? (is_bool($updateOrderState) ? $updateOrderState : FALSE) : FALSE;
54
- $orderStateComment = isset($orderStateComment) ? $orderStateComment : '';
55
-
56
- if($orderStateComment == '') {
57
- if($paymentSuccessful == TRUE)
58
- $orderStateComment = 'Payment was successful';
59
- else
60
- $orderStateComment = 'Payment failed';
61
- }
62
- $sendEmail = isset($sendEmail) ? (is_bool($sendEmail) ? $sendEmail : FALSE) : FALSE;
63
- $createInvoice = isset($createInvoice) ? (is_bool($createInvoice) ? $createInvoice : FALSE) : FALSE;
64
- $invoiceComment = isset($invoiceComment) ? $invoiceComment : '';
65
- if($invoiceComment == '') {
66
- $invoiceComment = 'Automatically generated by payment confirmation';
67
- }
68
-
69
-
70
- $order = $this->getExistingOrder($orderid);
71
- // If order was not found, return FALSE
72
- if($order === FALSE) {
73
- return FALSE;
74
- }
75
-
76
- //If order was already updated, do not update again.
77
- if($order->getState() != Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) {
78
- $updateOrderState = FALSE;
79
- }
80
- else {
81
- //update transaction
82
- $payment = $order->getPayment();
83
- $payment->setTransactionId($orderid);
84
- $transaction = $payment->addTransaction('order', null, false, '');
85
- $transaction->setParentTxnId($orderid);
86
- $transaction->setIsClosed(1);
87
- $transaction->setAdditionalInformation("arrInfo", serialize($gcTransInfo));
88
- $transaction->save();
89
- $order->save();
90
- }
91
-
92
- if($paymentSuccessful == FALSE) {
93
- // If no update was required, return TRUE, because the order was found
94
- if($updateOrderState == FALSE) {
95
- return TRUE;
96
- }
97
-
98
- $order->cancel();
99
- $order->addStatusToHistory($order->getStatus(), $orderStateComment);
100
- $order->save();
101
- return TRUE;
102
- } // end failed payment
103
-
104
-
105
- // SUCCESSFUL PAYMENT
106
- // Set customers shopping cart inactive
107
- Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
108
- // If no update was required, return TRUE, because the order was found
109
- if($updateOrderState == FALSE) {
110
- return TRUE;
111
- }
112
-
113
- if(empty($orderStateFinished)) {
114
- $orderStateFinished = true;
115
- }
116
-
117
- // Modify payment
118
- $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING,
119
- $orderStateFinished,
120
- $orderStateComment);
121
-
122
- // Send email
123
- if($sendEmail == TRUE) {
124
- $order->sendNewOrderEmail();
125
- $order->setEmailSent(true);
126
- }
127
-
128
- if($createInvoice == TRUE) {
129
- if($order->canInvoice()) {
130
- $invoice = $order->prepareInvoice()->addComment($invoiceComment)->register()->pay();
131
- Mage::getModel('core/resource_transaction')->addObject($invoice)->addObject($invoice->getOrder())->save();
132
- $invoice->sendEmail(true, '');
133
- $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, $orderStateFinished, $invoiceComment);
134
- }
135
- }
136
-
137
- $order->save();
138
- return TRUE;
139
- } // End modifyOrderAfterPayment
140
-
141
- } // *** End class Girosolution_Giroconnect_Model_Payment_Abstract ***
 
 
1
  <?php
2
 
3
  /*
4
+ * Abstract.php.
5
+ */
6
 
7
  abstract class Girosolution_Giroconnect_Model_Payment_Abstract extends Mage_Payment_Model_Method_Abstract {
8
+
9
+ /**
10
+ * @see Mage_Payment_Model_Method_Abstract::authorize()
11
+ *
12
+ * @param Varien_Object $payment
13
+ * @param unknown_type $amount
14
+ * @return Mage_Payment_Model_Abstract
15
+ */
16
+ public function authorize(Varien_Object $payment, $amount) {
17
+ return $this;
18
+ } // End authorize
19
+
20
+ /**
21
+ * Loads an order by its id. If the order was found, the order is returned, otherwise FALSE.
22
+ * @param type $orderid the orderid to load
23
+ * @return Mage_Sales_Model_Order if the order was found or FALSE if the order was not found
24
+ */
25
+ public function getExistingOrder($orderid = '') {
26
+ $orderid = isset($orderid) ? $orderid : '';
27
+
28
+ $order = Mage::getModel('sales/order');
29
+ $order->loadByIncrementId($orderid);
30
+
31
+ // if no order found
32
+ if (!$order->getId())
33
+ return FALSE;
34
+ else
35
+ return $order;
36
+ } // End getExistingOrder
37
+
38
+
39
+ public function modifyOrderAfterPayment($paymentSuccessful = FALSE,
40
+ $orderid = '',
41
+ $updateOrderState = FALSE,
42
+ $orderStateComment = '',
43
+ $sendEmail = FALSE,
44
+ $createInvoice = FALSE,
45
+ $invoiceComment = '',
46
+ $gcRef = null,
47
+ $gcTransInfo = null,
48
+ $orderStateFinished = Mage_Sales_Model_Order::STATE_PROCESSING) {
49
+
50
+ $paymentSuccessful = isset($paymentSuccessful) ? (is_bool($paymentSuccessful) ? $paymentSuccessful : FALSE) : FALSE;
51
+ $orderid = isset($orderid) ? $orderid : '';
52
+ $updateOrderState = isset($updateOrderState) ? (is_bool($updateOrderState) ? $updateOrderState : FALSE) : FALSE;
53
+ $orderStateComment = isset($orderStateComment) ? $orderStateComment : '';
54
+
55
+ if( $orderStateComment == '' ) {
56
+ if( $paymentSuccessful == TRUE )
57
+ $orderStateComment = 'Payment was successful';
58
+ else
59
+ $orderStateComment = 'Payment failed';
60
+ }
61
+
62
+ $sendEmail = isset($sendEmail) ? (is_bool($sendEmail) ? $sendEmail : FALSE) : FALSE;
63
+ $createInvoice = isset($createInvoice) ? (is_bool($createInvoice) ? $createInvoice : FALSE) : FALSE;
64
+ $invoiceComment = isset($invoiceComment) ? $invoiceComment : '';
65
+ if( $invoiceComment == '' ) {
66
+ $invoiceComment = 'Automatically generated by payment confirmation';
67
+ }
68
+
69
+
70
+ $order = $this->getExistingOrder($orderid);
71
+ // If order was not found, return FALSE
72
+ if( $order === FALSE ) {
73
+ return FALSE;
74
+ }
75
+
76
+ //If order was already updated, do not update again.
77
+ if( $order->getState() != Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
78
+ $updateOrderState = FALSE;
79
+ }
80
+ else {
81
+ // update transaction
82
+ $payment = $order->getPayment();
83
+ $payment->setTransactionId($orderid);
84
+ $transaction = $payment->addTransaction('order', null, false, '');
85
+ $transaction->setParentTxnId($orderid);
86
+ $transaction->setIsClosed(1);
87
+ $transaction->setAdditionalInformation("arrInfo", serialize($gcTransInfo));
88
+ $transaction->save();
89
+ $order->save();
90
+ }
91
+
92
+ if( $paymentSuccessful == FALSE ) {
93
+ // If no update was required, return TRUE, because the order was found
94
+ if($updateOrderState == FALSE) {
95
+ return TRUE;
96
+ }
97
+
98
+ $order->cancel();
99
+ $order->addStatusToHistory($order->getStatus(), $orderStateComment);
100
+ $order->save();
101
+ return TRUE;
102
+ } // end failed payment
103
+
104
+
105
+ // SUCCESSFUL PAYMENT
106
+ // Set customers shopping cart inactive
107
+ Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
108
+ // If no update was required, return TRUE, because the order was found
109
+ if($updateOrderState == FALSE) {
110
+ return TRUE;
111
+ }
112
+
113
+ if( empty($orderStateFinished) ) {
114
+ $orderStateFinished = true;
115
+ }
116
+
117
+ /* Modify payment
118
+ @param string $state
119
+ @param string|bool $status
120
+ @param string $comment
121
+ @param bool $isCustomerNotified */
122
+ $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, $orderStateFinished, $orderStateComment);
123
+
124
+ // Send email
125
+ if( $sendEmail == TRUE ) {
126
+ $order->sendNewOrderEmail();
127
+ $order->setEmailSent(true);
128
+ }
129
+
130
+ if( $createInvoice == TRUE ) {
131
+ if( $order->canInvoice() ) {
132
+ $invoice = $order->prepareInvoice()->addComment($invoiceComment)->register()->pay();
133
+ Mage::getModel('core/resource_transaction')->addObject($invoice)->addObject($invoice->getOrder())->save();
134
+ $invoice->sendEmail(true, '');
135
+ $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, $orderStateFinished, $invoiceComment);
136
+ }
137
+ }
138
+
139
+ $order->save();
140
+ return TRUE;
141
+ } // End modifyOrderAfterPayment
142
+
143
+ } // *** End class Girosolution_Giroconnect_Model_Payment_Abstract ***
app/code/community/Girosolution/Giroconnect/controllers/CreditcardController.php CHANGED
@@ -95,9 +95,14 @@ class Girosolution_Giroconnect_CreditcardController extends Mage_Core_Controller
95
 
96
  //Checks if the payment was successful and redirects the user
97
  if (!$notify->paymentSuccessful()) {
98
- Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('Payment with Creditcard failed'));
 
 
99
  $this->_redirect('checkout/onepage', array('_secure' => true));
100
  } else {
 
 
 
101
  // Set customers shopping cart inactive
102
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
103
  $this->_redirect('checkout/onepage/success', array('_secure' => true));
@@ -126,7 +131,6 @@ class Girosolution_Giroconnect_CreditcardController extends Mage_Core_Controller
126
  // clear response
127
  $this->getResponse()->clearAllHeaders()->clearBody();
128
 
129
- $notifyOK = TRUE;
130
  $strMsg = "";
131
  $CustomerNr = "";
132
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
@@ -144,40 +148,37 @@ class Girosolution_Giroconnect_CreditcardController extends Mage_Core_Controller
144
  $notify = new GiroCheckout_SDK_Notify('creditCardTransaction');
145
  $notify->setSecret($projectPassword);
146
  $notify->parseNotification($_GET);
 
147
 
148
  if( !$notify->paymentSuccessful() ) {
149
- $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
150
- $notifyOK = false;
 
 
 
 
 
 
 
151
  } else {
152
- $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
153
- $notifyOK = true;
 
 
 
 
 
 
 
154
  }
155
  } catch (Exception $e) {
156
- $notifyOK = false;
157
- $strMsg = $e->getMessage();
158
- }
159
-
160
- if( $notifyOK == TRUE ) {
161
- //$this->getResponse()->setHttpResponseCode(200);
162
- //$this->getResponse()->sendResponse();
163
- $notify->sendOkStatus();
164
- $notify->setNotifyResponseParam('Result', 'OK');
165
- $notify->setNotifyResponseParam('ErrorMessage', '');
166
- $notify->setNotifyResponseParam('MailSent', '');
167
- $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
168
- $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
169
- echo $notify->getNotifyResponseStringJson();
170
- } else {
171
- //$this->getResponse()->setHttpResponseCode(503);
172
- //$this->getResponse()->sendResponse();
173
- $strMsg = $notify->getResponseMessage($notify->getResponseParam('gcResultPayment'),'DE');
174
- $notify->sendServiceUnavailableStatus();
175
  $notify->setNotifyResponseParam('Result', 'ERROR');
176
- $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
177
  $notify->setNotifyResponseParam('MailSent', '');
178
  $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
179
  $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
180
- echo $notify->getNotifyResponseStringJson();
181
  }
182
 
183
  exit;
@@ -185,6 +186,4 @@ class Girosolution_Giroconnect_CreditcardController extends Mage_Core_Controller
185
 
186
  // End notifyAction
187
  }
188
-
189
- // *** End class Girosolution_Giroconnect_CreditcardController ***
190
- ?>
95
 
96
  //Checks if the payment was successful and redirects the user
97
  if (!$notify->paymentSuccessful()) {
98
+ $strMsg = Mage::helper('giroconnect')->__('Payment with Creditcard failed');
99
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg. " Ref." .$notify->getResponseParam('gcReference'), $notify->getResponseParams());
100
+ Mage::getSingleton('core/session')->addError($strMsg);
101
  $this->_redirect('checkout/onepage', array('_secure' => true));
102
  } else {
103
+ $strMsg = Mage::helper('giroconnect')->__('Payment with Creditcard was successful'). " Ref." .$notify->getResponseParam('gcReference');
104
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
105
+
106
  // Set customers shopping cart inactive
107
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
108
  $this->_redirect('checkout/onepage/success', array('_secure' => true));
131
  // clear response
132
  $this->getResponse()->clearAllHeaders()->clearBody();
133
 
 
134
  $strMsg = "";
135
  $CustomerNr = "";
136
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
148
  $notify = new GiroCheckout_SDK_Notify('creditCardTransaction');
149
  $notify->setSecret($projectPassword);
150
  $notify->parseNotification($_GET);
151
+ $strMsg = $notify->getResponseMessage($notify->getResponseParam('gcResultPayment'),'DE');
152
 
153
  if( !$notify->paymentSuccessful() ) {
154
+ $strMsg = Mage::helper('giroconnect')->__('Payment with Creditcard failed'). " Ref." .$notify->getResponseParam('gcReference');
155
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
156
+ $notify->sendOkStatus();
157
+ $notify->setNotifyResponseParam('Result', 'ERROR');
158
+ $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
159
+ $notify->setNotifyResponseParam('MailSent', '');
160
+ $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
161
+ $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
162
+ echo $notify->getNotifyResponseStringJson();
163
  } else {
164
+ $strMsg = Mage::helper('giroconnect')->__('Payment with Creditcard was successful'). " Ref." .$notify->getResponseParam('gcReference');
165
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
166
+ $notify->sendOkStatus();
167
+ $notify->setNotifyResponseParam('Result', 'OK');
168
+ $notify->setNotifyResponseParam('ErrorMessage', '');
169
+ $notify->setNotifyResponseParam('MailSent', '');
170
+ $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
171
+ $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
172
+ echo $notify->getNotifyResponseStringJson();
173
  }
174
  } catch (Exception $e) {
175
+ $notify->sendBadRequestStatus();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
176
  $notify->setNotifyResponseParam('Result', 'ERROR');
177
+ $notify->setNotifyResponseParam('ErrorMessage', $e->getMessage());
178
  $notify->setNotifyResponseParam('MailSent', '');
179
  $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
180
  $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
181
+ echo $notify->getNotifyResponseStringJson();
182
  }
183
 
184
  exit;
186
 
187
  // End notifyAction
188
  }
189
+ // *** End class Girosolution_Giroconnect_CreditcardController ***
 
 
app/code/community/Girosolution/Giroconnect/controllers/DirectdebitController.php CHANGED
@@ -89,5 +89,4 @@ class Girosolution_Giroconnect_DirectdebitController extends Mage_Core_Controlle
89
  } // End notifyAction
90
 
91
 
92
- } // *** End class Girosolution_Giroconnect_DirectdebitController ***
93
- ?>
89
  } // End notifyAction
90
 
91
 
92
+ } // *** End class Girosolution_Giroconnect_DirectdebitController ***
 
app/code/community/Girosolution/Giroconnect/controllers/EpsController.php CHANGED
@@ -95,16 +95,21 @@ class Girosolution_Giroconnect_EpsController extends Mage_Core_Controller_Front_
95
 
96
  //Checks if the payment was successful and redirects the user
97
  if (!$notify->paymentSuccessful()) {
 
98
  // Set messages or error codes
99
- Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('Payment with eps failed'));
 
 
100
  $this->_redirect('checkout/onepage', array('_secure' => true));
101
  } else {
 
 
 
102
  // Set customers shopping cart inactive
103
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
104
  $this->_redirect('checkout/onepage/success', array('_secure' => true));
105
  }
106
  } catch (Exception $e) {
107
- // $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
108
  Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('An unexpected error occured, please check your order'));
109
  $this->_redirect('checkout/onepage', array('_secure' => true));
110
  }
@@ -129,7 +134,6 @@ class Girosolution_Giroconnect_EpsController extends Mage_Core_Controller_Front_
129
  // clear response
130
  $this->getResponse()->clearAllHeaders()->clearBody();
131
 
132
- $notifyOK = TRUE;
133
  $strMsg = "";
134
  $CustomerNr = "";
135
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
@@ -149,45 +153,39 @@ class Girosolution_Giroconnect_EpsController extends Mage_Core_Controller_Front_
149
  $notify->parseNotification($_GET);
150
 
151
  if( !$notify->paymentSuccessful() ) {
152
- $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $notify->getResponseParam('gcMerchantTxId'), TRUE, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
153
- $notifyOK = false;
 
 
 
 
 
 
 
154
  } else {
155
- $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $notify->getResponseParam('gcMerchantTxId'), TRUE, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
156
- $notifyOK = true;
 
 
 
 
 
 
 
157
  }
158
  } catch (Exception $e) {
159
- $notifyOK = false;
160
- $strMsg = $e->getMessage();
161
- }
162
-
163
- if( $notifyOK == TRUE ) {
164
- //$this->getResponse()->setHttpResponseCode(200);
165
- //$this->getResponse()->sendResponse();
166
- $notify->sendOkStatus();
167
- $notify->setNotifyResponseParam('Result', 'OK');
168
- $notify->setNotifyResponseParam('ErrorMessage', '');
169
- $notify->setNotifyResponseParam('MailSent', '');
170
- $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
171
- $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
172
- echo $notify->getNotifyResponseStringJson();
173
- } else {
174
- //$this->getResponse()->setHttpResponseCode(503);
175
- //$this->getResponse()->sendResponse();
176
- $strMsg = $notify->getResponseMessage($notify->getResponseParam('gcResultPayment'),'DE');
177
- $notify->sendServiceUnavailableStatus();
178
  $notify->setNotifyResponseParam('Result', 'ERROR');
179
- $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
180
  $notify->setNotifyResponseParam('MailSent', '');
181
  $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
182
  $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
183
- echo $notify->getNotifyResponseStringJson();
184
  }
185
-
186
  exit;
187
  }
188
 
189
  // End notifyAction
190
  }
191
-
192
- // *** End class Girosolution_Giroconnect_EpsController ***
193
- ?>
95
 
96
  //Checks if the payment was successful and redirects the user
97
  if (!$notify->paymentSuccessful()) {
98
+
99
  // Set messages or error codes
100
+ $strMsg = Mage::helper('giroconnect')->__('Payment with eps failed');
101
+ Mage::getSingleton('core/session')->addError($strMsg);
102
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
103
  $this->_redirect('checkout/onepage', array('_secure' => true));
104
  } else {
105
+ $strMsg = Mage::helper('giroconnect')->__('Payment with eps was successful'). " Ref." .$notify->getResponseParam('gcReference');
106
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
107
+
108
  // Set customers shopping cart inactive
109
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
110
  $this->_redirect('checkout/onepage/success', array('_secure' => true));
111
  }
112
  } catch (Exception $e) {
 
113
  Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('An unexpected error occured, please check your order'));
114
  $this->_redirect('checkout/onepage', array('_secure' => true));
115
  }
134
  // clear response
135
  $this->getResponse()->clearAllHeaders()->clearBody();
136
 
 
137
  $strMsg = "";
138
  $CustomerNr = "";
139
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
153
  $notify->parseNotification($_GET);
154
 
155
  if( !$notify->paymentSuccessful() ) {
156
+ $strMsg = Mage::helper('giroconnect')->__('Payment with eps failed'). " Ref." .$notify->getResponseParam('gcReference');
157
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $notify->getResponseParam('gcMerchantTxId'), TRUE, $strMsg, $notify->getResponseParams());
158
+ $notify->sendOkStatus();
159
+ $notify->setNotifyResponseParam('Result', 'ERROR');
160
+ $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
161
+ $notify->setNotifyResponseParam('MailSent', '');
162
+ $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
163
+ $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
164
+ echo $notify->getNotifyResponseStringJson();
165
  } else {
166
+ $strMsg = Mage::helper('giroconnect')->__('Payment with eps was successful'). " Ref." .$notify->getResponseParam('gcReference');
167
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $notify->getResponseParam('gcMerchantTxId'), TRUE, $strMsg, $notify->getResponseParams());
168
+ $notify->sendOkStatus();
169
+ $notify->setNotifyResponseParam('Result', 'OK');
170
+ $notify->setNotifyResponseParam('ErrorMessage', '');
171
+ $notify->setNotifyResponseParam('MailSent', '');
172
+ $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
173
+ $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
174
+ echo $notify->getNotifyResponseStringJson();
175
  }
176
  } catch (Exception $e) {
177
+ $notify->sendBadRequestStatus();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
  $notify->setNotifyResponseParam('Result', 'ERROR');
179
+ $notify->setNotifyResponseParam('ErrorMessage', $e->getMessage());
180
  $notify->setNotifyResponseParam('MailSent', '');
181
  $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
182
  $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
183
+ echo $notify->getNotifyResponseStringJson();
184
  }
185
+
186
  exit;
187
  }
188
 
189
  // End notifyAction
190
  }
191
+ // *** End class Girosolution_Giroconnect_EpsController ***
 
 
app/code/community/Girosolution/Giroconnect/controllers/GiropayController.php CHANGED
@@ -84,14 +84,13 @@ class Girosolution_Giroconnect_GiropayController extends Mage_Core_Controller_Fr
84
  // End indexAction
85
 
86
  public function redirectAction() {
87
-
88
-
89
  $helper = Mage::helper('giroconnect/giropay');
90
  $proxy = $helper->getGiropayPaymentProxy();
91
  $language = $proxy->getLanguageCode();
92
 
93
  //Retrieves the project password.
94
  $projectPassword = $proxy->getProjectPassword();
 
95
  try {
96
  //Get the notification
97
  $notify = new GiroCheckout_SDK_Notify('giropayTransaction');
@@ -100,22 +99,25 @@ class Girosolution_Giroconnect_GiropayController extends Mage_Core_Controller_Fr
100
 
101
  //Checks if the payment was successful and redirects the user
102
  if( !$notify->paymentSuccessful() ) {
103
- $strErrMsg = Mage::helper('giroconnect')->__('Payment with giropay failed');
104
  $iReturnCodeAVS = $notify->getResponseParam('gcResultAVS');
105
  if( !$notify->avsSuccessful() ) {
106
- $strErrMsg = $notify->getResponseMessage($iReturnCodeAVS, $language);
107
  }
 
108
 
109
  // Set messages or error codes
110
- Mage::getSingleton('core/session')->addError($strErrMsg);
111
  $this->_redirect('checkout/onepage', array('_secure' => true));
112
  } else {
 
 
 
113
  // Set customers shopping cart inactive
114
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
115
  $this->_redirect('checkout/onepage/success', array('_secure' => true));
116
  }
117
  } catch (Exception $e) {
118
- //$orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE,$notify->getResponseParam('gcReference'),$notify->getResponseParams());
119
  Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('An unexpected error occured, please check your order'));
120
  $this->_redirect('checkout/onepage', array('_secure' => true));
121
  }
@@ -124,7 +126,6 @@ class Girosolution_Giroconnect_GiropayController extends Mage_Core_Controller_Fr
124
  // End redirectAction
125
 
126
  public function notifyAction() {
127
-
128
  // do nothing, if not a GET request
129
  if (!$this->getRequest()->isGet()) {
130
  $this->norouteAction();
@@ -141,7 +142,6 @@ class Girosolution_Giroconnect_GiropayController extends Mage_Core_Controller_Fr
141
  // clear response
142
  $this->getResponse()->clearAllHeaders()->clearBody();
143
 
144
- $notifyOK = TRUE;
145
  $strMsg = "";
146
  $CustomerNr = "";
147
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
@@ -163,48 +163,42 @@ class Girosolution_Giroconnect_GiropayController extends Mage_Core_Controller_Fr
163
  $iReturnCode = $notify->getResponseParam('gcResultPayment');
164
  $iReturnCodeAVS = $notify->getResponseParam('gcResultAVS');
165
 
166
- $strMsg = $notify->getResponseMessage($iReturnCode, $language);
167
-
168
  if( !$notify->paymentSuccessful() ) {
 
169
  if( !$notify->avsSuccessful() ) {
170
  $strMsg .= ", " . $notify->getResponseMessage($iReturnCodeAVS, $language);
171
  }
172
 
173
  $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $notify->getResponseParam('gcMerchantTxId'), TRUE, $strMsg, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
174
- $notifyOK = false;
 
 
 
 
 
 
175
  } else {
 
176
  if( !empty($iReturnCodeAVS) )
177
  $strMsg .= ", " . $notify->getResponseMessage($iReturnCodeAVS, $language);
178
 
179
  $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $notify->getResponseParam('gcMerchantTxId'), TRUE, $strMsg, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
180
- $notifyOK = true;
 
 
 
 
 
 
181
  }
182
  } catch (Exception $e) {
183
- $notifyOK = false;
184
- $strMsg = $e->getMessage();
185
- }
186
-
187
- if( $notifyOK == TRUE ) {
188
- //$this->getResponse()->setHttpResponseCode(200);
189
- //$this->getResponse()->sendResponse();
190
- $notify->sendOkStatus();
191
- $notify->setNotifyResponseParam('Result', 'OK');
192
- $notify->setNotifyResponseParam('ErrorMessage', '');
193
- $notify->setNotifyResponseParam('MailSent', '');
194
- $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
195
- $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
196
- echo $notify->getNotifyResponseStringJson();
197
- } else {
198
- //$this->getResponse()->setHttpResponseCode(503);
199
- //$this->getResponse()->sendResponse();
200
- $strMsg = $notify->getResponseMessage($notify->getResponseParam('gcResultPayment'),'DE');
201
- $notify->sendServiceUnavailableStatus();
202
  $notify->setNotifyResponseParam('Result', 'ERROR');
203
- $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
204
  $notify->setNotifyResponseParam('MailSent', '');
205
  $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
206
  $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
207
- echo $notify->getNotifyResponseStringJson();
208
  }
209
 
210
  exit;
@@ -213,5 +207,4 @@ class Girosolution_Giroconnect_GiropayController extends Mage_Core_Controller_Fr
213
  // End notifyAction
214
  }
215
 
216
- // *** End class Girosolution_Giroconnect_GiropayController ***
217
- ?>
84
  // End indexAction
85
 
86
  public function redirectAction() {
 
 
87
  $helper = Mage::helper('giroconnect/giropay');
88
  $proxy = $helper->getGiropayPaymentProxy();
89
  $language = $proxy->getLanguageCode();
90
 
91
  //Retrieves the project password.
92
  $projectPassword = $proxy->getProjectPassword();
93
+
94
  try {
95
  //Get the notification
96
  $notify = new GiroCheckout_SDK_Notify('giropayTransaction');
99
 
100
  //Checks if the payment was successful and redirects the user
101
  if( !$notify->paymentSuccessful() ) {
102
+ $strMsg = Mage::helper('giroconnect')->__('Payment with giropay failed');
103
  $iReturnCodeAVS = $notify->getResponseParam('gcResultAVS');
104
  if( !$notify->avsSuccessful() ) {
105
+ $strMsg = $notify->getResponseMessage($iReturnCodeAVS, $language);
106
  }
107
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
108
 
109
  // Set messages or error codes
110
+ Mage::getSingleton('core/session')->addError($strMsg);
111
  $this->_redirect('checkout/onepage', array('_secure' => true));
112
  } else {
113
+ $strMsg = Mage::helper('giroconnect')->__('Payment with giropay was successful'). " Ref." .$notify->getResponseParam('gcReference');
114
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
115
+
116
  // Set customers shopping cart inactive
117
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
118
  $this->_redirect('checkout/onepage/success', array('_secure' => true));
119
  }
120
  } catch (Exception $e) {
 
121
  Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('An unexpected error occured, please check your order'));
122
  $this->_redirect('checkout/onepage', array('_secure' => true));
123
  }
126
  // End redirectAction
127
 
128
  public function notifyAction() {
 
129
  // do nothing, if not a GET request
130
  if (!$this->getRequest()->isGet()) {
131
  $this->norouteAction();
142
  // clear response
143
  $this->getResponse()->clearAllHeaders()->clearBody();
144
 
 
145
  $strMsg = "";
146
  $CustomerNr = "";
147
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
163
  $iReturnCode = $notify->getResponseParam('gcResultPayment');
164
  $iReturnCodeAVS = $notify->getResponseParam('gcResultAVS');
165
 
 
 
166
  if( !$notify->paymentSuccessful() ) {
167
+ $strMsg = Mage::helper('giroconnect')->__('Payment with giropay failed'). " Ref." .$notify->getResponseParam('gcReference');
168
  if( !$notify->avsSuccessful() ) {
169
  $strMsg .= ", " . $notify->getResponseMessage($iReturnCodeAVS, $language);
170
  }
171
 
172
  $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $notify->getResponseParam('gcMerchantTxId'), TRUE, $strMsg, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
173
+ $notify->sendOkStatus();
174
+ $notify->setNotifyResponseParam('Result', 'ERROR');
175
+ $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
176
+ $notify->setNotifyResponseParam('MailSent', '');
177
+ $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
178
+ $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
179
+ echo $notify->getNotifyResponseStringJson();
180
  } else {
181
+ $strMsg = Mage::helper('giroconnect')->__('Payment with giropay was successful'). " Ref." .$notify->getResponseParam('gcReference');
182
  if( !empty($iReturnCodeAVS) )
183
  $strMsg .= ", " . $notify->getResponseMessage($iReturnCodeAVS, $language);
184
 
185
  $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $notify->getResponseParam('gcMerchantTxId'), TRUE, $strMsg, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
186
+ $notify->sendOkStatus();
187
+ $notify->setNotifyResponseParam('Result', 'OK');
188
+ $notify->setNotifyResponseParam('ErrorMessage', '');
189
+ $notify->setNotifyResponseParam('MailSent', '');
190
+ $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
191
+ $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
192
+ echo $notify->getNotifyResponseStringJson();
193
  }
194
  } catch (Exception $e) {
195
+ $notify->sendBadRequestStatus();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
  $notify->setNotifyResponseParam('Result', 'ERROR');
197
+ $notify->setNotifyResponseParam('ErrorMessage', $e->getMessage());
198
  $notify->setNotifyResponseParam('MailSent', '');
199
  $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
200
  $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
201
+ echo $notify->getNotifyResponseStringJson();
202
  }
203
 
204
  exit;
207
  // End notifyAction
208
  }
209
 
210
+ // *** End class Girosolution_Giroconnect_GiropayController ***
 
app/code/community/Girosolution/Giroconnect/controllers/IdealController.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php
2
 
3
  /*
4
  * To change this template, choose Tools | Templates
@@ -98,16 +98,19 @@ class Girosolution_Giroconnect_IdealController extends Mage_Core_Controller_Fron
98
  //Checks if the payment was successful and redirects the user
99
  if (!$notify->paymentSuccessful()) {
100
  // Set messages or error codes
101
- Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('Payment with iDEAL failed'));
 
 
102
  $this->_redirect('checkout/onepage', array('_secure' => true));
103
  } else {
104
  // Set customers shopping cart inactive
 
 
105
  Mage::getSingleton('checkout/session')->unsIdealIssuerList();
106
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
107
  $this->_redirect('checkout/onepage/success', array('_secure' => true));
108
  }
109
  } catch (Exception $e) {
110
- //$orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE,$notify->getResponseParam('gcReference'),$notify->getResponseParams());
111
  Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('An unexpected error occured, please check your order'));
112
  $this->_redirect('checkout/onepage', array('_secure' => true));
113
  }
@@ -131,7 +134,6 @@ class Girosolution_Giroconnect_IdealController extends Mage_Core_Controller_Fron
131
  // clear response
132
  $this->getResponse()->clearAllHeaders()->clearBody();
133
 
134
- $notifyOK = TRUE;
135
  $strMsg = "";
136
  $CustomerNr = "";
137
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
@@ -151,38 +153,34 @@ class Girosolution_Giroconnect_IdealController extends Mage_Core_Controller_Fron
151
  $notify->parseNotification($_GET);
152
 
153
  if (!$notify->paymentSuccessful()) {
154
- $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
155
- $notifyOK = false;
 
 
 
 
 
 
 
156
  } else {
157
- $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
158
- $notifyOK = true;
 
 
 
 
 
 
 
159
  }
160
  } catch (Exception $e) {
161
- $notifyOK = false;
162
- $strMsg = $e->getMessage();
163
- }
164
-
165
- if( $notifyOK == TRUE ) {
166
- //$this->getResponse()->setHttpResponseCode(200);
167
- //$this->getResponse()->sendResponse();
168
- $notify->sendOkStatus();
169
- $notify->setNotifyResponseParam('Result', 'OK');
170
- $notify->setNotifyResponseParam('ErrorMessage', '');
171
- $notify->setNotifyResponseParam('MailSent', '');
172
- $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
173
- $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
174
- echo $notify->getNotifyResponseStringJson();
175
- } else {
176
- //$this->getResponse()->setHttpResponseCode(503);
177
- //$this->getResponse()->sendResponse();
178
- $strMsg = $notify->getResponseMessage($notify->getResponseParam('gcResultPayment'),'DE');
179
- $notify->sendServiceUnavailableStatus();
180
  $notify->setNotifyResponseParam('Result', 'ERROR');
181
- $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
182
  $notify->setNotifyResponseParam('MailSent', '');
183
  $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
184
  $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
185
- echo $notify->getNotifyResponseStringJson();
186
  }
187
 
188
  exit;
@@ -191,5 +189,4 @@ class Girosolution_Giroconnect_IdealController extends Mage_Core_Controller_Fron
191
  // End notifyAction
192
  }
193
 
194
- // *** End class Girosolution_Giroconnect_IdealController ***
195
- ?>
1
+ cc <?php
2
 
3
  /*
4
  * To change this template, choose Tools | Templates
98
  //Checks if the payment was successful and redirects the user
99
  if (!$notify->paymentSuccessful()) {
100
  // Set messages or error codes
101
+ $strMsg = Mage::helper('giroconnect')->__('Payment with iDEAL failed');
102
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
103
+ Mage::getSingleton('core/session')->addError($strMsg);
104
  $this->_redirect('checkout/onepage', array('_secure' => true));
105
  } else {
106
  // Set customers shopping cart inactive
107
+ $strMsg = Mage::helper('giroconnect')->__('Payment with iDEAL was successful'). " Ref." .$notify->getResponseParam('gcReference');
108
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
109
  Mage::getSingleton('checkout/session')->unsIdealIssuerList();
110
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
111
  $this->_redirect('checkout/onepage/success', array('_secure' => true));
112
  }
113
  } catch (Exception $e) {
 
114
  Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('An unexpected error occured, please check your order'));
115
  $this->_redirect('checkout/onepage', array('_secure' => true));
116
  }
134
  // clear response
135
  $this->getResponse()->clearAllHeaders()->clearBody();
136
 
 
137
  $strMsg = "";
138
  $CustomerNr = "";
139
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
153
  $notify->parseNotification($_GET);
154
 
155
  if (!$notify->paymentSuccessful()) {
156
+ $strMsg = Mage::helper('giroconnect')->__('Payment with iDEAL failed'). " Ref." .$notify->getResponseParam('gcReference');
157
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
158
+ $notify->sendOkStatus();
159
+ $notify->setNotifyResponseParam('Result', 'ERROR');
160
+ $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
161
+ $notify->setNotifyResponseParam('MailSent', '');
162
+ $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
163
+ $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
164
+ echo $notify->getNotifyResponseStringJson();
165
  } else {
166
+ $strMsg = Mage::helper('giroconnect')->__('Payment with iDEAL was successful'). " Ref." .$notify->getResponseParam('gcReference');
167
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
168
+ $notify->sendOkStatus();
169
+ $notify->setNotifyResponseParam('Result', 'OK');
170
+ $notify->setNotifyResponseParam('ErrorMessage', '');
171
+ $notify->setNotifyResponseParam('MailSent', '');
172
+ $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
173
+ $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
174
+ echo $notify->getNotifyResponseStringJson();
175
  }
176
  } catch (Exception $e) {
177
+ $notify->sendBadRequestStatus();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
  $notify->setNotifyResponseParam('Result', 'ERROR');
179
+ $notify->setNotifyResponseParam('ErrorMessage', $e->getMessage());
180
  $notify->setNotifyResponseParam('MailSent', '');
181
  $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
182
  $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
183
+ echo $notify->getNotifyResponseStringJson();
184
  }
185
 
186
  exit;
189
  // End notifyAction
190
  }
191
 
192
+ // *** End class Girosolution_Giroconnect_IdealController ***
 
app/code/community/Girosolution/Giroconnect/controllers/PaydirektController.php CHANGED
@@ -96,9 +96,13 @@ class Girosolution_Giroconnect_PaydirektController extends Mage_Core_Controller_
96
 
97
  //Checks if the payment was successful and redirects the user
98
  if (!$notify->paymentSuccessful()) {
 
 
99
  Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('Payment with Paydirekt failed'));
100
  $this->_redirect('checkout/onepage', array('_secure' => true));
101
  } else {
 
 
102
  // Set customers shopping cart inactive
103
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
104
  $this->_redirect('checkout/onepage/success', array('_secure' => true));
@@ -127,7 +131,6 @@ class Girosolution_Giroconnect_PaydirektController extends Mage_Core_Controller_
127
  // clear response
128
  $this->getResponse()->clearAllHeaders()->clearBody();
129
 
130
- $notifyOK = TRUE;
131
  $strMsg = "";
132
  $CustomerNr = "";
133
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
@@ -147,45 +150,38 @@ class Girosolution_Giroconnect_PaydirektController extends Mage_Core_Controller_
147
  $notify->parseNotification($_GET);
148
 
149
  if( !$notify->paymentSuccessful() ) {
150
- $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
151
- $notifyOK = false;
 
 
 
 
 
 
 
152
  } else {
153
- $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
154
- $notifyOK = true;
 
 
 
 
 
 
 
155
  }
156
  } catch (Exception $e) {
157
- $notifyOK = false;
158
- $strMsg = $e->getMessage();
159
- }
160
-
161
- if( $notifyOK == TRUE ) {
162
- //$this->getResponse()->setHttpResponseCode(200);
163
- //$this->getResponse()->sendResponse();
164
- $notify->sendOkStatus();
165
- $notify->setNotifyResponseParam('Result', 'OK');
166
- $notify->setNotifyResponseParam('ErrorMessage', '');
167
- $notify->setNotifyResponseParam('MailSent', '');
168
- $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
169
- $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
170
- echo $notify->getNotifyResponseStringJson();
171
- } else {
172
- //$this->getResponse()->setHttpResponseCode(503);
173
- //$this->getResponse()->sendResponse();
174
- $strMsg = $notify->getResponseMessage($notify->getResponseParam('gcResultPayment'),'DE');
175
- $notify->sendServiceUnavailableStatus();
176
  $notify->setNotifyResponseParam('Result', 'ERROR');
177
- $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
178
  $notify->setNotifyResponseParam('MailSent', '');
179
  $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
180
  $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
181
- echo $notify->getNotifyResponseStringJson();
182
  }
183
-
184
  exit;
185
  }
186
 
187
  // End notifyAction
188
  }
189
-
190
- // *** End class Girosolution_Giroconnect_PaydirektController ***
191
- ?>
96
 
97
  //Checks if the payment was successful and redirects the user
98
  if (!$notify->paymentSuccessful()) {
99
+ $strMsg = Mage::helper('giroconnect')->__('Payment with Paydirekt failed');
100
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
101
  Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('Payment with Paydirekt failed'));
102
  $this->_redirect('checkout/onepage', array('_secure' => true));
103
  } else {
104
+ $strMsg = Mage::helper('giroconnect')->__('Payment with Paydirekt was successful'). " Ref." .$notify->getResponseParam('gcReference');
105
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
106
  // Set customers shopping cart inactive
107
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
108
  $this->_redirect('checkout/onepage/success', array('_secure' => true));
131
  // clear response
132
  $this->getResponse()->clearAllHeaders()->clearBody();
133
 
 
134
  $strMsg = "";
135
  $CustomerNr = "";
136
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
150
  $notify->parseNotification($_GET);
151
 
152
  if( !$notify->paymentSuccessful() ) {
153
+ $strMsg = Mage::helper('giroconnect')->__('Payment with Paydirekt failed'). " Ref." .$notify->getResponseParam('gcReference');
154
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
155
+ $notify->sendOkStatus();
156
+ $notify->setNotifyResponseParam('Result', 'ERROR');
157
+ $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
158
+ $notify->setNotifyResponseParam('MailSent', '');
159
+ $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
160
+ $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
161
+ echo $notify->getNotifyResponseStringJson();
162
  } else {
163
+ $strMsg = Mage::helper('giroconnect')->__('Payment with Paydirekt was successful'). " Ref." .$notify->getResponseParam('gcReference');
164
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
165
+ $notify->sendOkStatus();
166
+ $notify->setNotifyResponseParam('Result', 'OK');
167
+ $notify->setNotifyResponseParam('ErrorMessage', '');
168
+ $notify->setNotifyResponseParam('MailSent', '');
169
+ $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
170
+ $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
171
+ echo $notify->getNotifyResponseStringJson();
172
  }
173
  } catch (Exception $e) {
174
+ $notify->sendBadRequestStatus();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  $notify->setNotifyResponseParam('Result', 'ERROR');
176
+ $notify->setNotifyResponseParam('ErrorMessage', $e->getMessage());
177
  $notify->setNotifyResponseParam('MailSent', '');
178
  $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
179
  $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
180
+ echo $notify->getNotifyResponseStringJson();
181
  }
 
182
  exit;
183
  }
184
 
185
  // End notifyAction
186
  }
187
+ // *** End class Girosolution_Giroconnect_PaydirektController ***
 
 
app/code/community/Girosolution/Giroconnect/controllers/SofortuwController.php CHANGED
@@ -95,9 +95,14 @@ class Girosolution_Giroconnect_SofortuwController extends Mage_Core_Controller_F
95
 
96
  //Checks if the payment was successful and redirects the user
97
  if (!$notify->paymentSuccessful()) {
 
 
98
  Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('Payment with SOFORT Überweisung failed'));
99
  $this->_redirect('checkout/onepage', array('_secure' => true));
100
  } else {
 
 
 
101
  // Set customers shopping cart inactive
102
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
103
  $this->_redirect('checkout/onepage/success', array('_secure' => true));
@@ -126,7 +131,6 @@ class Girosolution_Giroconnect_SofortuwController extends Mage_Core_Controller_F
126
  // clear response
127
  $this->getResponse()->clearAllHeaders()->clearBody();
128
 
129
- $notifyOK = TRUE;
130
  $strMsg = "";
131
  $CustomerNr = "";
132
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
@@ -146,40 +150,36 @@ class Girosolution_Giroconnect_SofortuwController extends Mage_Core_Controller_F
146
  $notify->parseNotification($_GET);
147
 
148
  if( !$notify->paymentSuccessful() ) {
149
- $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
150
- $notifyOK = false;
 
 
 
 
 
 
 
151
  } else {
152
- $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
153
- $notifyOK = true;
 
 
 
 
 
 
 
154
  }
155
  } catch (Exception $e) {
156
- $notifyOK = false;
157
- $strMsg = $e->getMessage();
158
- }
159
-
160
- if( $notifyOK == TRUE ) {
161
- //$this->getResponse()->setHttpResponseCode(200);
162
- //$this->getResponse()->sendResponse();
163
- $notify->sendOkStatus();
164
- $notify->setNotifyResponseParam('Result', 'OK');
165
- $notify->setNotifyResponseParam('ErrorMessage', '');
166
- $notify->setNotifyResponseParam('MailSent', '');
167
- $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
168
- $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
169
- echo $notify->getNotifyResponseStringJson();
170
- } else {
171
- //$this->getResponse()->setHttpResponseCode(503);
172
- //$this->getResponse()->sendResponse();
173
- $strMsg = $notify->getResponseMessage($notify->getResponseParam('gcResultPayment'),'DE');
174
- $notify->sendServiceUnavailableStatus();
175
  $notify->setNotifyResponseParam('Result', 'ERROR');
176
- $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
177
  $notify->setNotifyResponseParam('MailSent', '');
178
  $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
179
  $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
180
- echo $notify->getNotifyResponseStringJson();
181
  }
182
-
183
  exit;
184
  }
185
 
95
 
96
  //Checks if the payment was successful and redirects the user
97
  if (!$notify->paymentSuccessful()) {
98
+ $strMsg = Mage::helper('giroconnect')->__('Payment with SOFORT Überweisung failed');
99
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
100
  Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('Payment with SOFORT Überweisung failed'));
101
  $this->_redirect('checkout/onepage', array('_secure' => true));
102
  } else {
103
+ $strMsg = Mage::helper('giroconnect')->__('Payment with SOFORT Überweisung was successful'). " Ref." .$notify->getResponseParam('gcReference');
104
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
105
+
106
  // Set customers shopping cart inactive
107
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
108
  $this->_redirect('checkout/onepage/success', array('_secure' => true));
131
  // clear response
132
  $this->getResponse()->clearAllHeaders()->clearBody();
133
 
 
134
  $strMsg = "";
135
  $CustomerNr = "";
136
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
150
  $notify->parseNotification($_GET);
151
 
152
  if( !$notify->paymentSuccessful() ) {
153
+ $strMsg = Mage::helper('giroconnect')->__('Payment with SOFORT Überweisung failed'). " Ref." .$notify->getResponseParam('gcReference');
154
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
155
+ $notify->sendOkStatus();
156
+ $notify->setNotifyResponseParam('Result', 'OK');
157
+ $notify->setNotifyResponseParam('ErrorMessage', '');
158
+ $notify->setNotifyResponseParam('MailSent', '');
159
+ $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
160
+ $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
161
+ echo $notify->getNotifyResponseStringJson();
162
  } else {
163
+ $strMsg = Mage::helper('giroconnect')->__('Payment with SOFORT Überweisung was successful'). " Ref." .$notify->getResponseParam('gcReference');
164
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
165
+ $notify->sendOkStatus();
166
+ $notify->setNotifyResponseParam('Result', 'ERROR');
167
+ $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
168
+ $notify->setNotifyResponseParam('MailSent', '');
169
+ $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
170
+ $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
171
+ echo $notify->getNotifyResponseStringJson();
172
  }
173
  } catch (Exception $e) {
174
+ $notify->sendBadRequestStatus();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  $notify->setNotifyResponseParam('Result', 'ERROR');
176
+ $notify->setNotifyResponseParam('ErrorMessage', $e->getMessage());
177
  $notify->setNotifyResponseParam('MailSent', '');
178
  $notify->setNotifyResponseParam('OrderId', $order->getRealOrderId());
179
  $notify->setNotifyResponseParam('CustomerId', $CustomerNr);
180
+ echo $notify->getNotifyResponseStringJson();
181
  }
182
+
183
  exit;
184
  }
185
 
app/code/community/Girosolution/Giroconnect/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Girosolution_Giroconnect>
5
- <version>4.0.0.6</version>
6
  </Girosolution_Giroconnect>
7
  </modules>
8
  <global>
2
  <config>
3
  <modules>
4
  <Girosolution_Giroconnect>
5
+ <version>4.0.0.7</version>
6
  </Girosolution_Giroconnect>
7
  </modules>
8
  <global>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>GiroCheckout</name>
4
- <version>4.0.0.6</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
7
  <channel>community</channel>
@@ -56,12 +56,12 @@
56
  &lt;li&gt;&lt;strong&gt;Telefon: &lt;/strong&gt;+49 7554 97090-00&lt;/li&gt;&#xD;
57
  &lt;/ul&gt;</description>
58
  <notes>This version has the following changes compared to the previous one:&#xD;
59
- - Fixed problem with Sofort&#xDC;berweisung&#xD;
60
- - Fixed some error message translations</notes>
61
  <authors><author><name>Oliver Marx</name><user>girosolution</user><email>support@girosolution.de</email></author></authors>
62
- <date>2016-09-13</date>
63
- <time>14:10:33</time>
64
- <contents><target name="magecommunity"><dir name="Girosolution"><dir name="Giroconnect"><dir name="Block"><dir name="Form"><file name="Creditcard.php" hash="da9f4268d3f73306fa2f5cec67de3dc9"/><file name="Directdebit.php" hash="d59b31a9942c4bd274875d76cf7dada9"/><file name="Eps.php" hash="a1affac46e4b74313656ceb7c58ad825"/><file name="Giropay.php" hash="5d57b4e42bb4078539082f6a7c8bdf43"/><file name="Ideal.php" hash="1dbf48d19f36fba70c6eeaa8859290a9"/><file name="Paydirekt.php" hash="e3674caa600ce3a4c15d791ea213413d"/><file name="Sofortuw.php" hash="fed0607b49d8edecf573ac2287579abb"/></dir></dir><dir name="Helper"><file name="AbstractPaymentProxy.php" hash="52d84cbd77fdea5a03ff82b5fbd35d08"/><file name="Creditcard.php" hash="f507043844aaf9b88fa72c0475b28855"/><file name="CreditcardPaymentProxy.php" hash="0655730ee36024816a213bf08ed4cde3"/><file name="Data.php" hash="1ca59ed42becc6b9e8cabd9f25167b9d"/><file name="Directdebit.php" hash="0d279e6d3b482c88734b8812ad8ac3b6"/><file name="DirectdebitPaymentProxy.php" hash="a0754d004acc3d1f01ff81a73e7321b2"/><file name="Eps.php" hash="fb68581068ab53996796d0703463d580"/><file name="EpsPaymentProxy.php" hash="ca2b731d082e4b932b1c471c6419db91"/><file name="Giropay.php" hash="71fc3d8d01372a3e5fc1a7ea53ee3b94"/><file name="GiropayPaymentProxy.php" hash="afe8e6da24316097141e4d92013c9e94"/><file name="Ideal.php" hash="27d8e79434fc7ba1d89c4f73a68b4128"/><file name="IdealPaymentProxy.php" hash="4745f2dd05aac5c7b284db1c9eaf4147"/><file name="Paydirekt.php" hash="ecbf9cd022c72c60485c2149ddecc88a"/><file name="PaydirektPaymentProxy.php" hash="3be6e33940b7cdaa9b1e3a170a164dcd"/><file name="Sofortuw.php" hash="21df61ae435de8a57b7ce3eef69b1901"/><file name="SofortuwPaymentProxy.php" hash="647d463b34fff6e8e6182249786d4866"/></dir><dir name="Model"><file name="Observer.php" hash="fad2eed21c476a32444098dc0c55856d"/><dir name="Payment"><file name="Abstract.php" hash="bae4440864c63892d62e678748ee41d0"/><file name="Creditcard.php" hash="12e9474083f3ba3725ef0e42cc23756e"/><file name="Directdebit.php" hash="f8520809fcf0be702072a3fe8db6db76"/><file name="Eps.php" hash="c12b0ff1445c89fa350efd5b4c2d25ec"/><file name="Giropay.php" hash="b5620d92f7e54cafa89752ad15ddbeeb"/><file name="Ideal.php" hash="659f834b3e383dc86f593eb80f40fb24"/><file name="Paydirekt.php" hash="89eb8dc8bef8c6af6317722eff0ce3fd"/><file name="Sofortuw.php" hash="85ee90b85510fd655d15deda61557232"/></dir></dir><dir name="controllers"><file name="CreditcardController.php" hash="84c55a4341ddf2b3711cfdc29cce5360"/><file name="DirectdebitController.php" hash="3ea16830cbc3e491ca0035e7c8653475"/><file name="EpsController.php" hash="9d446bef9326b0c541674b0a409abcfa"/><file name="GiropayController.php" hash="d130316307b7bb84c0ed3bdd33163b5d"/><file name="IdealController.php" hash="0a3bc6a2357c583105cc10c5febd7dcc"/><file name="PaydirektController.php" hash="f274c4fc0c3d509008f1ea1abf1452b9"/><file name="SofortuwController.php" hash="912310a95576f02aa833fd8865f527d0"/></dir><dir name="etc"><file name="config.xml" hash="0c6b7f5a8f5ee2832f00fa45dcd5a615"/><file name="system.xml" hash="dbe6d6217504526d5877daa031831dbf"/></dir><file name=".DS_Store" hash="9567c71fb3193ad25155b1c371035ddf"/></dir><file name=".DS_Store" hash="e87a74c473c6142d7a1b90396140893f"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="giroconnect"><file name="giroconnectlayout.xml" hash="985e589aaa725053ae11bdc351a3c741"/></dir></dir><dir name="template"><dir name="giroconnect"><dir name="creditcard"><file name="form.phtml" hash="1e0e7f1420c85c636b3c65df5759d8aa"/></dir><dir name="directdebit"><file name="form.phtml" hash="2fb7c488b88e6006e77102f9e288ec6f"/></dir><dir name="eps"><file name="form.phtml" hash="776dbe124e12f6352eb5833715f6ad55"/></dir><dir name="giropay"><file name="form.phtml" hash="7a61bce9dfac3aec7293d21a4abad4d2"/></dir><dir name="ideal"><file name="form.phtml" hash="9d27c8d4eb588e560c3c21aea0622fa2"/></dir><dir name="paydirekt"><file name="form.phtml" hash="295e978704cdd2acc7c2dec1eeb2326f"/></dir><dir name="sofortuw"><file name="form.phtml" hash="edf34ca9f6f110ca9c46a6d95f2c0ad0"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Girosolution_Giroconnect.xml" hash="66789673756b5bf7a9900941aa5b31c8"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Girosolution_Giroconnect.csv" hash="e3aa1634c8f84b1c75cd3fca5d92efab"/></dir></target><target name="magelib"><dir name="GiroCheckout_SDK"><file name="GiroCheckout_SDK.php" hash="d781f6640be2f22d0a65ddd72f18b500"/><file name="GiroCheckout_SDK_Config.php" hash="ec6d3d3634253edaf350829f23bc9d50"/><file name="GiroCheckout_SDK_Notify.php" hash="2e70bd6f362e7ee91ef1713b82ab30f7"/><file name="GiroCheckout_SDK_Request.php" hash="c85f10e7802875844757ed0c0e53ef99"/><file name="GiroCheckout_SDK_Request_Cart.php" hash="d3537fbe56d1c1097fcd525cb9023f3a"/><file name="GiroCheckout_SDK_Tools.php" hash="525192c9077a605bd102775b224d16e2"/><dir name="api"><file name="GiroCheckout_SDK_AbstractApi.php" hash="465251fdd665596dd7a58a67bca3b012"/><file name="GiroCheckout_SDK_InterfaceApi.php" hash="4212b213e8fe3d805db42ad21affe1ee"/><dir name="creditcard"><file name="GiroCheckout_SDK_CreditCardCapture.php" hash="a7119104372e411b64423cff81d08f93"/><file name="GiroCheckout_SDK_CreditCardGetPKN.php" hash="470d9e83f372f5a68af053d49f562c91"/><file name="GiroCheckout_SDK_CreditCardRecurringTransaction.php" hash="192acc0e19b96d6a2e8e0a6a538261a1"/><file name="GiroCheckout_SDK_CreditCardRefund.php" hash="67a8a1ad1b6357ebec6af520e1ffa3c9"/><file name="GiroCheckout_SDK_CreditCardTransaction.php" hash="cc7b06d6b7e3eac18f5eb4fec6cac4c3"/></dir><dir name="directdebit"><file name="GiroCheckout_SDK_DirectDebitCapture.php" hash="cd436aae0fcc3af2ce8dbb9564a6146f"/><file name="GiroCheckout_SDK_DirectDebitGetPKN.php" hash="756d0ac041ffa3d6e94073cac4cf3476"/><file name="GiroCheckout_SDK_DirectDebitRefund.php" hash="b30bcc0db8a0e0817ab064f1cf95f396"/><file name="GiroCheckout_SDK_DirectDebitTransaction.php" hash="24a0ef00ac4a1939fc6afd617421d150"/><file name="GiroCheckout_SDK_DirectDebitTransactionWithPaymentPage.php" hash="32f6a9458fa4e3e7d7957b68a2ebd6c9"/></dir><dir name="eps"><file name="GiroCheckout_SDK_EpsBankstatus.php" hash="3be0632510730e87408ca889092a44fb"/><file name="GiroCheckout_SDK_EpsIssuerList.php" hash="6ff1d3e0a30433de9271f74d5005b8ba"/><file name="GiroCheckout_SDK_EpsTransaction.php" hash="5eb6eb4c78ecd7977e6fb548ad8133ca"/></dir><dir name="girocode"><file name="GiroCheckout_SDK_GiroCodeCreateEpc.php" hash="28909cefe43707be1b0b2b689b54656d"/><file name="GiroCheckout_SDK_GiroCodeCreatePayment.php" hash="d0339f0a8a60c444ed508ee256593714"/><file name="GiroCheckout_SDK_GiroCodeGetEpc.php" hash="d40c97710371a22321bbcc99171a6f1b"/></dir><dir name="giropay"><file name="GiroCheckout_SDK_GiropayBankstatus.php" hash="618c847dadb0614d3d056b2a8b1e4f9e"/><file name="GiroCheckout_SDK_GiropayIDCheck.php" hash="a91e8275a91485516f2a70e200df61f2"/><file name="GiroCheckout_SDK_GiropayIssuerList.php" hash="7a5cbdac111badaf5c73d1fcd11ec01a"/><file name="GiroCheckout_SDK_GiropayTransaction.php" hash="29c777b71d4bc04e894003114f8c68cb"/><file name="GiroCheckout_SDK_GiropayTransactionWithGiropayID.php" hash="0f47a87701be6083666a58a009466f9d"/></dir><dir name="ideal"><file name="GiroCheckout_SDK_IdealIssuerList.php" hash="57cd398f1397831b7160570cfed3ca5c"/><file name="GiroCheckout_SDK_IdealPayment.php" hash="ec3ca7d81f01c150a0d6e3ca8f3c43f9"/><file name="GiroCheckout_SDK_IdealPaymentRefund.php" hash="d5e38c4b5cdb8960cc5b31faacacd398"/></dir><dir name="paydirekt"><file name="GiroCheckout_SDK_PaydirektCapture.php" hash="40b721a3273d67e093f5769ce06e537f"/><file name="GiroCheckout_SDK_PaydirektRefund.php" hash="adf8441f59c1ee4e7f30302495d2f623"/><file name="GiroCheckout_SDK_PaydirektTransaction.php" hash="21849effd5c839692792cbf0eb1fb4cd"/></dir><dir name="paypal"><file name="GiroCheckout_SDK_PaypalTransaction.php" hash="ed865f1cf8ae7b8b63a17bf679fed060"/></dir><dir name="sofortuw"><file name="GiroCheckout_SDK_SofortUwTransaction.php" hash="857f2b01bd42f8efdcc9dc664f877b76"/></dir><dir name="tools"><file name="GiroCheckout_SDK_Tools_GetTransaction.php" hash="976d4665a28e6e732ad6e9d23efd208e"/></dir><file name=".DS_Store" hash="ad7a03e15eaa0ffab00d570c744f4f43"/></dir><file name="cacert.pem" hash="9f92a0d9f605e227ae068e605f4c86fa"/><dir name="helper"><file name="GiroCheckout_SDK_Curl_helper.php" hash="49f9cf964ccc2aa493b4b32482db29a9"/><file name="GiroCheckout_SDK_Debug_helper.php" hash="93782e71d487dd90f190ec69b203a627"/><file name="GiroCheckout_SDK_Exception_helper.php" hash="8b7e594f96d27d34094ca48cc987f924"/><file name="GiroCheckout_SDK_Hash_helper.php" hash="fa18b4830b478f4e3273e78d5ebd607d"/><file name="GiroCheckout_SDK_ResponseCode_helper.php" hash="23ca62f8db55f22c50c4b6ac42490863"/><file name="GiroCheckout_SDK_TransactionType_helper.php" hash="8b503b8defcc6782aba6ca0838bb44af"/></dir><dir name="log"><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/><file name=".htaccess" hash="6f90e67e1aa0ea2a524430a1d554b7f9"/></dir><file name=".DS_Store" hash="713cb3202752c1278861dfeabccf757b"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="giroconnect"><file name="Logo_EC_40_px.jpg" hash="aef230161c29ed7d3823f7f551060c65"/><file name="Logo_EC_50_px.jpg" hash="425c170e1df787dbf19de9dff2e56114"/><file name="Logo_EC_60_px.jpg" hash="f17b079d7e5602bf5b1f3e07606b448d"/><file name="Logo_VISA_MC_40_px.jpg" hash="91c95f1da4f0bac7d74f8b858e3a959d"/><file name="Logo_VISA_MC_50_px.jpg" hash="b8d75f4b45cace78e9f34e95f844f300"/><file name="Logo_VISA_MC_60_px.jpg" hash="6b0cd4e564bef980a895a60495456ee5"/><file name="Logo_bluecode_50_px.jpg" hash="5be40eacf2ec4e38b869138f46d969a9"/><file name="Logo_eps_40_px.jpg" hash="854d254e82f992ae18e26deaac188a53"/><file name="Logo_eps_50_px.jpg" hash="b3b0e39121b5f6fe45a2289ede95f2bf"/><file name="Logo_eps_60_px.jpg" hash="e5a42417e574d75ed45cb967b5d0b452"/><file name="Logo_giropay_40_px.jpg" hash="e75ed3616e148349cdff5e4a0ee31ddb"/><file name="Logo_giropay_50_px.jpg" hash="da239a7c5dce1f8f386ae71a47558e27"/><file name="Logo_giropay_60_px.jpg" hash="b239a4381e33daf9a833360f7dc0e8ff"/><file name="Logo_iDeal_40_px.jpg" hash="383d2477aa82b0b12c0858fe58c59785"/><file name="Logo_iDeal_50_px.jpg" hash="b0a845c3b79ca362b48f6fdf58f38251"/><file name="Logo_iDeal_60_px.jpg" hash="afe3029494284474167506b7d293fdf3"/><file name="Logo_paydirekt_40_px.jpg" hash="ac540a86f7eea46a4d6ac63acb6bd697"/><file name="Logo_paydirekt_50_px.jpg" hash="4d6e01e86127c3e65d754d6bea634f87"/><file name="Logo_paydirekt_60_px.jpg" hash="827325f3c9d3ba531354230ccb67627c"/><file name="Logo_sofort_40_px.jpg" hash="5ea04c960f86e2d8c305a0d7a44bd481"/><file name="Logo_sofort_50_px.jpg" hash="f53d3f2e3bfe9fce6c8bc753db04e03f"/><file name="Logo_sofort_60_px.jpg" hash="bae169dcdc9c4b13a68c639eb173858a"/><file name="amex_40px.jpg" hash="6dc37da20756b28105adb1925a85a1d7"/><file name="amex_40px.png" hash="2d2a6f4ab9df1451c35483ac30cbe368"/><file name="amex_jcb_40px.jpg" hash="9cbd9babe028ba87012d19ac11ccc868"/><file name="jcb_40px.jpg" hash="15bec02c409ab690839b988d809ba438"/><file name="jcb_40px.png" hash="2d2a6f4ab9df1451c35483ac30cbe368"/><file name="visa_msc_40px.jpg" hash="6b4c9114e1377fc7eee488aa5810be65"/><file name="visa_msc_40px.png" hash="2d2a6f4ab9df1451c35483ac30cbe368"/><file name="visa_msc_amex_40px.jpg" hash="420bb2a8b31763ec2cc2f16a83f9fd0e"/><file name="visa_msc_amex_40px.png" hash="2d2a6f4ab9df1451c35483ac30cbe368"/><file name="visa_msc_amex_jcb_40px.jpg" hash="96fe1a2961ca8291a6992243ce7a21e5"/><file name="visa_msc_amex_jcb_40px.png" hash="2d2a6f4ab9df1451c35483ac30cbe368"/><file name="visa_msc_jcb_40px.jpg" hash="573d32ad0be8ce78ce606c4c14c5297b"/><file name="visa_msc_jcb_40px.png" hash="2d2a6f4ab9df1451c35483ac30cbe368"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir></dir></dir></dir></dir></target></contents>
65
  <compatible/>
66
- <dependencies><required><php><min>5.2.0</min><max>7.0.9</max></php></required></dependencies>
67
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>GiroCheckout</name>
4
+ <version>4.0.0.7</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
7
  <channel>community</channel>
56
  &lt;li&gt;&lt;strong&gt;Telefon: &lt;/strong&gt;+49 7554 97090-00&lt;/li&gt;&#xD;
57
  &lt;/ul&gt;</description>
58
  <notes>This version has the following changes compared to the previous one:&#xD;
59
+ - Improvements in notification and redirect handling.&#xD;
60
+ </notes>
61
  <authors><author><name>Oliver Marx</name><user>girosolution</user><email>support@girosolution.de</email></author></authors>
62
+ <date>2016-11-16</date>
63
+ <time>15:04:29</time>
64
+ <contents><target name="magecommunity"><dir name="Girosolution"><dir name="Giroconnect"><dir name="Block"><dir name="Form"><file name="Creditcard.php" hash="da9f4268d3f73306fa2f5cec67de3dc9"/><file name="Directdebit.php" hash="d59b31a9942c4bd274875d76cf7dada9"/><file name="Eps.php" hash="a1affac46e4b74313656ceb7c58ad825"/><file name="Giropay.php" hash="5d57b4e42bb4078539082f6a7c8bdf43"/><file name="Ideal.php" hash="1dbf48d19f36fba70c6eeaa8859290a9"/><file name="Paydirekt.php" hash="e3674caa600ce3a4c15d791ea213413d"/><file name="Sofortuw.php" hash="fed0607b49d8edecf573ac2287579abb"/></dir></dir><dir name="Helper"><file name="AbstractPaymentProxy.php" hash="52d84cbd77fdea5a03ff82b5fbd35d08"/><file name="Creditcard.php" hash="f507043844aaf9b88fa72c0475b28855"/><file name="CreditcardPaymentProxy.php" hash="0655730ee36024816a213bf08ed4cde3"/><file name="Data.php" hash="1ca59ed42becc6b9e8cabd9f25167b9d"/><file name="Directdebit.php" hash="0d279e6d3b482c88734b8812ad8ac3b6"/><file name="DirectdebitPaymentProxy.php" hash="a0754d004acc3d1f01ff81a73e7321b2"/><file name="Eps.php" hash="fb68581068ab53996796d0703463d580"/><file name="EpsPaymentProxy.php" hash="ca2b731d082e4b932b1c471c6419db91"/><file name="Giropay.php" hash="71fc3d8d01372a3e5fc1a7ea53ee3b94"/><file name="GiropayPaymentProxy.php" hash="afe8e6da24316097141e4d92013c9e94"/><file name="Ideal.php" hash="27d8e79434fc7ba1d89c4f73a68b4128"/><file name="IdealPaymentProxy.php" hash="4745f2dd05aac5c7b284db1c9eaf4147"/><file name="Paydirekt.php" hash="ecbf9cd022c72c60485c2149ddecc88a"/><file name="PaydirektPaymentProxy.php" hash="3be6e33940b7cdaa9b1e3a170a164dcd"/><file name="Sofortuw.php" hash="21df61ae435de8a57b7ce3eef69b1901"/><file name="SofortuwPaymentProxy.php" hash="647d463b34fff6e8e6182249786d4866"/></dir><dir name="Model"><file name="Observer.php" hash="fad2eed21c476a32444098dc0c55856d"/><dir name="Payment"><file name="Abstract.php" hash="879c166812f27d632b053da6ff58cd14"/><file name="Creditcard.php" hash="12e9474083f3ba3725ef0e42cc23756e"/><file name="Directdebit.php" hash="f8520809fcf0be702072a3fe8db6db76"/><file name="Eps.php" hash="c12b0ff1445c89fa350efd5b4c2d25ec"/><file name="Giropay.php" hash="b5620d92f7e54cafa89752ad15ddbeeb"/><file name="Ideal.php" hash="659f834b3e383dc86f593eb80f40fb24"/><file name="Paydirekt.php" hash="89eb8dc8bef8c6af6317722eff0ce3fd"/><file name="Sofortuw.php" hash="85ee90b85510fd655d15deda61557232"/></dir></dir><dir name="controllers"><file name="CreditcardController.php" hash="86ebb2144f1d416b6a22434aabb18c55"/><file name="DirectdebitController.php" hash="11d96131c13c2155470d0ddb95343c39"/><file name="EpsController.php" hash="2c2414f49c93483b431bd65132f1427a"/><file name="GiropayController.php" hash="cd2063cd61a254e5f405551d902587ad"/><file name="IdealController.php" hash="3d6a374e498d99d34c05a41f852bffa4"/><file name="PaydirektController.php" hash="64632de61efa801706012b39103eab38"/><file name="SofortuwController.php" hash="a313b4d1912ac5e4a729c5e248d22777"/></dir><dir name="etc"><file name="config.xml" hash="3dd82279ab73d687960cbb13363a8a15"/><file name="system.xml" hash="dbe6d6217504526d5877daa031831dbf"/></dir><file name=".DS_Store" hash="9567c71fb3193ad25155b1c371035ddf"/></dir><file name=".DS_Store" hash="e87a74c473c6142d7a1b90396140893f"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="giroconnect"><file name="giroconnectlayout.xml" hash="985e589aaa725053ae11bdc351a3c741"/></dir></dir><dir name="template"><dir name="giroconnect"><dir name="creditcard"><file name="form.phtml" hash="1e0e7f1420c85c636b3c65df5759d8aa"/></dir><dir name="directdebit"><file name="form.phtml" hash="2fb7c488b88e6006e77102f9e288ec6f"/></dir><dir name="eps"><file name="form.phtml" hash="776dbe124e12f6352eb5833715f6ad55"/></dir><dir name="giropay"><file name="form.phtml" hash="7a61bce9dfac3aec7293d21a4abad4d2"/></dir><dir name="ideal"><file name="form.phtml" hash="9d27c8d4eb588e560c3c21aea0622fa2"/></dir><dir name="paydirekt"><file name="form.phtml" hash="295e978704cdd2acc7c2dec1eeb2326f"/></dir><dir name="sofortuw"><file name="form.phtml" hash="edf34ca9f6f110ca9c46a6d95f2c0ad0"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Girosolution_Giroconnect.xml" hash="66789673756b5bf7a9900941aa5b31c8"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Girosolution_Giroconnect.csv" hash="e3aa1634c8f84b1c75cd3fca5d92efab"/></dir></target><target name="magelib"><dir name="GiroCheckout_SDK"><file name="GiroCheckout_SDK.php" hash="d781f6640be2f22d0a65ddd72f18b500"/><file name="GiroCheckout_SDK_Config.php" hash="ec6d3d3634253edaf350829f23bc9d50"/><file name="GiroCheckout_SDK_Notify.php" hash="2e70bd6f362e7ee91ef1713b82ab30f7"/><file name="GiroCheckout_SDK_Request.php" hash="c85f10e7802875844757ed0c0e53ef99"/><file name="GiroCheckout_SDK_Request_Cart.php" hash="d3537fbe56d1c1097fcd525cb9023f3a"/><file name="GiroCheckout_SDK_Tools.php" hash="525192c9077a605bd102775b224d16e2"/><dir name="api"><file name="GiroCheckout_SDK_AbstractApi.php" hash="465251fdd665596dd7a58a67bca3b012"/><file name="GiroCheckout_SDK_InterfaceApi.php" hash="4212b213e8fe3d805db42ad21affe1ee"/><dir name="creditcard"><file name="GiroCheckout_SDK_CreditCardCapture.php" hash="a7119104372e411b64423cff81d08f93"/><file name="GiroCheckout_SDK_CreditCardGetPKN.php" hash="470d9e83f372f5a68af053d49f562c91"/><file name="GiroCheckout_SDK_CreditCardRecurringTransaction.php" hash="192acc0e19b96d6a2e8e0a6a538261a1"/><file name="GiroCheckout_SDK_CreditCardRefund.php" hash="67a8a1ad1b6357ebec6af520e1ffa3c9"/><file name="GiroCheckout_SDK_CreditCardTransaction.php" hash="cc7b06d6b7e3eac18f5eb4fec6cac4c3"/></dir><dir name="directdebit"><file name="GiroCheckout_SDK_DirectDebitCapture.php" hash="cd436aae0fcc3af2ce8dbb9564a6146f"/><file name="GiroCheckout_SDK_DirectDebitGetPKN.php" hash="756d0ac041ffa3d6e94073cac4cf3476"/><file name="GiroCheckout_SDK_DirectDebitRefund.php" hash="b30bcc0db8a0e0817ab064f1cf95f396"/><file name="GiroCheckout_SDK_DirectDebitTransaction.php" hash="24a0ef00ac4a1939fc6afd617421d150"/><file name="GiroCheckout_SDK_DirectDebitTransactionWithPaymentPage.php" hash="32f6a9458fa4e3e7d7957b68a2ebd6c9"/></dir><dir name="eps"><file name="GiroCheckout_SDK_EpsBankstatus.php" hash="3be0632510730e87408ca889092a44fb"/><file name="GiroCheckout_SDK_EpsIssuerList.php" hash="6ff1d3e0a30433de9271f74d5005b8ba"/><file name="GiroCheckout_SDK_EpsTransaction.php" hash="5eb6eb4c78ecd7977e6fb548ad8133ca"/></dir><dir name="girocode"><file name="GiroCheckout_SDK_GiroCodeCreateEpc.php" hash="28909cefe43707be1b0b2b689b54656d"/><file name="GiroCheckout_SDK_GiroCodeCreatePayment.php" hash="d0339f0a8a60c444ed508ee256593714"/><file name="GiroCheckout_SDK_GiroCodeGetEpc.php" hash="d40c97710371a22321bbcc99171a6f1b"/></dir><dir name="giropay"><file name="GiroCheckout_SDK_GiropayBankstatus.php" hash="618c847dadb0614d3d056b2a8b1e4f9e"/><file name="GiroCheckout_SDK_GiropayIDCheck.php" hash="a91e8275a91485516f2a70e200df61f2"/><file name="GiroCheckout_SDK_GiropayIssuerList.php" hash="7a5cbdac111badaf5c73d1fcd11ec01a"/><file name="GiroCheckout_SDK_GiropayTransaction.php" hash="29c777b71d4bc04e894003114f8c68cb"/><file name="GiroCheckout_SDK_GiropayTransactionWithGiropayID.php" hash="0f47a87701be6083666a58a009466f9d"/></dir><dir name="ideal"><file name="GiroCheckout_SDK_IdealIssuerList.php" hash="57cd398f1397831b7160570cfed3ca5c"/><file name="GiroCheckout_SDK_IdealPayment.php" hash="ec3ca7d81f01c150a0d6e3ca8f3c43f9"/><file name="GiroCheckout_SDK_IdealPaymentRefund.php" hash="d5e38c4b5cdb8960cc5b31faacacd398"/></dir><dir name="paydirekt"><file name="GiroCheckout_SDK_PaydirektCapture.php" hash="40b721a3273d67e093f5769ce06e537f"/><file name="GiroCheckout_SDK_PaydirektRefund.php" hash="adf8441f59c1ee4e7f30302495d2f623"/><file name="GiroCheckout_SDK_PaydirektTransaction.php" hash="21849effd5c839692792cbf0eb1fb4cd"/></dir><dir name="paypal"><file name="GiroCheckout_SDK_PaypalTransaction.php" hash="ed865f1cf8ae7b8b63a17bf679fed060"/></dir><dir name="sofortuw"><file name="GiroCheckout_SDK_SofortUwTransaction.php" hash="857f2b01bd42f8efdcc9dc664f877b76"/></dir><dir name="tools"><file name="GiroCheckout_SDK_Tools_GetTransaction.php" hash="976d4665a28e6e732ad6e9d23efd208e"/></dir><file name=".DS_Store" hash="ad7a03e15eaa0ffab00d570c744f4f43"/></dir><file name="cacert.pem" hash="9f92a0d9f605e227ae068e605f4c86fa"/><dir name="helper"><file name="GiroCheckout_SDK_Curl_helper.php" hash="49f9cf964ccc2aa493b4b32482db29a9"/><file name="GiroCheckout_SDK_Debug_helper.php" hash="93782e71d487dd90f190ec69b203a627"/><file name="GiroCheckout_SDK_Exception_helper.php" hash="8b7e594f96d27d34094ca48cc987f924"/><file name="GiroCheckout_SDK_Hash_helper.php" hash="fa18b4830b478f4e3273e78d5ebd607d"/><file name="GiroCheckout_SDK_ResponseCode_helper.php" hash="23ca62f8db55f22c50c4b6ac42490863"/><file name="GiroCheckout_SDK_TransactionType_helper.php" hash="8b503b8defcc6782aba6ca0838bb44af"/></dir><dir name="log"><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/><file name=".htaccess" hash="6f90e67e1aa0ea2a524430a1d554b7f9"/></dir><file name=".DS_Store" hash="713cb3202752c1278861dfeabccf757b"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="giroconnect"><file name="Logo_EC_40_px.jpg" hash="aef230161c29ed7d3823f7f551060c65"/><file name="Logo_EC_50_px.jpg" hash="425c170e1df787dbf19de9dff2e56114"/><file name="Logo_EC_60_px.jpg" hash="f17b079d7e5602bf5b1f3e07606b448d"/><file name="Logo_VISA_MC_40_px.jpg" hash="91c95f1da4f0bac7d74f8b858e3a959d"/><file name="Logo_VISA_MC_50_px.jpg" hash="b8d75f4b45cace78e9f34e95f844f300"/><file name="Logo_VISA_MC_60_px.jpg" hash="6b0cd4e564bef980a895a60495456ee5"/><file name="Logo_bluecode_50_px.jpg" hash="5be40eacf2ec4e38b869138f46d969a9"/><file name="Logo_eps_40_px.jpg" hash="854d254e82f992ae18e26deaac188a53"/><file name="Logo_eps_50_px.jpg" hash="b3b0e39121b5f6fe45a2289ede95f2bf"/><file name="Logo_eps_60_px.jpg" hash="e5a42417e574d75ed45cb967b5d0b452"/><file name="Logo_giropay_40_px.jpg" hash="e75ed3616e148349cdff5e4a0ee31ddb"/><file name="Logo_giropay_50_px.jpg" hash="da239a7c5dce1f8f386ae71a47558e27"/><file name="Logo_giropay_60_px.jpg" hash="b239a4381e33daf9a833360f7dc0e8ff"/><file name="Logo_iDeal_40_px.jpg" hash="383d2477aa82b0b12c0858fe58c59785"/><file name="Logo_iDeal_50_px.jpg" hash="b0a845c3b79ca362b48f6fdf58f38251"/><file name="Logo_iDeal_60_px.jpg" hash="afe3029494284474167506b7d293fdf3"/><file name="Logo_paydirekt_40_px.jpg" hash="ac540a86f7eea46a4d6ac63acb6bd697"/><file name="Logo_paydirekt_50_px.jpg" hash="4d6e01e86127c3e65d754d6bea634f87"/><file name="Logo_paydirekt_60_px.jpg" hash="827325f3c9d3ba531354230ccb67627c"/><file name="Logo_sofort_40_px.jpg" hash="5ea04c960f86e2d8c305a0d7a44bd481"/><file name="Logo_sofort_50_px.jpg" hash="f53d3f2e3bfe9fce6c8bc753db04e03f"/><file name="Logo_sofort_60_px.jpg" hash="bae169dcdc9c4b13a68c639eb173858a"/><file name="amex_40px.jpg" hash="6dc37da20756b28105adb1925a85a1d7"/><file name="amex_40px.png" hash="2d2a6f4ab9df1451c35483ac30cbe368"/><file name="amex_jcb_40px.jpg" hash="9cbd9babe028ba87012d19ac11ccc868"/><file name="jcb_40px.jpg" hash="15bec02c409ab690839b988d809ba438"/><file name="jcb_40px.png" hash="2d2a6f4ab9df1451c35483ac30cbe368"/><file name="visa_msc_40px.jpg" hash="6b4c9114e1377fc7eee488aa5810be65"/><file name="visa_msc_40px.png" hash="2d2a6f4ab9df1451c35483ac30cbe368"/><file name="visa_msc_amex_40px.jpg" hash="420bb2a8b31763ec2cc2f16a83f9fd0e"/><file name="visa_msc_amex_40px.png" hash="2d2a6f4ab9df1451c35483ac30cbe368"/><file name="visa_msc_amex_jcb_40px.jpg" hash="96fe1a2961ca8291a6992243ce7a21e5"/><file name="visa_msc_amex_jcb_40px.png" hash="2d2a6f4ab9df1451c35483ac30cbe368"/><file name="visa_msc_jcb_40px.jpg" hash="573d32ad0be8ce78ce606c4c14c5297b"/><file name="visa_msc_jcb_40px.png" hash="2d2a6f4ab9df1451c35483ac30cbe368"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir></dir></dir></dir></dir></target></contents>
65
  <compatible/>
66
+ <dependencies><required><php><min>5.2.0</min><max>7.0.12</max></php></required></dependencies>
67
  </package>