GiroCheckout - Version 4.0.0.8

Version Notes

This version has the following changes compared to the previous one:
- Fixed problem with duplicated order comments and emails after the purchase.
- Make sure notification is handled before redirect.

Download this release

Release Info

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


Code changes from version 4.0.0.7 to 4.0.0.8

app/code/community/Girosolution/Giroconnect/Helper/CreditcardPaymentProxy.php CHANGED
@@ -52,6 +52,7 @@ class Girosolution_Giroconnect_Helper_CreditcardPaymentProxy extends Girosolutio
52
  // End validate
53
 
54
  public function modifyOrderAfterPayment($paymentSuccessful = FALSE, $orderid = '', $updateOrderState = FALSE, $gcRef = null, $gcTransInfo = null) {
 
55
  $paymentSuccessful = isset($paymentSuccessful) ? (is_bool($paymentSuccessful) ? $paymentSuccessful : FALSE) : FALSE;
56
  $orderid = isset($orderid) ? $orderid : '';
57
  $updateOrderState = isset($updateOrderState) ? (is_bool($updateOrderState) ? $updateOrderState : FALSE) : FALSE;
52
  // End validate
53
 
54
  public function modifyOrderAfterPayment($paymentSuccessful = FALSE, $orderid = '', $updateOrderState = FALSE, $gcRef = null, $gcTransInfo = null) {
55
+
56
  $paymentSuccessful = isset($paymentSuccessful) ? (is_bool($paymentSuccessful) ? $paymentSuccessful : FALSE) : FALSE;
57
  $orderid = isset($orderid) ? $orderid : '';
58
  $updateOrderState = isset($updateOrderState) ? (is_bool($updateOrderState) ? $updateOrderState : FALSE) : FALSE;
app/code/community/Girosolution/Giroconnect/Model/Payment/Abstract.php CHANGED
@@ -68,11 +68,12 @@ public function modifyOrderAfterPayment($paymentSuccessful = FALSE,
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;
@@ -81,7 +82,7 @@ public function modifyOrderAfterPayment($paymentSuccessful = FALSE,
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));
@@ -137,6 +138,7 @@ public function modifyOrderAfterPayment($paymentSuccessful = FALSE,
137
  }
138
 
139
  $order->save();
 
140
  return TRUE;
141
  } // End modifyOrderAfterPayment
142
 
68
 
69
 
70
  $order = $this->getExistingOrder($orderid);
71
+
72
  // If order was not found, return FALSE
73
  if( $order === FALSE ) {
74
  return FALSE;
75
  }
76
+
77
  //If order was already updated, do not update again.
78
  if( $order->getState() != Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
79
  $updateOrderState = FALSE;
82
  // update transaction
83
  $payment = $order->getPayment();
84
  $payment->setTransactionId($orderid);
85
+ $transaction = $payment->addTransaction('order', null, false, false);
86
  $transaction->setParentTxnId($orderid);
87
  $transaction->setIsClosed(1);
88
  $transaction->setAdditionalInformation("arrInfo", serialize($gcTransInfo));
138
  }
139
 
140
  $order->save();
141
+
142
  return TRUE;
143
  } // End modifyOrderAfterPayment
144
 
app/code/community/Girosolution/Giroconnect/controllers/CreditcardController.php CHANGED
@@ -82,11 +82,15 @@ class Girosolution_Giroconnect_CreditcardController extends Mage_Core_Controller
82
 
