Mundipagg_Integracao - Version 2.9.5

Version Notes

Performance improvements;
Capture fixes.

Download this release

Release Info

Developer MundiPagg
Extension Mundipagg_Integracao
Version 2.9.5
Comparing to
See all releases


Code changes from version 2.9.4 to 2.9.5

app/code/community/Uecommerce/Mundipagg/Helper/Data.php CHANGED
@@ -578,4 +578,21 @@ class Uecommerce_Mundipagg_Helper_Data extends Mage_Core_Helper_Abstract {
578
  return $newString;
579
  }
580
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
581
  }
578
  return $newString;
579
  }
580
 
581
+ public function jsonEncodePretty($input) {
582
+ $version = phpversion();
583
+ $version = explode('.', $version);
584
+ $version = $version[0] . $version[1];
585
+ $version = intval($version);
586
+
587
+ // JSON Variables available only in PHP 5.4
588
+ if ($version <= 53) {
589
+ $result = json_encode($input);
590
+
591
+ } else {
592
+ $result = json_encode($input, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
593
+ }
594
+
595
+ return $result;
596
+ }
597
+
598
  }
app/code/community/Uecommerce/Mundipagg/Helper/Util.php CHANGED
@@ -2,6 +2,11 @@
2
 
3
  class Uecommerce_Mundipagg_Helper_Util extends Mage_Core_Helper_Abstract {
4
 
 
 
 
 
 
5
  public function jsonEncodePretty($input) {
6
  $version = phpversion();
7
  $version = explode('.', $version);
2
 
3
  class Uecommerce_Mundipagg_Helper_Util extends Mage_Core_Helper_Abstract {
4
 
5
+ /**
6
+ * @todo must be deprecated, remove code duplication with Uecommerce_Mundipagg_Helper_Data
7
+ * @param $input
8
+ * @return string
9
+ */
10
  public function jsonEncodePretty($input) {
11
  $version = phpversion();
12
  $version = explode('.', $version);
app/code/community/Uecommerce/Mundipagg/Model/Api.php CHANGED
@@ -57,22 +57,11 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
57
  $helper = Mage::helper('mundipagg');
58
 
59
  try {
60
- // Installments configuration
61
- $installment = $standard->getParcelamento();
62
- $qtdParcelasMax = $standard->getParcelamentoMax();
63
-
64
- // Get Webservice URL
65
- $url = $standard->getURL();
66
-
67
  // Set Data
68
  $_request = array();
69
  $_request["Order"] = array();
70
  $_request["Order"]["OrderReference"] = $order->getIncrementId();
71
 
72
- // if ($standard->getEnvironment() != 'production') {
73
- // $_request["Order"]["OrderReference"] = md5(date('Y-m-d H:i:s')); // Identificação do pedido na loja
74
- // }
75
-
76
  /*
77
  * Append transaction (multi credit card payments)
78
  * When one of Credit Cards has not been authorized and we try with a new one)
@@ -86,7 +75,6 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
86
 
87
  /* @var $recurrencyModel Uecommerce_Mundipagg_Model_Recurrency */
88
  $recurrencyModel = Mage::getModel('mundipagg/recurrency');
89
-
90
  $creditcardTransactionCollection = array();
91
 
92
  // Partial Payment (we use this reference in order to authorize the rest of the amount)
@@ -97,10 +85,7 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
97
  $baseGrandTotal = str_replace(',', '.', $order->getBaseGrandTotal());
98
  $amountInCentsVar = intval(strval(($baseGrandTotal * 100)));
99
 
100
- // CreditCardOperationEnum : if more than one payment method we use AuthOnly and then capture if all are ok
101
-
102
  $num = $helper->getCreditCardsNumber($data['payment_method']);
103
-
104
  $installmentCount = 1;
105
 
106
  if ($num > 1) {
@@ -1184,6 +1169,59 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
1184
  }
1185
  }
1186
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1187
  /**
1188
  * Process order
1189
  * @param $order
@@ -1226,7 +1264,7 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
1226
 
1227
  $helperLog->info("OrderReference: {$orderReference} | {$returnMessage}");
1228
 
1229
- return "KO | {$returnMessage}";
1230
  }
1231
 
1232
  $transactionData = null;
@@ -1269,6 +1307,9 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
1269
  }
1270
 
1271
  try {
 
 
 
1272
  $this->tryCancelOrder($order, "Transaction update received: {$status}");
1273
  $returnMessage = "OK | {$returnMessageLabel} | Canceled successfully";
1274
  $helperLog->info($returnMessage);
@@ -1305,7 +1346,7 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
1305
  $t = $this->getLocalTransactionsQty($order->getId(), $transactionKey);
1306
 
1307
  if ($t <= 0) {
1308
- $errMsg = "KO | Order #{$orderReference} | TransactionKey {$transactionKey} not found for this order";
1309
  $helperLog->info($errMsg);
1310
 
1311
  return $errMsg;
@@ -1358,6 +1399,8 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
1358
  $returnMessage = "KO | #{$orderReference} | {$transactionKey} | Transaction can't be captured: ";
1359
  $returnMessage .= $return;
1360
 
 
 
1361
  return $returnMessage;
1362
  break;
1363
 
@@ -1472,6 +1515,9 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
1472
  }
1473
 
1474
  try {
 
 
 
1475
  $this->tryCancelOrder($order);
1476
 
1477
  } catch (Exception $e) {
@@ -1706,7 +1752,12 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
1706
  $invoice = null;
1707
 
1708
  try {
 
 
 
 
1709
  $invoice = $orderPayment->createInvoice($order);
 
1710
  } catch (Exception $e) {
1711
  Mage::throwException($e->getMessage());
1712
  }
@@ -1724,6 +1775,8 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
1724
  ->save();
1725
  }
1726
 
 
 
1727
  return $invoice;
1728
 
1729
  break;
@@ -1742,7 +1795,7 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
1742
  // order underpaid
1743
  case $accTotalPaid < $accGrandTotal:
1744
  try {
1745
- $orderPayment->orderUnderPaid($order);
1746
  } catch (Exception $e) {
1747
  Mage::throwException("Cannot set order to underpaid: {$e->getMessage()}");
1748
  }
@@ -1758,10 +1811,6 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
1758
 
1759
  }
1760
 
1761
- private function queryTransactions() {
1762
-
1763
- }
1764
-
1765
  /**
1766
  * Create invoice
1767
  * @return string OK|KO
@@ -1977,7 +2026,6 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
1977
  /**
1978
  * Mail error to Mage::getStoreConfig('trans_email/ident_custom1/email')
1979
  *
1980
- * @author Ruan Azevedo <razevedo@mundipagg.com>
1981
  * @since 31-05-2016
1982
  * @param string $message
1983
  */
@@ -1987,7 +2035,7 @@ class Uecommerce_Mundipagg_Model_Api extends Uecommerce_Mundipagg_Model_Standard
1987
  $fromEmail = Mage::getStoreConfig('trans_email/ident_sales/email');
1988
  $toEmail = Mage::getStoreConfig('trans_email/ident_custom1/email');
1989
  $toName = Mage::getStoreConfig('trans_email/ident_custom1/name');
1990
- $bcc = array('razevedo@mundipagg.com');
1991
  $subject = 'Error Report - MundiPagg Magento Integration';
1992
  $body = "Error Report from: {$_SERVER['HTTP_HOST']}<br><br>{$message}";
1993
 
57
  $helper = Mage::helper('mundipagg');
58
 
59
  try {
 
 
 
 
 
 
 
60
  // Set Data
61
  $_request = array();
62
  $_request["Order"] = array();
63
  $_request["Order"]["OrderReference"] = $order->getIncrementId();
64
 
 
 
 
 
65
  /*
66
  * Append transaction (multi credit card payments)
67
  * When one of Credit Cards has not been authorized and we try with a new one)
75
 
76
  /* @var $recurrencyModel Uecommerce_Mundipagg_Model_Recurrency */
77
  $recurrencyModel = Mage::getModel('mundipagg/recurrency');
 
78
  $creditcardTransactionCollection = array();
79
 
80
  // Partial Payment (we use this reference in order to authorize the rest of the amount)
85
  $baseGrandTotal = str_replace(',', '.', $order->getBaseGrandTotal());
86
  $amountInCentsVar = intval(strval(($baseGrandTotal * 100)));
87
 
 
 
88
  $num = $helper->getCreditCardsNumber($data['payment_method']);
 
89
  $installmentCount = 1;
90
 
91
  if ($num > 1) {
1169
  }
1170
  }
1171
 
1172
+ /**
1173
+ * call MundiPagg endpoint '/Sale/Capture'
1174
+ *
1175
+ * @param array $data
1176
+ * @param string $orderReference
1177
+ * @return array
1178
+ */
1179
+ public function saleCapture($data, $orderReference) {
1180
+ $log = new Uecommerce_Mundipagg_Helper_Log(__METHOD__);
1181
+ $log->setLogLabel("#{$orderReference}");
1182
+
1183
+ // Get Webservice URL
1184
+ $url = "{$this->modelStandard->getURL()}Capture";
1185
+
1186
+ // Get store key
1187
+ $key = $this->modelStandard->getmerchantKey();
1188
+ $dataToPost = json_encode($data);
1189
+
1190
+ /* @var Uecommerce_Mundipagg_Helper_Data $helper */
1191
+ $helper = Mage::helper('mundipagg');
1192
+
1193
+ $log->debug("Url: {$url}");
1194
+ $log->info("Request:\n{$helper->jsonEncodePretty($data)}\n");
1195
+
1196
+ // Send payment data to MundiPagg
1197
+ $ch = curl_init();
1198
+
1199
+ // Header
1200
+ curl_setopt($ch, CURLOPT_HTTPHEADER, [
1201
+ 'Content-Type: application/json',
1202
+ "MerchantKey: {$key}",
1203
+ 'Accept: application/json'
1204
+ ]);
1205
+
1206
+ // Set the url, number of POST vars, POST data
1207
+ curl_setopt($ch, CURLOPT_URL, $url);
1208
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $dataToPost);
1209
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
1210
+
1211
+ // Execute post
1212
+ $response = curl_exec($ch);
1213
+ $response = json_decode($response, true);
1214
+ $jsonPretty = $helper->jsonEncodePretty($response);
1215
+
1216
+ // Close connection
1217
+ curl_close($ch);
1218
+
1219
+ $log->info("Response:\n{$jsonPretty}\n");
1220
+
1221
+ // Return
1222
+ return $response;
1223
+ }
1224
+
1225
  /**
1226
  * Process order
1227
  * @param $order
1264
 
1265
  $helperLog->info("OrderReference: {$orderReference} | {$returnMessage}");
1266
 
1267
+ return "OK | {$returnMessage}";
1268
  }
1269
 
1270
  $transactionData = null;
1307
  }
1308
 
1309
  try {
1310
+ // set flag to prevent send back a cancelation to Mundi via API
1311
+ $this->setCanceledByNotificationFlag($order, true);
1312
+
1313
  $this->tryCancelOrder($order, "Transaction update received: {$status}");
1314
  $returnMessage = "OK | {$returnMessageLabel} | Canceled successfully";
1315
  $helperLog->info($returnMessage);
1346
  $t = $this->getLocalTransactionsQty($order->getId(), $transactionKey);
1347
 
1348
  if ($t <= 0) {
1349
+ $errMsg = "OK | Order #{$orderReference} | TransactionKey {$transactionKey} not found for this order";
1350
  $helperLog->info($errMsg);
1351
 
1352
  return $errMsg;
1399
  $returnMessage = "KO | #{$orderReference} | {$transactionKey} | Transaction can't be captured: ";
1400
  $returnMessage .= $return;
1401
 
1402
+ $helperLog->info($returnMessage);
1403
+
1404
  return $returnMessage;
1405
  break;
1406
 
1515
  }
1516
 
1517
  try {
1518
+ // set flag to prevent send back a cancelation to Mundi via API
1519
+ $this->setCanceledByNotificationFlag($order, true);
1520
+
1521
  $this->tryCancelOrder($order);
1522
 
1523
  } catch (Exception $e) {
1752
  $invoice = null;
1753
 
1754
  try {
1755
+ $order->setBaseTotalPaid(null)
1756
+ ->setTotalPaid(null)
1757
+ ->save();
1758
+
1759
  $invoice = $orderPayment->createInvoice($order);
1760
+
1761
  } catch (Exception $e) {
1762
  Mage::throwException($e->getMessage());
1763
  }
1775
  ->save();
1776
  }
1777
 
1778
+ $this->equalizeInvoiceTotals($invoice);
1779
+
1780
  return $invoice;
1781
 
1782
  break;
1795
  // order underpaid
1796
  case $accTotalPaid < $accGrandTotal:
1797
  try {
1798
+ $orderPayment->orderUnderPaid($order, $amountToCapture);
1799
  } catch (Exception $e) {
1800
  Mage::throwException("Cannot set order to underpaid: {$e->getMessage()}");
1801
  }
1811
 
1812
  }
1813
 
 
 
 
 
1814
  /**
1815
  * Create invoice
1816
  * @return string OK|KO
2026
  /**
2027
  * Mail error to Mage::getStoreConfig('trans_email/ident_custom1/email')
2028
  *
 
2029
  * @since 31-05-2016
2030
  * @param string $message
2031
  */
2035
  $fromEmail = Mage::getStoreConfig('trans_email/ident_sales/email');
2036
  $toEmail = Mage::getStoreConfig('trans_email/ident_custom1/email');
2037
  $toName = Mage::getStoreConfig('trans_email/ident_custom1/name');
2038
+ $bcc = [];
2039
  $subject = 'Error Report - MundiPagg Magento Integration';
2040
  $body = "Error Report from: {$_SERVER['HTTP_HOST']}<br><br>{$message}";
2041
 
app/code/community/Uecommerce/Mundipagg/Model/Observer.php CHANGED
@@ -84,6 +84,14 @@ class Uecommerce_Mundipagg_Model_Observer extends Uecommerce_Mundipagg_Model_Sta
84
  }
85
 
86
  private function cancelOrderViaApi(Mage_Sales_Model_Order $order) {
 
 
 
 
 
 
 
 
87
  $payment = $order->getPayment();
88
  $paymentMethod = $payment->getAdditionalInformation('PaymentMethod');
89
  $allowedPaymentMethods = array(
@@ -202,29 +210,10 @@ class Uecommerce_Mundipagg_Model_Observer extends Uecommerce_Mundipagg_Model_Sta
202
  * Check if recurrency product is in cart in order to show only Mundipagg Credit Card payment
203
  */
204
  public function checkForRecurrency($observer) {
205
- $recurrent = 0;
206
-
207
- $session = Mage::getSingleton('admin/session');
208
-
209
- if ($session->isLoggedIn()) {
210
- $quote = Mage::getSingleton('adminhtml/session_quote')->getQuote();
211
- } else {
212
- $quote = Mage::getSingleton('checkout/session')->getQuote();
213
- }
214
-
215
- $cartItems = $quote->getAllVisibleItems();
216
-
217
- foreach ($cartItems as $item) {
218
- $productId = $item->getProductId();
219
-
220
- $product = Mage::getModel('catalog/product')->load($productId);
221
-
222
- if ($product->getMundipaggRecurrent()) {
223
- $recurrent++;
224
- }
225
- }
226
 
227
- if ($recurrent > 0) {
228
  $instance = $observer->getMethodInstance();
229
  $result = $observer->getResult();
230
 
@@ -405,4 +394,46 @@ class Uecommerce_Mundipagg_Model_Observer extends Uecommerce_Mundipagg_Model_Sta
405
  }
406
  }
407
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
408
  }
84
  }
85
 
86
  private function cancelOrderViaApi(Mage_Sales_Model_Order $order) {
87
+ $standard = new Uecommerce_Mundipagg_Model_Standard();
88
+
89
+ if($standard->getCanceledByNotificationFlag($order)){
90
+ return;
91
+ } else {
92
+ unset($standard);
93
+ }
94
+
95
  $payment = $order->getPayment();
96
  $paymentMethod = $payment->getAdditionalInformation('PaymentMethod');
97
  $allowedPaymentMethods = array(
210
  * Check if recurrency product is in cart in order to show only Mundipagg Credit Card payment
211
  */
212
  public function checkForRecurrency($observer) {
213
+ $session = Mage::getSingleton('checkout/session');
214
+ $recurrent = $session->getMundipaggRecurrency();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215
 
216
+ if ($recurrent) {
217
  $instance = $observer->getMethodInstance();
218
  $result = $observer->getResult();
219
 
394
  }
395
  }
396
 
397
+ /**
398
+ * @param Varien_Event $event
399
+ */
400
+ public function cartCheckRecurrency($event) {
401
+ /* @var Mage_Checkout_Model_Cart $cart */
402
+ $cart = $event->getCart();
403
+
404
+ /* @var Mage_Sales_Model_Quote $quote */
405
+ $quote = $cart->getQuote();
406
+
407
+ /* @var Mage_Sales_Model_Resource_Quote_Item_Collection $items */
408
+ $items = $quote->getAllItems();
409
+
410
+ /* @var Mage_Sales_Model_Quote_Item $item */
411
+ foreach ($items as $item) {
412
+
413
+ /* @var Mage_Sales_Model_Quote_Item_Option $option */
414
+ foreach ($item->getOptions() as $option) {
415
+ /* @var Mage_Catalog_Model_Product $product */
416
+ $product = $option->getProduct();
417
+ $product->load($product->getId());
418
+
419
+ if ($product->getMundipaggRecurrent()) {
420
+ $this->setQuoteRecurrencyFlag(true);
421
+
422
+ return;
423
+ }
424
+ }
425
+ }
426
+
427
+ $this->setQuoteRecurrencyFlag(false);
428
+ }
429
+
430
+ /**
431
+ * @param boolean $option
432
+ *
433
+ */
434
+ private function setQuoteRecurrencyFlag($option) {
435
+ $session = Mage::getSingleton('checkout/session');
436
+ $session->setMundipaggRecurrency($option);
437
+ }
438
+
439
  }
app/code/community/Uecommerce/Mundipagg/Model/Order/Payment.php CHANGED
@@ -56,10 +56,17 @@ class Uecommerce_Mundipagg_Model_Order_Payment {
56
  }
57
  }
58
 
59
- public function orderUnderPaid(Mage_Sales_Model_Order $order) {
60
  try {
61
- $order->setStatus('underpaid')
62
- ->save();
 
 
 
 
 
 
 
63
  } catch (Exception $e) {
64
  Mage::throwException($e);
65
  }
56
  }
57
  }
58
 
59
+ public function orderUnderPaid(Mage_Sales_Model_Order $order, $amountToPaid = null) {
60
  try {
61
+ $order->setStatus('underpaid');
62
+
63
+ if (is_null($amountToPaid) === false) {
64
+ $order->setBaseTotalPaid($amountToPaid)
65
+ ->setTotalPaid($amountToPaid);
66
+ }
67
+
68
+ $order->save();
69
+
70
  } catch (Exception $e) {
71
  Mage::throwException($e);
72
  }
app/code/community/Uecommerce/Mundipagg/Model/Payment.php ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Uecommerce_Mundipagg_Model_Payment extends Mage_Sales_Model_Order_Payment {
4
+
5
+ public function capture($invoice) {
6
+ if (is_null($invoice)) {
7
+ $invoice = $this->_invoice();
8
+ $this->setCreatedInvoice($invoice);
9
+
10
+ return $this; // @see Mage_Sales_Model_Order_Invoice::capture()
11
+ }
12
+ $amountToCapture = $this->_formatAmount($invoice->getBaseGrandTotal());
13
+ $order = $this->getOrder();
14
+
15
+ // prepare parent transaction and its amount
16
+ $paidWorkaround = 0;
17
+ if (!$invoice->wasPayCalled()) {
18
+ $paidWorkaround = (float)$amountToCapture;
19
+ }
20
+ $this->_isCaptureFinal($paidWorkaround);
21
+
22
+ $this->_generateTransactionId(
23
+ Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE,
24
+ $this->getAuthorizationTransaction()
25
+ );
26
+
27
+ Mage::dispatchEvent('sales_order_payment_capture', array('payment' => $this, 'invoice' => $invoice));
28
+
29
+ /**
30
+ * Fetch an update about existing transaction. It can determine whether the transaction can be paid
31
+ * Capture attempt will happen only when invoice is not yet paid and the transaction can be paid
32
+ */
33
+ if ($invoice->getTransactionId()) {
34
+ $this->getMethodInstance()
35
+ ->setStore($order->getStoreId())
36
+ ->fetchTransactionInfo($this, $invoice->getTransactionId());
37
+ }
38
+ $status = true;
39
+ if (!$invoice->getIsPaid() && !$this->getIsTransactionPending()) {
40
+ // attempt to capture: this can trigger "is_transaction_pending"
41
+ $this->getMethodInstance()->setStore($order->getStoreId())->capture($this, $amountToCapture);
42
+
43
+ $amountToCapture = $this->_formatAmount($invoice->getBaseGrandTotal());
44
+
45
+ $transaction = $this->_addTransaction(
46
+ Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE,
47
+ $invoice,
48
+ true
49
+ );
50
+
51
+ if ($this->getIsTransactionPending()) {
52
+ $message = Mage::helper('sales')->__('Capturing amount of %s is pending approval on gateway.', $this->_formatPrice($amountToCapture));
53
+ $state = Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW;
54
+ if ($this->getIsFraudDetected()) {
55
+ $status = Mage_Sales_Model_Order::STATUS_FRAUD;
56
+ }
57
+ $invoice->setIsPaid(false);
58
+ } else { // normal online capture: invoice is marked as "paid"
59
+ $message = Mage::helper('sales')->__('Captured amount of %s online.', $this->_formatPrice($amountToCapture));
60
+ $state = Mage_Sales_Model_Order::STATE_PROCESSING;
61
+ $invoice->setIsPaid(true);
62
+ $this->_updateTotals(array('base_amount_paid_online' => $amountToCapture));
63
+ }
64
+ if ($order->isNominal()) {
65
+ $message = $this->_prependMessage(Mage::helper('sales')->__('Nominal order registered.'));
66
+ } else {
67
+ $message = $this->_prependMessage($message);
68
+ $message = $this->_appendTransactionToMessage($transaction, $message);
69
+ }
70
+ $order->setState($state, $status, $message);
71
+ $this->getMethodInstance()->processInvoice($invoice, $this); // should be deprecated
72
+ return $this;
73
+ }
74
+ Mage::throwException(
75
+ Mage::helper('sales')->__('The transaction "%s" cannot be captured yet.', $invoice->getTransactionId())
76
+ );
77
+ }
78
+
79
+ }
app/code/community/Uecommerce/Mundipagg/Model/Standard.php CHANGED
@@ -582,6 +582,10 @@ class Uecommerce_Mundipagg_Model_Standard extends Mage_Payment_Model_Method_Abst
582
  $result = $helper->issetOr($resultPayment['result'], false);
583
  $ccResultCollection = $helper->issetOr($result['CreditCardTransactionResultCollection']);
584
 
 
 
 
 
585
  if (is_null($ccResultCollection)) {
586
  return $this->integrationTimeOut($order, $payment);
587
  }
@@ -619,14 +623,18 @@ class Uecommerce_Mundipagg_Model_Standard extends Mage_Payment_Model_Method_Abst
619
  $order->sendNewOrderEmail();
620
  }
621
 
 
 
 
622
  // We can capture only if:
623
  // 1. Multiple Credit Cards Payment
624
  // 2. Anti fraud is disabled
625
  // 3. Payment action is "AuthorizeAndCapture"
 
626
  if (count($ccResultCollection) > 1
627
  && $this->getAntiFraud() == 0
628
  && $this->getPaymentAction() == 'order'
629
- && $order->getPaymentAuthorizationAmount() == $order->getGrandTotal()
630
  ) {
631
  $this->captureAndcreateInvoice($payment);
632
  }
@@ -648,7 +656,14 @@ class Uecommerce_Mundipagg_Model_Standard extends Mage_Payment_Model_Method_Abst
648
  * @return Mage_Payment_Model_Abstract
649
  */
650
  public function capture(Varien_Object $payment, $amount) {
651
- $helper = Mage::helper('payment');
 
 
 
 
 
 
 
652
 
653
  if (!$this->canCapture()) {
654
  Mage::throwException($helper->__('Capture action is not available.'));
@@ -667,66 +682,145 @@ class Uecommerce_Mundipagg_Model_Standard extends Mage_Payment_Model_Method_Abst
667
  return $this;
668
  }
669
 
670
- // Prepare data in order to capture
671
- if ($payment->getAdditionalInformation('OrderKey')) {
672
- $transactions = Mage::getModel('sales/order_payment_transaction')
673
- ->getCollection()
674
- ->addAttributeToFilter('order_id', array('eq' => $payment->getOrder()->getEntityId()))
675
- ->addAttributeToFilter('txn_type', array('eq' => 'authorization'));
676
 
677
- foreach ($transactions as $key => $transaction) {
678
- $TransactionKey = $transaction->getAdditionalInformation('TransactionKey');
679
- $TransactionReference = $transaction->getAdditionalInformation('TransactionReference');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
680
  }
681
 
682
- $orderkeys = (array)$payment->getAdditionalInformation('OrderKey');
 
 
 
 
 
 
 
 
 
683
 
684
- foreach ($orderkeys as $orderkey) {
685
- $data['OrderKey'] = $orderkey;
686
- $data['ManageOrderOperationEnum'] = 'Capture';
687
 
688
- //Call Gateway Api
689
- $api = Mage::getModel('mundipagg/api');
 
 
 
 
 
 
 
690
 
691
- $capture = $api->manageOrderRequest($data, $this);
 
 
692
 
693
- // Xml
694
- $xml = $capture['result'];
695
- $json = json_encode($xml);
696
 
697
- $capture['result'] = array();
698
- $capture['result'] = json_decode($json, true);
 
699
 
700
- // Save transactions
701
- if (isset($capture['result']['CreditCardTransactionResultCollection']['CreditCardTransactionResult'])) {
702
- if (count($xml->CreditCardTransactionResultCollection->CreditCardTransactionResult) == 1) {
703
- $trans = $capture['result']['CreditCardTransactionResultCollection']['CreditCardTransactionResult'];
 
 
704
 
705
- $this->_addTransaction($payment, $trans['TransactionKey'], Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE, $trans);
706
- } else {
707
- $CapturedAmountInCents = 0;
708
 
709
- foreach ($capture['result']['CreditCardTransactionResultCollection']['CreditCardTransactionResult'] as $key => $trans) {
710
- $TransactionKey = $trans['TransactionKey'];
711
- $CapturedAmountInCents += $trans['CapturedAmountInCents'];
712
- }
713
 
714
- $trans = array();
715
- $trans['CapturedAmountInCents'] = $CapturedAmountInCents;
716
- $trans['Success'] = true;
717
 
718
- $this->_addTransaction($payment, $TransactionKey, Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE, $trans);
719
- }
720
- } else {
721
- Mage::getSingleton('checkout/session')->setApprovalRequestSuccess('cancel');
 
 
 
 
 
722
 
723
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
724
  }
725
  }
726
- } else {
727
- Mage::throwException(Mage::helper('mundipagg')->__('No OrderKey found.'));
728
 
729
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
730
  }
731
  }
732
 
@@ -746,6 +840,7 @@ class Uecommerce_Mundipagg_Model_Standard extends Mage_Payment_Model_Method_Abst
746
 
747
  // Error
748
  if (!$capture) {
 
749
  return $this;
750
  }
751
 
@@ -769,6 +864,9 @@ class Uecommerce_Mundipagg_Model_Standard extends Mage_Payment_Model_Method_Abst
769
  $order->addStatusHistoryComment('Captured online amount of R$' . $order->getBaseGrandTotal(), false);
770
  $order->save();
771
 
 
 
 
772
  return $this;
773
  }