83
  public function redirectAction() {
84
 
 
85
  $helper = Mage::helper('giroconnect/creditcard');
86
  $proxy = $helper->getCreditcardPaymentProxy();
87
 
88
  //Retrieves the project password.
89
  $projectPassword = $proxy->getProjectPassword();
 
 
 
90
  try {
91
  //Get the notification
92
  $notify = new GiroCheckout_SDK_Notify('creditCardTransaction');
@@ -96,12 +100,17 @@ class Girosolution_Giroconnect_CreditcardController extends Mage_Core_Controller
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();
@@ -134,7 +143,7 @@ class Girosolution_Giroconnect_CreditcardController extends Mage_Core_Controller
134
  $strMsg = "";
135
  $CustomerNr = "";
136
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
137
-
138
  if( $order->getCustomerIsGuest() ){
139
  $CustomerNr = "";
140
  }
@@ -152,7 +161,11 @@ class Girosolution_Giroconnect_CreditcardController extends Mage_Core_Controller
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);
@@ -162,7 +175,11 @@ class Girosolution_Giroconnect_CreditcardController extends Mage_Core_Controller
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', '');
82
 
83
  public function redirectAction() {
84
 
85
+ sleep(5);
86
  $helper = Mage::helper('giroconnect/creditcard');
87
  $proxy = $helper->getCreditcardPaymentProxy();
88
 
89
  //Retrieves the project password.
90
  $projectPassword = $proxy->getProjectPassword();
91
+
92
+ $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
93
+
94
  try {
95
  //Get the notification
96
  $notify = new GiroCheckout_SDK_Notify('creditCardTransaction');
100
  //Checks if the payment was successful and redirects the user
101
  if (!$notify->paymentSuccessful()) {
102
  $strMsg = Mage::helper('giroconnect')->__('Payment with Creditcard failed');
103
+
104
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT )
105
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg. " Ref." .$notify->getResponseParam('gcReference'), $notify->getResponseParams());
106
+
107
  Mage::getSingleton('core/session')->addError($strMsg);
108
  $this->_redirect('checkout/onepage', array('_secure' => true));
109
  } else {
110
  $strMsg = Mage::helper('giroconnect')->__('Payment with Creditcard was successful'). " Ref." .$notify->getResponseParam('gcReference');
111
+
112
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT )
113
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
114
 
115
  // Set customers shopping cart inactive
116
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
143
  $strMsg = "";
144
  $CustomerNr = "";
145
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
146
+
147
  if( $order->getCustomerIsGuest() ){
148
  $CustomerNr = "";
149
  }
161
 
162
  if( !$notify->paymentSuccessful() ) {
163
  $strMsg = Mage::helper('giroconnect')->__('Payment with Creditcard failed'). " Ref." .$notify->getResponseParam('gcReference');
164
+
165
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
166
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
167
+ }
168
+
169
  $notify->sendOkStatus();
170
  $notify->setNotifyResponseParam('Result', 'ERROR');
171
  $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
175
  echo $notify->getNotifyResponseStringJson();
176
  } else {
177
  $strMsg = Mage::helper('giroconnect')->__('Payment with Creditcard was successful'). " Ref." .$notify->getResponseParam('gcReference');
178
+
179
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
180
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
181
+ }
182
+
183
  $notify->sendOkStatus();
184
  $notify->setNotifyResponseParam('Result', 'OK');
185
  $notify->setNotifyResponseParam('ErrorMessage', '');
app/code/community/Girosolution/Giroconnect/controllers/EpsController.php CHANGED
@@ -82,11 +82,15 @@ class Girosolution_Giroconnect_EpsController extends Mage_Core_Controller_Front_
82
  // End indexAction
83
 
84
  public function redirectAction() {
 
85
  $helper = Mage::helper('giroconnect/eps');
86
  $proxy = $helper->getEpsPaymentProxy();
87
 
88
  //Retrieves the project password.
89
  $projectPassword = $proxy->getProjectPassword();
 
 
 
90
  try {
91
  //Get the notification
92
  $notify = new GiroCheckout_SDK_Notify('epsTransaction');
@@ -99,11 +103,18 @@ class Girosolution_Giroconnect_EpsController extends Mage_Core_Controller_Front_
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();
@@ -154,7 +165,11 @@ class Girosolution_Giroconnect_EpsController extends Mage_Core_Controller_Front_
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);
@@ -164,7 +179,11 @@ class Girosolution_Giroconnect_EpsController extends Mage_Core_Controller_Front_
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', '');
82
  // End indexAction
83
 
84
  public function redirectAction() {
85
+ sleep(5);
86
  $helper = Mage::helper('giroconnect/eps');
87
  $proxy = $helper->getEpsPaymentProxy();
88
 
89
  //Retrieves the project password.
90
  $projectPassword = $proxy->getProjectPassword();
91
+
92
+ $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
93
+
94
  try {
95
  //Get the notification
96
  $notify = new GiroCheckout_SDK_Notify('epsTransaction');
103
  // Set messages or error codes
104
  $strMsg = Mage::helper('giroconnect')->__('Payment with eps failed');
105
  Mage::getSingleton('core/session')->addError($strMsg);
106
+
107
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
108
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
109
+ }
110
+
111
  $this->_redirect('checkout/onepage', array('_secure' => true));
112
  } else {
113
  $strMsg = Mage::helper('giroconnect')->__('Payment with eps was successful'). " Ref." .$notify->getResponseParam('gcReference');
114
+
115
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
116
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
117
+ }
118
 
119
  // Set customers shopping cart inactive
120
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
165
 
166
  if( !$notify->paymentSuccessful() ) {
167
  $strMsg = Mage::helper('giroconnect')->__('Payment with eps failed'). " Ref." .$notify->getResponseParam('gcReference');
168
+
169
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
170
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $notify->getResponseParam('gcMerchantTxId'), TRUE, $strMsg, $notify->getResponseParams());
171
+ }
172
+
173
  $notify->sendOkStatus();
174
  $notify->setNotifyResponseParam('Result', 'ERROR');
175
  $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
179
  echo $notify->getNotifyResponseStringJson();
180
  } else {
181
  $strMsg = Mage::helper('giroconnect')->__('Payment with eps was successful'). " Ref." .$notify->getResponseParam('gcReference');
182
+
183
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
184
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $notify->getResponseParam('gcMerchantTxId'), TRUE, $strMsg, $notify->getResponseParams());
185
+ }
186
+
187
  $notify->sendOkStatus();
188
  $notify->setNotifyResponseParam('Result', 'OK');
189
  $notify->setNotifyResponseParam('ErrorMessage', '');
app/code/community/Girosolution/Giroconnect/controllers/GiropayController.php CHANGED
@@ -84,6 +84,7 @@ class Girosolution_Giroconnect_GiropayController extends Mage_Core_Controller_Fr
84
  // End indexAction
85
 
86
  public function redirectAction() {
 
87
  $helper = Mage::helper('giroconnect/giropay');
88
  $proxy = $helper->getGiropayPaymentProxy();
89
  $language = $proxy->getLanguageCode();
@@ -91,6 +92,8 @@ class Girosolution_Giroconnect_GiropayController extends Mage_Core_Controller_Fr
91
  //Retrieves the project password.
92
  $projectPassword = $proxy->getProjectPassword();
93
 
 
 
94
  try {
95
  //Get the notification
96
  $notify = new GiroCheckout_SDK_Notify('giropayTransaction');
@@ -104,14 +107,20 @@ class Girosolution_Giroconnect_GiropayController extends Mage_Core_Controller_Fr
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();
@@ -145,7 +154,7 @@ class Girosolution_Giroconnect_GiropayController extends Mage_Core_Controller_Fr
145
  $strMsg = "";
146
  $CustomerNr = "";
147
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
148
-
149
  if( $order->getCustomerIsGuest() ){
150
  $CustomerNr = "";
151
  }
@@ -169,7 +178,10 @@ class Girosolution_Giroconnect_GiropayController extends Mage_Core_Controller_Fr
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);
@@ -182,7 +194,10 @@ class Girosolution_Giroconnect_GiropayController extends Mage_Core_Controller_Fr
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', '');
84
  // End indexAction
85
 
86
  public function redirectAction() {
87
+ sleep(5);
88
  $helper = Mage::helper('giroconnect/giropay');
89
  $proxy = $helper->getGiropayPaymentProxy();
90
  $language = $proxy->getLanguageCode();
92
  //Retrieves the project password.
93
  $projectPassword = $proxy->getProjectPassword();
94
 
95
+ $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
96
+
97
  try {
98
  //Get the notification
99
  $notify = new GiroCheckout_SDK_Notify('giropayTransaction');
107
  if( !$notify->avsSuccessful() ) {
108
  $strMsg = $notify->getResponseMessage($iReturnCodeAVS, $language);
109
  }
110
+
111
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
112
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
113
+ }
114
 
115
  // Set messages or error codes
116
  Mage::getSingleton('core/session')->addError($strMsg);
117
  $this->_redirect('checkout/onepage', array('_secure' => true));
118
  } else {
119
  $strMsg = Mage::helper('giroconnect')->__('Payment with giropay was successful'). " Ref." .$notify->getResponseParam('gcReference');
120
+
121
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
122
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
123
+ }
124
 
125
  // Set customers shopping cart inactive
126
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
154
  $strMsg = "";
155
  $CustomerNr = "";
156
  $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
157
+
158
  if( $order->getCustomerIsGuest() ){
159
  $CustomerNr = "";
160
  }
178
  $strMsg .= ", " . $notify->getResponseMessage($iReturnCodeAVS, $language);
179
  }