774
 
@@ -1227,10 +1325,9 @@ class Uecommerce_Mundipagg_Model_Standard extends Mage_Payment_Model_Method_Abst
1227
  if ($orderGrandTotal < $authorizedAmount) {
1228
  $interestInformation = $payment->getAdditionalInformation('mundipagg_interest_information');
1229
  $newInterestInformation = array();
 
1230
 
1231
  if (count($interestInformation)) {
1232
- $newInterest = 0;
1233
-
1234
  foreach ($interestInformation as $key => $ii) {
1235
  if (strpos($key, 'partial') !== false) {
1236
  if ($ii->hasValue()) {
@@ -2115,4 +2212,31 @@ class Uecommerce_Mundipagg_Model_Standard extends Mage_Payment_Model_Method_Abst
2115
  }
2116
  }
2117
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2118
  }
582
  $result = $helper->issetOr($resultPayment['result'], false);
583
  $ccResultCollection = $helper->issetOr($result['CreditCardTransactionResultCollection']);
584
 
585
+ /**
586
+ * @todo: Refact this. Integration time out message must be setted only if the API response is false
587
+ * 'CreditCardTransactionResultCollection' null or empty is not a timeout
588
+ */
589
  if (is_null($ccResultCollection)) {
590
  return $this->integrationTimeOut($order, $payment);
591
  }
623
  $order->sendNewOrderEmail();
624
  }
625
 
626
+ $accPaymentAuthorizationAmount = sprintf($order->getPaymentAuthorizationAmount());
627
+ $accGrandTotal = sprintf($order->getGrandTotal());
628
+
629
  // We can capture only if:
630
  // 1. Multiple Credit Cards Payment
631
  // 2. Anti fraud is disabled
632
  // 3. Payment action is "AuthorizeAndCapture"
633
+ // 4. Authorization amount is equal to grand_total
634
  if (count($ccResultCollection) > 1
635
  && $this->getAntiFraud() == 0
636
  && $this->getPaymentAction() == 'order'
637
+ && $accPaymentAuthorizationAmount == $accGrandTotal
638
  ) {
639
  $this->captureAndcreateInvoice($payment);
640
  }
656
  * @return Mage_Payment_Model_Abstract
657
  */
658
  public function capture(Varien_Object $payment, $amount) {
659
+ $helper = Mage::helper('mundipagg');
660
+ $captureCase = $helper->issetOr($_POST['invoice']['capture_case'], 'offline');
661
+
662
+ if ($captureCase === 'online') {
663
+ $this->captureOnline($payment);
664
+
665
+ return $this;
666
+ }
667
 
668
  if (!$this->canCapture()) {
669
  Mage::throwException($helper->__('Capture action is not available.'));
682
  return $this;
683
  }
684
 
685
+ /* @var Mage_Sales_Model_Order_Payment $payment */
686
+ $orderkeys = (array)$payment->getAdditionalInformation('OrderKey');
 
 
 
 
687
 
688
+ if (empty($orderkeys)) {
689
+ Mage::throwException(Mage::helper('mundipagg')->__('No OrderKey found.'));
690
+
691
+ return false;
692
+ }
693
+
694
+ foreach ($orderkeys as $orderkey) {
695
+ /* @var Uecommerce_Mundipagg_Model_Api $api */
696
+ $api = Mage::getModel('mundipagg/api');
697
+ //Call Gateway Api
698
+ $capture = $api->saleCapture(['OrderKey' => $orderkey], $payment->getOrder()->getIncrementId());
699
+ $ccTxnResultCollection = $helper->issetOr($capture['CreditCardTransactionResultCollection']);
700
+
701
+ if (!is_array($ccTxnResultCollection)
702
+ || is_null($ccTxnResultCollection)
703
+ || empty($ccTxnResultCollection)
704
+ ) {
705
+ Mage::getSingleton('checkout/session')->setApprovalRequestSuccess('cancel');
706
+
707
+ return false;
708
  }
709
 
710
+ // Save transactions
711
+ foreach ($ccTxnResultCollection as $txn){
712
+ $this->_addTransaction(
713
+ $payment,
714
+ $txn['TransactionKey'],
715
+ Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE,
716
+ $txn
717
+ );
718
+ }
719
+ }
720
 
721
+ return true;
722
+ }
 
723
 
724
+ /**
725
+ * Online capture payment abstract methodl
726
+ *
727
+ * @param Varien_Object $payment
728
+ * @return $this
729
+ */
730
+ public function captureOnline(Varien_Object $payment) {
731
+ /* @var Uecommerce_Mundipagg_Helper_Data $helper */
732
+ $helper = Mage::helper('mundipagg');
733
 
734
+ if (!$this->canCapture()) {
735
+ Mage::throwException($helper->__('Capture action is not available.'));
736
+ }
737
 
738
+ if ($payment->getAdditionalInformation('PaymentMethod') == 'mundipagg_boleto') {
739
+ Mage::throwException($helper->__('You cannot capture Boleto Bancário.'));
740
+ }
741
 
742
+ if ($this->getAntiFraud() == 1) {
743
+ Mage::throwException($helper->__('You cannot capture having anti fraud activated.'));
744
+ }
745
 
746
+ // Already captured
747
+ if ($payment->getAdditionalInformation('CreditCardTransactionStatusEnum') == 'Captured'
748
+ || $payment->getAdditionalInformation('CreditCardTransactionStatus') == 'Captured'
749
+ ) {
750
+ Mage::throwException($helper->__('Transactions already captured'));
751
+ }
752
 
753
+ /* @var Mage_Sales_Model_Order_Payment $payment */
754
+ $orderkeys = (array)$payment->getAdditionalInformation('OrderKey');
 
755
 
756
+ if (empty($orderkeys)) {
757
+ Mage::throwException(Mage::helper('mundipagg')->__('No OrderKey found.'));
758
+ }
 
759
 
760
+ $captureNotAllowedMsg = $helper->__('Capture was not authorized in MundiPagg');
761
+ $txnsNotAuthorized = 0;
 
762
 
763
+ foreach ($orderkeys as $orderkey) {
764
+ $data['OrderKey'] = $orderkey;
765
+
766
+ //Call Gateway Api
767
+ /* @var Uecommerce_Mundipagg_Model_Api $api */
768
+ $api = Mage::getModel('mundipagg/api');
769
+ $capture = $api->saleCapture($data, $payment->getOrder()->getIncrementId());
770
+
771
+ $ccTxnResultCollection = $helper->issetOr($capture['CreditCardTransactionResultCollection']);
772
 
773
+ if (!is_array($ccTxnResultCollection) || is_null($ccTxnResultCollection) || empty($ccTxnResultCollection)) {
774
+ Mage::throwException($captureNotAllowedMsg);
775
+ }
776
+
777
+ $txnsNotAuthorized = 0;
778
+
779
+ // Save transactions
780
+ foreach ($ccTxnResultCollection as $txn) {
781
+ $this->_addTransaction(
782
+ $payment,
783
+ $helper->issetOr($txn['TransactionKey']),
784
+ Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE,
785
+ $txn
786
+ );
787
+
788
+ $success = $helper->issetOr($txn['Success'], false);
789
+
790
+ if ($success === false) {
791
+ $txnsNotAuthorized++;
792
  }
793
  }
794
+ }
 
795
 
796
+ if ($txnsNotAuthorized === 1) {
797
+ Mage::throwException($captureNotAllowedMsg);
798
+ } elseif ($txnsNotAuthorized > 1) {
799
+ Mage::throwException($helper->__('Capture partial authorized'));
800
+ }
801
+
802
+ $this->closeAuthorizationTxns($payment->getOrder());
803
+
804
+ // if has just 1 invoice, update his grand total, adding the credit cards interests
805
+ if (count($payment->getOrder()->getInvoiceCollection()) === 1) {
806
+
807
+ /* @var Mage_Sales_Model_Order_Invoice $invoice */
808
+ $invoice = $payment->getOrder()->getInvoiceCollection()->getItems()[0];
809
+ $this->equalizeInvoiceTotals($invoice);
810
+ }
811
+ }
812
+
813
+ public function closeAuthorizationTxns(Mage_Sales_Model_Order $order) {
814
+ $txnsCollection = Mage::getModel('sales/order_payment_transaction')
815
+ ->getCollection()
816
+ ->addAttributeToFilter('order_id', array('eq' => $order->getId()));
817
+
818
+ /* @var Mage_Paypal_Model_Payment_Transaction $txn */
819
+ foreach ($txnsCollection as $txn) {
820
+ if ($txn->getTxnType() === 'authorization') {
821
+ $txn->setOrderPaymentObject($order->getPayment());
822
+ $txn->setIsClosed(true)->save();
823
+ }
824
  }
825
  }
826
 
840
 
841
  // Error
842
  if (!$capture) {
843
+ Mage::getSingleton('checkout/session')->setApprovalRequestSuccess('cancel');
844
  return $this;
845
  }
846
 
864
  $order->addStatusHistoryComment('Captured online amount of R$' . $order->getBaseGrandTotal(), false);
865
  $order->save();
866
 
867
+ $this->closeAuthorizationTxns($order);
868
+ $this->equalizeInvoiceTotals($invoice);
869
+
870
  return $this;
871
  }