180
 
181
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
182
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $notify->getResponseParam('gcMerchantTxId'), TRUE, $strMsg, $notify->getResponseParam('gcReference'), $notify->getResponseParams());
183
+ }
184
+
185
  $notify->sendOkStatus();
186
  $notify->setNotifyResponseParam('Result', 'ERROR');
187
  $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
194
  if( !empty($iReturnCodeAVS) )
195
  $strMsg .= ", " . $notify->getResponseMessage($iReturnCodeAVS, $language);
196
 
197
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
198
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $notify->getResponseParam('gcMerchantTxId'), TRUE, $strMsg, $notify->getResponseParam('gcReference'), $notify->getResponsmodifyOrderAfterPaymenteParams());
199
+ }
200
+
201
  $notify->sendOkStatus();
202
  $notify->setNotifyResponseParam('Result', 'OK');
203
  $notify->setNotifyResponseParam('ErrorMessage', '');
app/code/community/Girosolution/Giroconnect/controllers/IdealController.php CHANGED
@@ -84,11 +84,15 @@ class Girosolution_Giroconnect_IdealController extends Mage_Core_Controller_Fron
84
  // End indexAction
85
 
86
  public function redirectAction() {
 
87
  $helper = Mage::helper('giroconnect/ideal');
88
  $proxy = $helper->getIdealPaymentProxy();
89
 
90
  //Retrieves the project password.
91
  $projectPassword = $proxy->getProjectPassword();
 
 
 
92
  try {
93
  //Get the notification
94
  $notify = new GiroCheckout_SDK_Notify('idealPayment');
@@ -99,13 +103,21 @@ class Girosolution_Giroconnect_IdealController extends Mage_Core_Controller_Fron
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));
@@ -154,7 +166,11 @@ class Girosolution_Giroconnect_IdealController extends Mage_Core_Controller_Fron
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);
@@ -164,7 +180,11 @@ class Girosolution_Giroconnect_IdealController extends Mage_Core_Controller_Fron
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', '');
84
  // End indexAction
85
 
86
  public function redirectAction() {
87
+ sleep(5);
88
  $helper = Mage::helper('giroconnect/ideal');
89
  $proxy = $helper->getIdealPaymentProxy();
90
 
91
  //Retrieves the project password.
92
  $projectPassword = $proxy->getProjectPassword();
93
+
94
+ $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
95
+
96
  try {
97
  //Get the notification
98
  $notify = new GiroCheckout_SDK_Notify('idealPayment');
103
  if (!$notify->paymentSuccessful()) {
104
  // Set messages or error codes
105
  $strMsg = Mage::helper('giroconnect')->__('Payment with iDEAL failed');
106
+
107
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
108
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
109
+ }
110
+
111
  Mage::getSingleton('core/session')->addError($strMsg);
112
  $this->_redirect('checkout/onepage', array('_secure' => true));
113
  } else {
114
  // Set customers shopping cart inactive
115
  $strMsg = Mage::helper('giroconnect')->__('Payment with iDEAL was successful'). " Ref." .$notify->getResponseParam('gcReference');
116
+
117
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
118
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
119
+ }
120
+
121
  Mage::getSingleton('checkout/session')->unsIdealIssuerList();
122
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
123
  $this->_redirect('checkout/onepage/success', array('_secure' => true));
166
 
167
  if (!$notify->paymentSuccessful()) {
168
  $strMsg = Mage::helper('giroconnect')->__('Payment with iDEAL failed'). " Ref." .$notify->getResponseParam('gcReference');
169
+
170
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
171
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
172
+ }
173
+
174
  $notify->sendOkStatus();
175
  $notify->setNotifyResponseParam('Result', 'ERROR');
176
  $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
180
  echo $notify->getNotifyResponseStringJson();
181
  } else {
182
  $strMsg = Mage::helper('giroconnect')->__('Payment with iDEAL was successful'). " Ref." .$notify->getResponseParam('gcReference');
183
+
184
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
185
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
186
+ }
187
+
188
  $notify->sendOkStatus();
189
  $notify->setNotifyResponseParam('Result', 'OK');
190
  $notify->setNotifyResponseParam('ErrorMessage', '');
app/code/community/Girosolution/Giroconnect/controllers/PaydirektController.php CHANGED
@@ -82,12 +82,15 @@ class Girosolution_Giroconnect_PaydirektController extends Mage_Core_Controller_
82
  // End indexAction
83
 
84
  public function redirectAction() {
85
-
86
  $helper = Mage::helper('giroconnect/paydirekt');
87
  $proxy = $helper->getPaydirektPaymentProxy();
88
 
89
  //Retrieves the project password.
90
  $projectPassword = $proxy->getProjectPassword();
 
 
 
91
  try {
92
  //Get the notification
93
  $notify = new GiroCheckout_SDK_Notify('paydirektTransaction');
@@ -97,12 +100,20 @@ class Girosolution_Giroconnect_PaydirektController extends Mage_Core_Controller_
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));
@@ -151,7 +162,10 @@ class Girosolution_Giroconnect_PaydirektController extends Mage_Core_Controller_
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);
@@ -161,7 +175,11 @@ class Girosolution_Giroconnect_PaydirektController extends Mage_Core_Controller_
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', '');
82
  // End indexAction
83
 
84
  public function redirectAction() {
85
+ sleep(5);
86
  $helper = Mage::helper('giroconnect/paydirekt');
87
  $proxy = $helper->getPaydirektPaymentProxy();
88
 
89
  //Retrieves the project password.
90
  $projectPassword = $proxy->getProjectPassword();
91
+
92
+ $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
93
+
94
  try {
95
  //Get the notification
96
  $notify = new GiroCheckout_SDK_Notify('paydirektTransaction');
100
  //Checks if the payment was successful and redirects the user
101
  if (!$notify->paymentSuccessful()) {
102
  $strMsg = Mage::helper('giroconnect')->__('Payment with Paydirekt failed');
103
+
104
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
105
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
106
+ }
107
+
108
  Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('Payment with Paydirekt failed'));
109
  $this->_redirect('checkout/onepage', array('_secure' => true));
110
  } else {
111
  $strMsg = Mage::helper('giroconnect')->__('Payment with Paydirekt was successful'). " Ref." .$notify->getResponseParam('gcReference');
112
+
113
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
114
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
115
+ }
116
+
117
  // Set customers shopping cart inactive
118
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
119
  $this->_redirect('checkout/onepage/success', array('_secure' => true));
162
 
163
  if( !$notify->paymentSuccessful() ) {
164
  $strMsg = Mage::helper('giroconnect')->__('Payment with Paydirekt failed'). " Ref." .$notify->getResponseParam('gcReference');
165
+
166
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
167
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
168
+ }
169
  $notify->sendOkStatus();
170
  $notify->setNotifyResponseParam('Result', 'ERROR');
171
  $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
175
  echo $notify->getNotifyResponseStringJson();
176
  } else {
177
  $strMsg = Mage::helper('giroconnect')->__('Payment with Paydirekt was successful'). " Ref." .$notify->getResponseParam('gcReference');
178
+
179
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
180
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
181
+ }
182
+
183
  $notify->sendOkStatus();
184
  $notify->setNotifyResponseParam('Result', 'OK');
185
  $notify->setNotifyResponseParam('ErrorMessage', '');
app/code/community/Girosolution/Giroconnect/controllers/SofortuwController.php CHANGED
@@ -81,12 +81,15 @@ class Girosolution_Giroconnect_SofortuwController extends Mage_Core_Controller_F
81
  // End indexAction
82
 