872
 
1325
  if ($orderGrandTotal < $authorizedAmount) {
1326
  $interestInformation = $payment->getAdditionalInformation('mundipagg_interest_information');
1327
  $newInterestInformation = array();
1328
+ $newInterest = 0;
1329
 
1330
  if (count($interestInformation)) {
 
 
1331
  foreach ($interestInformation as $key => $ii) {
1332
  if (strpos($key, 'partial') !== false) {
1333
  if ($ii->hasValue()) {
2212
  }
2213
  }
2214
 
2215
+ /**
2216
+ * @param Mage_Sales_Model_Order $order
2217
+ * @param boolean $option
2218
+ */
2219
+ public function setCanceledByNotificationFlag(&$order, $option) {
2220
+ $order->getPayment()->setAdditionalInformation('voided_by_mundi_notification', $option);
2221
+ }
2222
+
2223
+ /**
2224
+ * @param Mage_Sales_Model_Order $order
2225
+ */
2226
+ public function getCanceledByNotificationFlag($order) {
2227
+ return $order->getPayment()->getAdditionalInformation('voided_by_mundi_notification');
2228
+ }
2229
+
2230
+ /**
2231
+ * Equalize invoice base_grand_total and base_total with order totals
2232
+ * Needed when order has 1 invoice and has credit card interests
2233
+ *
2234
+ * @param Mage_Sales_Model_Order_Invoice $invoice
2235
+ */
2236
+ public function equalizeInvoiceTotals(Mage_Sales_Model_Order_Invoice &$invoice) {
2237
+ $invoice->setBaseGrandTotal($invoice->getOrder()->getBaseGrandTotal())
2238
+ ->setGrandTotal($invoice->getOrder()->getGrandTotal())
2239
+ ->save();
2240
+ }
2241
+
2242
  }
app/code/community/Uecommerce/Mundipagg/etc/config.xml CHANGED
@@ -26,6 +26,11 @@
26
  </mundipagg_offline_retry>
27
  </entities>
28
  </mundipagg_resource>
 
 
 
 
 
29
  </models>
30
 
31
  <events>
@@ -95,6 +100,15 @@
95
  </delete_offline_retry_data_from_canceled_order>
96
  </observers>
97
  </order_cancel_after>
 
 
 
 
 
 
 
 
 
98
  </events>
99
 
100
  <resources>
26
  </mundipagg_offline_retry>
27
  </entities>
28
  </mundipagg_resource>
29
+ <sales>
30
+ <rewrite>
31
+ <order_payment>Uecommerce_Mundipagg_Model_Payment</order_payment>
32
+ </rewrite>
33
+ </sales>
34
  </models>
35
 
36
  <events>
100
  </delete_offline_retry_data_from_canceled_order>
101
  </observers>
102
  </order_cancel_after>
103
+ <checkout_cart_save_after>
104
+ <observers>
105
+ <mundipagg_cart_check_recurrency>
106
+ <type>singleton</type>
107
+ <class>Uecommerce_Mundipagg_Model_Observer</class>
108
+ <method>cartCheckRecurrency</method>
109
+ </mundipagg_cart_check_recurrency>
110
+ </observers>
111
+ </checkout_cart_save_after>
112
  </events>
113
 
114
  <resources>
app/locale/pt_BR/Uecommerce_Mundipagg.csv CHANGED
@@ -219,4 +219,6 @@
219
  "Integration error","Erro na integração"
220
  "Integration timeout limit","Limite para timeout na integração"
221
  "Integration timeout limit must be an numeric value","Limite para timeout na integração precisa ser numérico"
222
- "In seconds","Em segundos"
 
 
219
  "Integration error","Erro na integração"
220
  "Integration timeout limit","Limite para timeout na integração"
221
  "Integration timeout limit must be an numeric value","Limite para timeout na integração precisa ser numérico"
222
+ "In seconds","Em segundos"
223
+ "Capture was not authorized in MundiPagg","Captura não foi autorizada na MundiPagg"
224
+ "Transactions already captured","Transações já foram capturadas"
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Mundipagg_Integracao</name>
4
- <version>2.9.4</version>
5
  <stability>stable</stability>
6
  <license>MIT</license>
7
  <channel>community</channel>
@@ -12,12 +12,12 @@ Mundipagg payment gateway integration.</summary>
12
  <description>Com esta extens&#xE3;o voc&#xEA; poder&#xE1; integrar sua loja Magento com o gateway de pagamentos MundiPagg.&#xD;
13
  &#xD;
14
  With this extension you can process payments through brazilian payment gateway Mundipagg</description>
15
- <notes>Fix in transactions not saving data when AuthOnly or Canceled;&#xD;
16
- With error transactions fix.</notes>
17
  <authors><author><name>MundiPagg</name><user>MundiPagg</user><email>mundi@mundipagg.com</email></author></authors>
18
- <date>2016-12-20</date>
19
- <time>20:36:39</time>
20
- <contents><target name="magecommunity"><dir name="Uecommerce"><dir name="Mundipagg"><dir name="Block"><dir name="Adminhtml"><dir name="Form"><dir name="Field"><file name="Installments.php" hash="ec8343e197cb194d978400bbdf64d446"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="Totals.php" hash="2140a7836eaa57e03727433ccddf93d6"/></dir><dir name="Invoice"><file name="Totals.php" hash="ee304d9034ae0763e5db464f933b8c27"/><file name="View.php" hash="b0e3c170cd0184a5dfbe4fa7a486b471"/></dir><file name="Totals.php" hash="71b20a4c0022c14a5f7f8d008aabe1da"/></dir><dir name="Transactions"><dir name="Detail"><file name="Grid.php" hash="d67911c431587e4327eec95540cf548a"/></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><file name="Button.php" hash="aa40a974b89c92ea9652c42e093d16f9"/></dir></dir></dir><file name="Version.php" hash="e3a89823e48e7a526a3afe8ce8c0d0ee"/></dir><dir name="Checkout"><dir name="Onepage"><dir name="Payment"><file name="Methods.php" hash="c903e413c47e3dea87ec09d609543a27"/></dir></dir></dir><file name="Info.php" hash="c5743b8887caffc12ee2b502d7256101"/><file name="Parcelamento.php" hash="bbfad3557dd7c29e2a21a213cf915e0c"/><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="Totals.php" hash="be3e89b0e2f008fcc0293286d44df7da"/></dir><dir name="Invoice"><file name="Totals.php" hash="a39c41f45ef44b72d15cfd12fea4e9c6"/></dir><file name="Totals.php" hash="6f56aa360f48c715b30afd4e5cd4ddfa"/></dir></dir><dir name="Standard"><file name="Boleto.php" hash="4471015b8a82311f84e52e774460bf38"/><file name="Cancel.php" hash="095eaf31c6567fad440279aeb2994caa"/><file name="Debit.php" hash="c707d9572b6079457b9265cc09c920c6"/><file name="Fcancel.php" hash="4bc5b0fb68fb7fd11159788eafe958af"/><file name="Form.php" hash="0f7f97654c5e819ac178e5d888fae6ee"/><file name="Partial.php" hash="fb5877a8f6c56ac1d6fc48eb864d8e60"/><file name="Redirect.php" hash="70f576c8d64c25e3ce627f6c36b2ff41"/><file name="Success.php" hash="b1b0bef88ed350d703da0e314ffad565"/></dir></dir><dir name="Controller"><file name="Abstract.php" hash="91d5069c18069fcb2a0a436fb768a194"/></dir><dir name="Helper"><file name="Data.php" hash="6d246c6ed7655ed6a87dfff32df3ea68"/><file name="Installments.php" hash="d0589866ed24ba418a4d1aaea503689e"/><file name="Log.php" hash="3417e640be10aac6c3936a56364eb692"/><file name="UnserializeArray.php" hash="83f968a1a32e0b974bb5607dd2f00463"/><file name="Util.php" hash="e5c9d9329da5b00b476c352990e413c7"/><file name="Version.php" hash="00066d5bf31a7c49db004f2bd0d5c462"/></dir><dir name="Model"><dir name="Adminvalidators"><dir name="Antifraud"><file name="Minval.php" hash="40a49fef644e180b50c896e9dab34c76"/></dir><file name="Debug.php" hash="80bedd2d18fc0ad3888208d7255048cf"/><file name="Offlineretry.php" hash="b869cce6f6cca51cb5d928776a9122c1"/><file name="Timeout.php" hash="d770cbef860e43d62e2bcbdff8b6fb35"/></dir><file name="Api.php" hash="b263a0b118475c9316a5d3f0d1fa8fa9"/><file name="Boleto.php" hash="a7da1d58eb0fccb53eae51ba97d93dc5"/><file name="Cardonfile.php" hash="98395928a16313f8b4127e4e210cf953"/><file name="Creditcard.php" hash="007a43e7530ea5471b6a9aaa5405ce21"/><file name="Creditcardoneinstallment.php" hash="2e4222fd04dbc4f5ee116d4d7f4eae04"/><dir name="Customer"><file name="Session.php" hash="7f15498648de23cf4feb5143071ec260"/></dir><file name="Customers.php" hash="a779e96a969b83d1b38df351eb4670d0"/><file name="Debit.php" hash="8a3387bf74b1f03b9614fbdb64ab9dd5"/><dir name="Enum"><file name="BoletoTransactionStatusEnum.php" hash="3fed0a36bb76497b85c50016af34d47a"/><file name="CreditCardTransactionStatusEnum.php" hash="4546716f63e6df57061b222002157ccd"/><file name="OrderStatusEnum.php" hash="fd42020aab9d5507b5e0c26957cd1abb"/><file name="TransactionTypeEnum.php" hash="52fc4049a9f2b120ad3ed99e296268f9"/></dir><file name="Fivecreditcards.php" hash="6975e6170345bb3f20fde79ae40b81fe"/><file name="Fourcreditcards.php" hash="2da3d901173c19e53a96adb197b1533a"/><file name="Observer.php" hash="f63e955c1bbaebc3f8b414d1bbb0facf"/><file name="Offlineretry.php" hash="394849df4873908dd43d3c15f75dc9d0"/><dir name="Order"><dir name="Invoice"><file name="Interest.php" hash="6bba5e87bae1a7ee94a827819b2ea4ce"/></dir><file name="Payment.php" hash="8e59a63a8a5c38af5a9eb3cd7b3547a6"/></dir><file name="Providervalidation.php" hash="4906944bae20e3f683d6e5c4ba5304e3"/><dir name="Quote"><dir name="Address"><file name="Interest.php" hash="93aa0189a8556597697dbb239dbf3be7"/></dir></dir><file name="Recurrency.php" hash="a15c756fbd5295301991679d6d256655"/><dir name="Resource"><dir name="Cardonfile"><file name="Collection.php" hash="7b7d13bc6d7be8e5e1c5f945d59117f6"/></dir><file name="Cardonfile.php" hash="47d0107a9b1c3415aaf8784298361e84"/><dir name="Customers"><file name="Collection.php" hash="6caadd817abbcda527ba6d102585f2ff"/></dir><file name="Customers.php" hash="f50289a4c8362ddf7a79e4aa7c8a6387"/><dir name="Offlineretry"><file name="Collection.php" hash="ece14459f92f4751c70b4dede0364b40"/></dir><file name="Offlineretry.php" hash="f18698d68581de1e756e956afb19106b"/><file name="Setup.php" hash="42bda31d8497e1b0983775e17f7325a5"/></dir><dir name="Source"><file name="Antifraud.php" hash="8362e0bb2209bbf904a7f9b2edd59cee"/><file name="Banks.php" hash="b5d456a807cdf750a6458144e955cf2c"/><file name="CctypeProductInstallments.php" hash="7837f6865c905ba8f5393d080ebc1b3d"/><file name="Cctypes.php" hash="b55eb988a6a09f24b1088f15644961d0"/><file name="Debit.php" hash="9366bc3b900cf96ad5d2bce7e8d93ba7"/><file name="Environment.php" hash="f22bf02692c02d3f8859601ccf9cf90c"/><file name="FControlEnvironment.php" hash="5159f6e4d86ee9d280285b7198fa01e9"/><file name="Frequency.php" hash="9752c73679dee78efc83f468fe45a946"/><file name="Installments.php" hash="b04c05b92f7b8b5c025f23aad4457917"/><file name="PaymentAction.php" hash="c16639be23fd85c285f474922fd528a7"/><file name="PaymentMethods.php" hash="e12514ad00bf3fe3fb4e569b11da2c10"/></dir><file name="Standard.php" hash="591e9ba46a52fab70ac114c79dac12d1"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Installments.php" hash="f0901bf05acd0b2c3fda41965f949583"/></dir></dir></dir><file name="Threecreditcards.php" hash="73fcdc4ef1dd38128b60454f90184ff5"/><file name="Twocreditcards.php" hash="c010f631d556a08d2d1aa65dc6b60703"/><file name="Urlvalidation.php" hash="e3ccd751eea54e282d30624192537cd8"/></dir><dir name="Test"><dir name="Selenium"><file name="Abstract.php" hash="caf0cd5ca47b13fb00be4230d1bb9132"/><file name="BoletoTest.php" hash="0718dc551376686dc6daaa3b57ddd1f9"/><dir name="CcTypes"><file name="CreditcardTest.php" hash="fde35369e57eb70f29f8defe1d7f06af"/><file name="CreditcardoneinstallmentTest.php" hash="cabcf9a3f56497e32679c1d2d063a6d7"/><file name="FivecreditcardsTest.php" hash="a903b89e20b9e754df7ed22dc9e8eecf"/><file name="FourcheditcardsTest.php" hash="3619a03b24af1a768cbc87be430b4323"/><file name="ThreecreditcardsTest.php" hash="d59c7b8a7de6320cff170e435fbe6e9e"/><file name="TwocreditcardsTest.php" hash="58db59f790aa7c65a324e6a552c2e05c"/></dir><file name="CcTypes.php" hash="fdb1cb980444a4cd35ace6543b9f335e"/><file name="DebitTest.php" hash="1409a8f2de15e13792dcba2099a887cc"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="e5a51c9660f704bcbfb302d34493a5a6"/></dir><file name="ClearsaleController.php" hash="bc06365f0d577d66228d9f0c3e471089"/><file name="FcontrolController.php" hash="1af534f1cdadbfdbe702aed12c7a2e1d"/><file name="StandardController.php" hash="16acc0dfc804107603f50239a86b37b2"/><file name="StoneController.php" hash="80c6f59a868ac82fc22bcf586bbecfdd"/></dir><dir name="data"><dir name="mundipagg_setup"><file name="data-upgrade-2.9.1-2.9.2.php" hash="6c8f542f7f04755cf8d2e3e8cb517b51"/></dir></dir><dir name="etc"><file name="config.xml" hash="b4d575b42830d41cf2b2cf3781cf4db6"/><file name="jstranslator.xml" hash="8b1ea10d9b3072a795567dba6dae938c"/><file name="system.xml" hash="31839e346d622a8947eda7360281e238"/><file name="wsdl.xml" hash="a59b87019a8bdb03d97191e2d06be325"/><file name="xtest.xml" hash="b34ee3b6e37a890b73374b5ea3a1c40f"/></dir><dir name="sql"><dir name="mundipagg_setup"><file name="install-0.3.0.php" hash="ede73bb07d71fec55340c4249ff4a258"/><file name="mysql4-upgrade-0.3.0-0.3.5.php" hash="d3c200cce4a814feaa0858c0c8abd928"/><file name="mysql4-upgrade-0.3.5-0.4.0.php" hash="297f1b37b7703f7a0d621d227c8cbeb9"/><file name="mysql4-upgrade-0.3.5-1.0.1.php" hash="d22a0a81e392885433ca58dc196c2a86"/><file name="mysql4-upgrade-0.4.0-1.0.1.php" hash="297f1b37b7703f7a0d621d227c8cbeb9"/><file name="mysql4-upgrade-0.4.1-0.4.2.php" hash="4a2962a1eb974c75e153f48cc77f00d4"/><file name="mysql4-upgrade-0.4.1-1.0.1.php" hash="d22a0a81e392885433ca58dc196c2a86"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="297f1b37b7703f7a0d621d227c8cbeb9"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.10-1.0.11.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.11-2.0.0.php" hash="83c95c6060bb8678be3b8944a6823fd9"/><file name="mysql4-upgrade-1.0.2-1.0.3.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.3-1.0.4.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.4-1.0.5.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.5-1.0.6.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.6-1.0.7.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.7-1.0.8.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.8-1.0.9.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.9-1.0.10.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.0-2.0.1.php" hash="a437df63647a52381ed5e056ccbb0cff"/><file name="mysql4-upgrade-2.0.0-2.1.0.php" hash="30dc2c3c763893d3bac6b9fde0c56477"/><file name="mysql4-upgrade-2.0.1-2.0.2.php" hash="4959ae51e69913d8ac642bc2ab848464"/><file name="mysql4-upgrade-2.0.2-2.0.3.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.3-2.0.4.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.4-2.0.5.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.5-2.0.6.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.6-2.0.7.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.7-2.0.8.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.8-2.0.9.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.9-2.1.0.php" hash="3488f42f3d9e6a57ce4176c0a7954171"/><file name="mysql4-upgrade-2.1.2-2.1.3.php" hash="7d7823cb555a32295d179a96e2bf987a"/><file name="mysql4-upgrade-2.5.7-2.5.8.php" hash="45c4f1fd5336b7ce578c672e8f1d57b0"/><file name="mysql4-upgrade-2.5.8-2.6.0.php" hash="bf06e3d6ab5fa0c89629385db4231006"/><file name="mysql4-upgrade-2.7.4-2.8.0.php" hash="c53fbd135b7735b7bbe90e5c4c11e5b2"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="mundipagg.xml" hash="035fd61eb33327a613e5b3b91ddbc389"/></dir><dir name="template"><dir name="mundipagg"><file name="boleto.phtml" hash="11cc5b254644727d6bdded8a834965c7"/><file name="form.phtml" hash="566e1838cab471ce41a1f74156e3b3bf"/><dir name="payment"><dir name="info"><file name="mundipagg.phtml" hash="ced44379b7a3f15e027e91ba8b7ddd4a"/></dir></dir><dir name="system"><dir name="config"><file name="button.phtml" hash="6a7f6c88cf156d31d34a818ac37bd158"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="mundipagg.xml" hash="0dc6cc39164b57626ccf7a429bbbf3d7"/></dir><dir name="template"><dir name="mundipagg"><dir name="antifraud"><file name="clearsale.phtml" hash="088a189dd94401f39c90ad0a1471994f"/><file name="fcontrol.phtml" hash="8fe2da3913bd18a20f35235533080ab8"/><file name="stone.phtml" hash="681ddf22694c725bb6e84e79681936fa"/></dir><file name="boleto.phtml" hash="dc31735a2753812d36e3080bf5b01ac2"/><file name="cancel.phtml" hash="540639b1ccd698397286f668bbf23746"/><file name="debit.phtml" hash="78f60f0227e99ff0c1d7dbf6bd5aa202"/><file name="extras.phtml" hash="f3eba84e971e890922141d90f6bdd53f"/><file name="fcancel.phtml" hash="9ce1d7634acf519669e21978b41aa277"/><file name="form.phtml" hash="faff82dad9768f016f81648aa8b9b800"/><file name="parcelamento.phtml" hash="56a89503637e5ad753b0d410f2f5c7ad"/><file name="partial.phtml" hash="65b07a14ff67c7413405117a6f95c2be"/><dir name="payment"><dir name="info"><file name="mundipagg.phtml" hash="c110a21db08013d38add1b79977350e4"/></dir></dir><file name="redirect.phtml" hash="a8a1123eab776934c64f57b4f9cfd517"/><file name="success.phtml" hash="7afd82f246fdf50f9a72ebb15086a2b6"/><file name="totals.phtml" hash="5a78aa3fe60d4b13bf8451f23bb9edd9"/></dir></dir></dir></dir><dir name="rwd"><dir name="default"><dir name="template"><dir name="mundipagg"><file name="debit.phtml" hash="4d2ae58447d3893499556ae068f800f8"/><file name="form.phtml" hash="dd83f04f33982e17fdea1713a3eb1b3a"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Uecommerce_Mundipagg.xml" hash="b292eeabde8e2cd06db0c31aff54fd98"/></dir></target><target name="mage"><dir name="js"><dir name="uecommerce"><dir name="fcontrol"><file name="fingerprint-fcontrol.js" hash="33409e94c34847788fabbb3a5b038fd0"/><file name="hmlg-fcontrol-ed.min.js" hash="b8b6c945111b6edd7a90df2f5d3ff5cd"/></dir><file name="jquery-3.1.0.min.js" hash="05e51b1db558320f1939f9789ccf5c8f"/><file name="mundipagg.js" hash="1bbf52070bdd06b7b0687f6cced1886f"/><file name="recurrency.js" hash="6c0db9f70fea794eb55f1db3bd09b4aa"/></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="mundipagg"><file name="ajax-loader.gif" hash="7b9776076d5fceef4993b55c9383dedd"/><file name="boleto.jpg" hash="237570c55c811b4b13f73ab92f28e599"/><file name="mundi-magento-admin-banner.png" hash="70ed79656a42a2b4c0291d0a6285fb6d"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="mundipagg.css" hash="90c32001f3a9b858c9506f5135c04972"/></dir><dir name="images"><dir name="mundipagg"><file name="001.png" hash="25d10d6fee7fc3e5dc48021a15de8fb0"/><file name="237.png" hash="cbea9caff342edd9b9b9509bbbbae6fb"/><file name="341.png" hash="3645161fc56322ec34ebfcc006390e5d"/><file name="AE.png" hash="40ea216476033961d50f452bf4bca4df"/><file name="DI.png" hash="0f4264379e7b8ba6b1a30a3d69240ae2"/><file name="EL.png" hash="ad180c308d285f73fc044121cb6aeac0"/><file name="HI.png" hash="c25430ddd8e441cc2fc3ef68219e7668"/><file name="MC.png" hash="836466c092121163320e9e6279f11f8b"/><file name="VBV.jpg" hash="1a7db765956829e80715a299b799f580"/><file name="VBV.png" hash="d6fb7de65fda842f03e2b9fc89d5e6aa"/><file name="VI.png" hash="cc0709d50773fa2815f7bfeb741a4219"/><file name="ajax-loader.gif" hash="7b9776076d5fceef4993b55c9383dedd"/><file name="boleto.jpg" hash="237570c55c811b4b13f73ab92f28e599"/><file name="cc_types.png" hash="fdae60f96ee668354161b5a865b8e7ef"/><file name="cielo_mastercard.png" hash="e2c2af12ea24f1b82490fdcc62fbb871"/><file name="cielo_visa.png" hash="d2f0c660714dc319b73c0dac9c9108d0"/></dir></dir></dir></dir><dir name="default"><dir name="default"><dir name="images"><dir name="mundipagg"><file name="EL.png" hash="ad180c308d285f73fc044121cb6aeac0"/><file name="HI.png" hash="c25430ddd8e441cc2fc3ef68219e7668"/><file name="ae.png" hash="40ea216476033961d50f452bf4bca4df"/><file name="boleto.jpg" hash="237570c55c811b4b13f73ab92f28e599"/><file name="cielo_mastercard.png" hash="e2c2af12ea24f1b82490fdcc62fbb871"/><file name="cielo_visa.png" hash="d2f0c660714dc319b73c0dac9c9108d0"/><file name="di.png" hash="0f4264379e7b8ba6b1a30a3d69240ae2"/><file name="mc.png" hash="836466c092121163320e9e6279f11f8b"/><file name="vi.png" hash="cc0709d50773fa2815f7bfeb741a4219"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Uecommerce_Mundipagg.csv" hash="ae581dc54ea4ada4a9a3c9f4c51f09c7"/></dir><dir name="pt_BR"><file name="Uecommerce_Mundipagg.csv" hash="14ebb8e59b1205d90257602baa48a04a"/></dir></target></contents>
21
  <compatible/>
22
  <dependencies><required><php><min>5.4.0</min><max>7.0.9</max></php></required></dependencies>
23
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Mundipagg_Integracao</name>
4
+ <version>2.9.5</version>
5
  <stability>stable</stability>
6
  <license>MIT</license>
7
  <channel>community</channel>
12
  <description>Com esta extens&#xE3;o voc&#xEA; poder&#xE1; integrar sua loja Magento com o gateway de pagamentos MundiPagg.&#xD;
13
  &#xD;
14
  With this extension you can process payments through brazilian payment gateway Mundipagg</description>
15
+ <notes>Performance improvements;&#xD;
16
+ Capture fixes.</notes>
17
  <authors><author><name>MundiPagg</name><user>MundiPagg</user><email>mundi@mundipagg.com</email></author></authors>
18
+ <date>2017-01-17</date>
19
+ <time>15:39:34</time>
20
+ <contents><target name="magecommunity"><dir name="Uecommerce"><dir name="Mundipagg"><dir name="Block"><dir name="Adminhtml"><dir name="Form"><dir name="Field"><file name="Installments.php" hash="ec8343e197cb194d978400bbdf64d446"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="Totals.php" hash="2140a7836eaa57e03727433ccddf93d6"/></dir><dir name="Invoice"><file name="Totals.php" hash="ee304d9034ae0763e5db464f933b8c27"/><file name="View.php" hash="b0e3c170cd0184a5dfbe4fa7a486b471"/></dir><file name="Totals.php" hash="71b20a4c0022c14a5f7f8d008aabe1da"/></dir><dir name="Transactions"><dir name="Detail"><file name="Grid.php" hash="d67911c431587e4327eec95540cf548a"/></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><file name="Button.php" hash="aa40a974b89c92ea9652c42e093d16f9"/></dir></dir></dir><file name="Version.php" hash="e3a89823e48e7a526a3afe8ce8c0d0ee"/></dir><dir name="Checkout"><dir name="Onepage"><dir name="Payment"><file name="Methods.php" hash="c903e413c47e3dea87ec09d609543a27"/></dir></dir></dir><file name="Info.php" hash="c5743b8887caffc12ee2b502d7256101"/><file name="Parcelamento.php" hash="bbfad3557dd7c29e2a21a213cf915e0c"/><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="Totals.php" hash="be3e89b0e2f008fcc0293286d44df7da"/></dir><dir name="Invoice"><file name="Totals.php" hash="a39c41f45ef44b72d15cfd12fea4e9c6"/></dir><file name="Totals.php" hash="6f56aa360f48c715b30afd4e5cd4ddfa"/></dir></dir><dir name="Standard"><file name="Boleto.php" hash="4471015b8a82311f84e52e774460bf38"/><file name="Cancel.php" hash="095eaf31c6567fad440279aeb2994caa"/><file name="Debit.php" hash="c707d9572b6079457b9265cc09c920c6"/><file name="Fcancel.php" hash="4bc5b0fb68fb7fd11159788eafe958af"/><file name="Form.php" hash="0f7f97654c5e819ac178e5d888fae6ee"/><file name="Partial.php" hash="fb5877a8f6c56ac1d6fc48eb864d8e60"/><file name="Redirect.php" hash="70f576c8d64c25e3ce627f6c36b2ff41"/><file name="Success.php" hash="b1b0bef88ed350d703da0e314ffad565"/></dir></dir><dir name="Controller"><file name="Abstract.php" hash="91d5069c18069fcb2a0a436fb768a194"/></dir><dir name="Helper"><file name="Data.php" hash="eb9b6b62dcfa8ff71232de1f224a7d05"/><file name="Installments.php" hash="d0589866ed24ba418a4d1aaea503689e"/><file name="Log.php" hash="3417e640be10aac6c3936a56364eb692"/><file name="UnserializeArray.php" hash="83f968a1a32e0b974bb5607dd2f00463"/><file name="Util.php" hash="cab074ca10096c04e80950062de9bf28"/><file name="Version.php" hash="00066d5bf31a7c49db004f2bd0d5c462"/></dir><dir name="Model"><dir name="Adminvalidators"><dir name="Antifraud"><file name="Minval.php" hash="40a49fef644e180b50c896e9dab34c76"/></dir><file name="Debug.php" hash="80bedd2d18fc0ad3888208d7255048cf"/><file name="Offlineretry.php" hash="b869cce6f6cca51cb5d928776a9122c1"/><file name="Timeout.php" hash="d770cbef860e43d62e2bcbdff8b6fb35"/></dir><file name="Api.php" hash="26d865a0b2d5173d562b62adabe09124"/><file name="Boleto.php" hash="a7da1d58eb0fccb53eae51ba97d93dc5"/><file name="Cardonfile.php" hash="98395928a16313f8b4127e4e210cf953"/><file name="Creditcard.php" hash="007a43e7530ea5471b6a9aaa5405ce21"/><file name="Creditcardoneinstallment.php" hash="2e4222fd04dbc4f5ee116d4d7f4eae04"/><dir name="Customer"><file name="Session.php" hash="7f15498648de23cf4feb5143071ec260"/></dir><file name="Customers.php" hash="a779e96a969b83d1b38df351eb4670d0"/><file name="Debit.php" hash="8a3387bf74b1f03b9614fbdb64ab9dd5"/><dir name="Enum"><file name="BoletoTransactionStatusEnum.php" hash="3fed0a36bb76497b85c50016af34d47a"/><file name="CreditCardTransactionStatusEnum.php" hash="4546716f63e6df57061b222002157ccd"/><file name="OrderStatusEnum.php" hash="fd42020aab9d5507b5e0c26957cd1abb"/><file name="TransactionTypeEnum.php" hash="52fc4049a9f2b120ad3ed99e296268f9"/></dir><file name="Fivecreditcards.php" hash="6975e6170345bb3f20fde79ae40b81fe"/><file name="Fourcreditcards.php" hash="2da3d901173c19e53a96adb197b1533a"/><file name="Observer.php" hash="ab17af822de40cd46d2f4c2f68044546"/><file name="Offlineretry.php" hash="394849df4873908dd43d3c15f75dc9d0"/><dir name="Order"><dir name="Invoice"><file name="Interest.php" hash="6bba5e87bae1a7ee94a827819b2ea4ce"/></dir><file name="Payment.php" hash="2fab1d277409e1699c4fb59993a5c5c8"/></dir><file name="Payment.php" hash="6efc3b0ad9bab589934115387caf0fce"/><file name="Providervalidation.php" hash="4906944bae20e3f683d6e5c4ba5304e3"/><dir name="Quote"><dir name="Address"><file name="Interest.php" hash="93aa0189a8556597697dbb239dbf3be7"/></dir></dir><file name="Recurrency.php" hash="a15c756fbd5295301991679d6d256655"/><dir name="Resource"><dir name="Cardonfile"><file name="Collection.php" hash="7b7d13bc6d7be8e5e1c5f945d59117f6"/></dir><file name="Cardonfile.php" hash="47d0107a9b1c3415aaf8784298361e84"/><dir name="Customers"><file name="Collection.php" hash="6caadd817abbcda527ba6d102585f2ff"/></dir><file name="Customers.php" hash="f50289a4c8362ddf7a79e4aa7c8a6387"/><dir name="Offlineretry"><file name="Collection.php" hash="ece14459f92f4751c70b4dede0364b40"/></dir><file name="Offlineretry.php" hash="f18698d68581de1e756e956afb19106b"/><file name="Setup.php" hash="42bda31d8497e1b0983775e17f7325a5"/></dir><dir name="Source"><file name="Antifraud.php" hash="8362e0bb2209bbf904a7f9b2edd59cee"/><file name="Banks.php" hash="b5d456a807cdf750a6458144e955cf2c"/><file name="CctypeProductInstallments.php" hash="7837f6865c905ba8f5393d080ebc1b3d"/><file name="Cctypes.php" hash="b55eb988a6a09f24b1088f15644961d0"/><file name="Debit.php" hash="9366bc3b900cf96ad5d2bce7e8d93ba7"/><file name="Environment.php" hash="f22bf02692c02d3f8859601ccf9cf90c"/><file name="FControlEnvironment.php" hash="5159f6e4d86ee9d280285b7198fa01e9"/><file name="Frequency.php" hash="9752c73679dee78efc83f468fe45a946"/><file name="Installments.php" hash="b04c05b92f7b8b5c025f23aad4457917"/><file name="PaymentAction.php" hash="c16639be23fd85c285f474922fd528a7"/><file name="PaymentMethods.php" hash="e12514ad00bf3fe3fb4e569b11da2c10"/></dir><file name="Standard.php" hash="3152bf5485a1afc9342fdf24fcfcea3f"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Installments.php" hash="f0901bf05acd0b2c3fda41965f949583"/></dir></dir></dir><file name="Threecreditcards.php" hash="73fcdc4ef1dd38128b60454f90184ff5"/><file name="Twocreditcards.php" hash="c010f631d556a08d2d1aa65dc6b60703"/><file name="Urlvalidation.php" hash="e3ccd751eea54e282d30624192537cd8"/></dir><dir name="Test"><dir name="Selenium"><file name="Abstract.php" hash="caf0cd5ca47b13fb00be4230d1bb9132"/><file name="BoletoTest.php" hash="0718dc551376686dc6daaa3b57ddd1f9"/><dir name="CcTypes"><file name="CreditcardTest.php" hash="fde35369e57eb70f29f8defe1d7f06af"/><file name="CreditcardoneinstallmentTest.php" hash="cabcf9a3f56497e32679c1d2d063a6d7"/><file name="FivecreditcardsTest.php" hash="a903b89e20b9e754df7ed22dc9e8eecf"/><file name="FourcheditcardsTest.php" hash="3619a03b24af1a768cbc87be430b4323"/><file name="ThreecreditcardsTest.php" hash="d59c7b8a7de6320cff170e435fbe6e9e"/><file name="TwocreditcardsTest.php" hash="58db59f790aa7c65a324e6a552c2e05c"/></dir><file name="CcTypes.php" hash="fdb1cb980444a4cd35ace6543b9f335e"/><file name="DebitTest.php" hash="1409a8f2de15e13792dcba2099a887cc"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="e5a51c9660f704bcbfb302d34493a5a6"/></dir><file name="ClearsaleController.php" hash="bc06365f0d577d66228d9f0c3e471089"/><file name="FcontrolController.php" hash="1af534f1cdadbfdbe702aed12c7a2e1d"/><file name="StandardController.php" hash="16acc0dfc804107603f50239a86b37b2"/><file name="StoneController.php" hash="80c6f59a868ac82fc22bcf586bbecfdd"/></dir><dir name="data"><dir name="mundipagg_setup"><file name="data-upgrade-2.9.1-2.9.2.php" hash="6c8f542f7f04755cf8d2e3e8cb517b51"/></dir></dir><dir name="etc"><file name="config.xml" hash="99647e0904a445571c58e18a3eb17bcd"/><file name="jstranslator.xml" hash="8b1ea10d9b3072a795567dba6dae938c"/><file name="system.xml" hash="31839e346d622a8947eda7360281e238"/><file name="wsdl.xml" hash="a59b87019a8bdb03d97191e2d06be325"/><file name="xtest.xml" hash="b34ee3b6e37a890b73374b5ea3a1c40f"/></dir><dir name="sql"><dir name="mundipagg_setup"><file name="install-0.3.0.php" hash="ede73bb07d71fec55340c4249ff4a258"/><file name="mysql4-upgrade-0.3.0-0.3.5.php" hash="d3c200cce4a814feaa0858c0c8abd928"/><file name="mysql4-upgrade-0.3.5-0.4.0.php" hash="297f1b37b7703f7a0d621d227c8cbeb9"/><file name="mysql4-upgrade-0.3.5-1.0.1.php" hash="d22a0a81e392885433ca58dc196c2a86"/><file name="mysql4-upgrade-0.4.0-1.0.1.php" hash="297f1b37b7703f7a0d621d227c8cbeb9"/><file name="mysql4-upgrade-0.4.1-0.4.2.php" hash="4a2962a1eb974c75e153f48cc77f00d4"/><file name="mysql4-upgrade-0.4.1-1.0.1.php" hash="d22a0a81e392885433ca58dc196c2a86"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="297f1b37b7703f7a0d621d227c8cbeb9"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.10-1.0.11.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.11-2.0.0.php" hash="83c95c6060bb8678be3b8944a6823fd9"/><file name="mysql4-upgrade-1.0.2-1.0.3.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.3-1.0.4.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.4-1.0.5.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.5-1.0.6.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.6-1.0.7.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.7-1.0.8.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.8-1.0.9.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-1.0.9-1.0.10.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.0-2.0.1.php" hash="a437df63647a52381ed5e056ccbb0cff"/><file name="mysql4-upgrade-2.0.0-2.1.0.php" hash="30dc2c3c763893d3bac6b9fde0c56477"/><file name="mysql4-upgrade-2.0.1-2.0.2.php" hash="4959ae51e69913d8ac642bc2ab848464"/><file name="mysql4-upgrade-2.0.2-2.0.3.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.3-2.0.4.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.4-2.0.5.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.5-2.0.6.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.6-2.0.7.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.7-2.0.8.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.8-2.0.9.php" hash="4c18b9eb1e0a08d858dde48280eed2c0"/><file name="mysql4-upgrade-2.0.9-2.1.0.php" hash="3488f42f3d9e6a57ce4176c0a7954171"/><file name="mysql4-upgrade-2.1.2-2.1.3.php" hash="7d7823cb555a32295d179a96e2bf987a"/><file name="mysql4-upgrade-2.5.7-2.5.8.php" hash="45c4f1fd5336b7ce578c672e8f1d57b0"/><file name="mysql4-upgrade-2.5.8-2.6.0.php" hash="bf06e3d6ab5fa0c89629385db4231006"/><file name="mysql4-upgrade-2.7.4-2.8.0.php" hash="c53fbd135b7735b7bbe90e5c4c11e5b2"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="mundipagg.xml" hash="035fd61eb33327a613e5b3b91ddbc389"/></dir><dir name="template"><dir name="mundipagg"><file name="boleto.phtml" hash="11cc5b254644727d6bdded8a834965c7"/><file name="form.phtml" hash="566e1838cab471ce41a1f74156e3b3bf"/><dir name="payment"><dir name="info"><file name="mundipagg.phtml" hash="ced44379b7a3f15e027e91ba8b7ddd4a"/></dir></dir><dir name="system"><dir name="config"><file name="button.phtml" hash="6a7f6c88cf156d31d34a818ac37bd158"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="mundipagg.xml" hash="0dc6cc39164b57626ccf7a429bbbf3d7"/></dir><dir name="template"><dir name="mundipagg"><dir name="antifraud"><file name="clearsale.phtml" hash="088a189dd94401f39c90ad0a1471994f"/><file name="fcontrol.phtml" hash="8fe2da3913bd18a20f35235533080ab8"/><file name="stone.phtml" hash="681ddf22694c725bb6e84e79681936fa"/></dir><file name="boleto.phtml" hash="dc31735a2753812d36e3080bf5b01ac2"/><file name="cancel.phtml" hash="540639b1ccd698397286f668bbf23746"/><file name="debit.phtml" hash="78f60f0227e99ff0c1d7dbf6bd5aa202"/><file name="extras.phtml" hash="f3eba84e971e890922141d90f6bdd53f"/><file name="fcancel.phtml" hash="9ce1d7634acf519669e21978b41aa277"/><file name="form.phtml" hash="faff82dad9768f016f81648aa8b9b800"/><file name="parcelamento.phtml" hash="56a89503637e5ad753b0d410f2f5c7ad"/><file name="partial.phtml" hash="65b07a14ff67c7413405117a6f95c2be"/><dir name="payment"><dir name="info"><file name="mundipagg.phtml" hash="c110a21db08013d38add1b79977350e4"/></dir></dir><file name="redirect.phtml" hash="a8a1123eab776934c64f57b4f9cfd517"/><file name="success.phtml" hash="7afd82f246fdf50f9a72ebb15086a2b6"/><file name="totals.phtml" hash="5a78aa3fe60d4b13bf8451f23bb9edd9"/></dir></dir></dir></dir><dir name="rwd"><dir name="default"><dir name="template"><dir name="mundipagg"><file name="debit.phtml" hash="4d2ae58447d3893499556ae068f800f8"/><file name="form.phtml" hash="dd83f04f33982e17fdea1713a3eb1b3a"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Uecommerce_Mundipagg.xml" hash="b292eeabde8e2cd06db0c31aff54fd98"/></dir></target><target name="mage"><dir name="js"><dir name="uecommerce"><dir name="fcontrol"><file name="fingerprint-fcontrol.js" hash="33409e94c34847788fabbb3a5b038fd0"/><file name="hmlg-fcontrol-ed.min.js" hash="b8b6c945111b6edd7a90df2f5d3ff5cd"/></dir><file name="jquery-3.1.0.min.js" hash="05e51b1db558320f1939f9789ccf5c8f"/><file name="mundipagg.js" hash="1bbf52070bdd06b7b0687f6cced1886f"/><file name="recurrency.js" hash="6c0db9f70fea794eb55f1db3bd09b4aa"/></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="mundipagg"><file name="ajax-loader.gif" hash="7b9776076d5fceef4993b55c9383dedd"/><file name="boleto.jpg" hash="237570c55c811b4b13f73ab92f28e599"/><file name="mundi-magento-admin-banner.png" hash="70ed79656a42a2b4c0291d0a6285fb6d"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="mundipagg.css" hash="90c32001f3a9b858c9506f5135c04972"/></dir><dir name="images"><dir name="mundipagg"><file name="001.png" hash="25d10d6fee7fc3e5dc48021a15de8fb0"/><file name="237.png" hash="cbea9caff342edd9b9b9509bbbbae6fb"/><file name="341.png" hash="3645161fc56322ec34ebfcc006390e5d"/><file name="AE.png" hash="40ea216476033961d50f452bf4bca4df"/><file name="DI.png" hash="0f4264379e7b8ba6b1a30a3d69240ae2"/><file name="EL.png" hash="ad180c308d285f73fc044121cb6aeac0"/><file name="HI.png" hash="c25430ddd8e441cc2fc3ef68219e7668"/><file name="MC.png" hash="836466c092121163320e9e6279f11f8b"/><file name="VBV.jpg" hash="1a7db765956829e80715a299b799f580"/><file name="VBV.png" hash="d6fb7de65fda842f03e2b9fc89d5e6aa"/><file name="VI.png" hash="cc0709d50773fa2815f7bfeb741a4219"/><file name="ajax-loader.gif" hash="7b9776076d5fceef4993b55c9383dedd"/><file name="boleto.jpg" hash="237570c55c811b4b13f73ab92f28e599"/><file name="cc_types.png" hash="fdae60f96ee668354161b5a865b8e7ef"/><file name="cielo_mastercard.png" hash="e2c2af12ea24f1b82490fdcc62fbb871"/><file name="cielo_visa.png" hash="d2f0c660714dc319b73c0dac9c9108d0"/></dir></dir></dir></dir><dir name="default"><dir name="default"><dir name="images"><dir name="mundipagg"><file name="EL.png" hash="ad180c308d285f73fc044121cb6aeac0"/><file name="HI.png" hash="c25430ddd8e441cc2fc3ef68219e7668"/><file name="ae.png" hash="40ea216476033961d50f452bf4bca4df"/><file name="boleto.jpg" hash="237570c55c811b4b13f73ab92f28e599"/><file name="cielo_mastercard.png" hash="e2c2af12ea24f1b82490fdcc62fbb871"/><file name="cielo_visa.png" hash="d2f0c660714dc319b73c0dac9c9108d0"/><file name="di.png" hash="0f4264379e7b8ba6b1a30a3d69240ae2"/><file name="mc.png" hash="836466c092121163320e9e6279f11f8b"/><file name="vi.png" hash="cc0709d50773fa2815f7bfeb741a4219"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Uecommerce_Mundipagg.csv" hash="ae581dc54ea4ada4a9a3c9f4c51f09c7"/></dir><dir name="pt_BR"><file name="Uecommerce_Mundipagg.csv" hash="f07f30314d88c0310895377a0ce581fb"/></dir></target></contents>
21
  <compatible/>
22
  <dependencies><required><php><min>5.4.0</min><max>7.0.9</max></php></required></dependencies>
23
  </package>