83
  public function redirectAction() {
84
-
85
  $helper = Mage::helper('giroconnect/sofortuw');
86
  $proxy = $helper->getSofortuwPaymentProxy();
87
 
88
  //Retrieves the project password.
89
  $projectPassword = $proxy->getProjectPassword();
 
 
 
90
  try {
91
  //Get the notification
92
  $notify = new GiroCheckout_SDK_Notify('sofortuwTransaction');
@@ -96,12 +99,19 @@ class Girosolution_Giroconnect_SofortuwController extends Mage_Core_Controller_F
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();
@@ -151,7 +161,11 @@ class Girosolution_Giroconnect_SofortuwController extends Mage_Core_Controller_F
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', '');
@@ -161,7 +175,11 @@ class Girosolution_Giroconnect_SofortuwController extends Mage_Core_Controller_F
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);
81
  // End indexAction
82
 
83
  public function redirectAction() {
84
+ sleep(5);
85
  $helper = Mage::helper('giroconnect/sofortuw');
86
  $proxy = $helper->getSofortuwPaymentProxy();
87
 
88
  //Retrieves the project password.
89
  $projectPassword = $proxy->getProjectPassword();
90
+
91
+ $order = Mage::getModel('sales/order')->loadByIncrementId($_GET['gcMerchantTxId']);
92
+
93
  try {
94
  //Get the notification
95
  $notify = new GiroCheckout_SDK_Notify('sofortuwTransaction');
99
  //Checks if the payment was successful and redirects the user
100
  if (!$notify->paymentSuccessful()) {
101
  $strMsg = Mage::helper('giroconnect')->__('Payment with SOFORT Überweisung failed');
102
+
103
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
104
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
105
+ }
106
+
107
  Mage::getSingleton('core/session')->addError(Mage::helper('giroconnect')->__('Payment with SOFORT Überweisung failed'));
108
  $this->_redirect('checkout/onepage', array('_secure' => true));
109
  } else {
110
  $strMsg = Mage::helper('giroconnect')->__('Payment with SOFORT Überweisung was successful'). " Ref." .$notify->getResponseParam('gcReference');
111
+
112
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
113
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
114
+ }
115
 
116
  // Set customers shopping cart inactive
117
  Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
161
 
162
  if( !$notify->paymentSuccessful() ) {
163
  $strMsg = Mage::helper('giroconnect')->__('Payment with SOFORT Überweisung failed'). " Ref." .$notify->getResponseParam('gcReference');
164
+
165
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
166
+ $orderFound = $proxy->modifyOrderAfterPayment(FALSE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
167
+ }
168
+
169
  $notify->sendOkStatus();
170
  $notify->setNotifyResponseParam('Result', 'OK');
171
  $notify->setNotifyResponseParam('ErrorMessage', '');
175
  echo $notify->getNotifyResponseStringJson();
176
  } else {
177
  $strMsg = Mage::helper('giroconnect')->__('Payment with SOFORT Überweisung was successful'). " Ref." .$notify->getResponseParam('gcReference');
178
+
179
+ if( $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT ) {
180
+ $orderFound = $proxy->modifyOrderAfterPayment(TRUE, $_GET['gcMerchantTxId'], TRUE, $strMsg, $notify->getResponseParams());
181
+ }
182
+
183
  $notify->sendOkStatus();
184
  $notify->setNotifyResponseParam('Result', 'ERROR');
185
  $notify->setNotifyResponseParam('ErrorMessage', $strMsg);
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.7</version>
6
  </Girosolution_Giroconnect>
7
  </modules>
8
  <global>
2
  <config>
3
  <modules>
4
  <Girosolution_Giroconnect>
5
+ <version>4.0.0.8</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.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,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
- - 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>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>GiroCheckout</name>
4
+ <version>4.0.0.8</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
+ - Fixed problem with duplicated order comments and emails after the purchase.&#xD;
60
+ - Make sure notification is handled before redirect.</notes>
61
  <authors><author><name>Oliver Marx</name><user>girosolution</user><email>support@girosolution.de</email></author></authors>
62
+ <date>2017-01-11</date>
63
+ <time>15:43:21</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="825f22d549f76755f883a5328b1bf5b0"/><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="81a054c667651544e09bdf861293f3a4"/><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="95dbb812d710778fe09ea21c529f079e"/><file name="DirectdebitController.php" hash="11d96131c13c2155470d0ddb95343c39"/><file name="EpsController.php" hash="ff1de92a621efc0caaf4245751815213"/><file name="GiropayController.php" hash="e418f3d0e6f7d332fb84eaf9d2f8d4c1"/><file name="IdealController.php" hash="eeb2b144abe63b9e763e0d7c6a61f87f"/><file name="PaydirektController.php" hash="ae6633f153d6abfa70b6bb5b6566b444"/><file name="SofortuwController.php" hash="5d159579aa94633848509225f50a5162"/></dir><dir name="etc"><file name="config.xml" hash="f8c7520df542a971c817ef65b547fc35"/><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>