RicardoMartins_PagSeguro - Version 2.5.0

Version Notes

Versão estável.

Os bugs devem ser reportados na área de Issues no github do projeto em https://github.com/r-martins/PagSeguro-Magento-Transparente

Download this release

Release Info

Developer Ricardo Martins
Extension RicardoMartins_PagSeguro
Version 2.5.0
Comparing to
See all releases


Code changes from version 2.4.2 to 2.5.0

app/code/community/RicardoMartins/PagSeguro/Model/Abstract.php CHANGED
@@ -80,19 +80,21 @@ class RicardoMartins_PagSeguro_Model_Abstract extends Mage_Payment_Model_Method_
80
  if ((int)$resultXML->status == 3) { //Quando o pedido foi dado como Pago
81
  //cria fatura e envia email (se configurado)
82
  // $payment->registerCaptureNotification(floatval($resultXML->grossAmount));
83
- $invoice = $order->prepareInvoice();
84
- $invoice->register()->pay();
85
- $msg = sprintf('Pagamento capturado. Identificador da Transação: %s', (string)$resultXML->code);
86
- $invoice->addComment($msg);
87
- $invoice->sendEmail(
88
- Mage::getStoreConfigFlag('payment/pagseguro/send_invoice_email'),
89
- 'Pagamento recebido com sucesso.'
90
- );
91
- Mage::getModel('core/resource_transaction')
92
- ->addObject($invoice)
93
- ->addObject($invoice->getOrder())
94
- ->save();
95
- $order->addStatusHistoryComment(sprintf('Fatura #%s criada com sucesso.', $invoice->getIncrementId()));
 
 
96
  }
97
 
98
  $payment->save();
80
  if ((int)$resultXML->status == 3) { //Quando o pedido foi dado como Pago
81
  //cria fatura e envia email (se configurado)
82
  // $payment->registerCaptureNotification(floatval($resultXML->grossAmount));
83
+ if(!$order->hasInvoices()){
84
+ $invoice = $order->prepareInvoice();
85
+ $invoice->register()->pay();
86
+ $msg = sprintf('Pagamento capturado. Identificador da Transação: %s', (string)$resultXML->code);
87
+ $invoice->addComment($msg);
88
+ $invoice->sendEmail(
89
+ Mage::getStoreConfigFlag('payment/pagseguro/send_invoice_email'),
90
+ 'Pagamento recebido com sucesso.'
91
+ );
92
+ Mage::getModel('core/resource_transaction')
93
+ ->addObject($invoice)
94
+ ->addObject($invoice->getOrder())
95
+ ->save();
96
+ $order->addStatusHistoryComment(sprintf('Fatura #%s criada com sucesso.', $invoice->getIncrementId()));
97
+ }
98
  }
99
 
100
  $payment->save();
app/code/community/RicardoMartins/PagSeguro/Model/Payment/Cc.php CHANGED
@@ -145,6 +145,7 @@ class RicardoMartins_PagSeguro_Model_Payment_Cc extends RicardoMartins_PagSeguro
145
 
146
  //will grab data to be send via POST to API inside $params
147
  $params = Mage::helper('ricardomartins_pagseguro/internal')->getCreditCardApiCallParams($order, $payment);
 
148
 
149
  //call API
150
  $returnXml = $this->callApi($params, $payment);
@@ -153,13 +154,13 @@ class RicardoMartins_PagSeguro_Model_Payment_Cc extends RicardoMartins_PagSeguro
153
  if (isset($returnXml->errors)) {
154
  $errMsg = array();
155
  foreach ($returnXml->errors as $error) {
156
- $errMsg[] = (string)$error->message . '(' . $error->code . ')';
157
  }
158
  Mage::throwException('Um ou mais erros ocorreram no seu pagamento.' . PHP_EOL . implode(PHP_EOL, $errMsg));
159
  }
160
  if (isset($returnXml->error)) {
161
  $error = $returnXml->error;
162
- $errMsg[] = (string)$error->message . ' (' . $error->code . ')';
163
  Mage::throwException('Um erro ocorreu em seu pagamento.' . PHP_EOL . implode(PHP_EOL, $errMsg));
164
  }
165
 
145
 
146
  //will grab data to be send via POST to API inside $params
147
  $params = Mage::helper('ricardomartins_pagseguro/internal')->getCreditCardApiCallParams($order, $payment);
148
+ $rmHelper = Mage::helper('ricardomartins_pagseguro');
149
 
150
  //call API
151
  $returnXml = $this->callApi($params, $payment);
154
  if (isset($returnXml->errors)) {
155
  $errMsg = array();
156
  foreach ($returnXml->errors as $error) {
157
+ $errMsg[] = $rmHelper->__((string)$error->message) . '(' . $error->code . ')';
158
  }
159
  Mage::throwException('Um ou mais erros ocorreram no seu pagamento.' . PHP_EOL . implode(PHP_EOL, $errMsg));
160
  }
161
  if (isset($returnXml->error)) {
162
  $error = $returnXml->error;
163
+ $errMsg[] = $rmHelper->__((string)$error->message) . ' (' . $error->code . ')';
164
  Mage::throwException('Um erro ocorreu em seu pagamento.' . PHP_EOL . implode(PHP_EOL, $errMsg));
165
  }
166
 
app/code/community/RicardoMartins/PagSeguro/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <RicardoMartins_PagSeguro>
5
- <version>2.4.2</version>
6
  </RicardoMartins_PagSeguro>
7
  </modules>
8
  <global>
2
  <config>
3
  <modules>
4
  <RicardoMartins_PagSeguro>
5
+ <version>2.5.0</version>
6
  </RicardoMartins_PagSeguro>
7
  </modules>
8
  <global>
app/design/adminhtml/base/default/template/ricardomartins_pagseguro/form/directpayment.phtml DELETED
@@ -1,18 +0,0 @@
1
- <?php
2
- $_helper = Mage::helper('ricardomartins_pagseguro');
3
- ?>
4
- <input type="hidden" name="payment[sender_hash]"/>
5
- <script type="text/javascript">
6
- //<![CDATA[
7
- PagSeguroDirectPayment.setSessionId('<?php echo $_helper->getSessionId();?>');
8
- var iid = setInterval(function()
9
- {
10
- if(typeof PagSeguroDirectPayment != "undefined" && PagSeguroDirectPayment.ready){
11
- console.log('PagSeguro ready');
12
-
13
- clearInterval(iid);
14
- RMPagSeguro.updateSenderHash();
15
- }
16
- }, 4000);
17
- //]]>
18
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/adminhtml/base/default/template/ricardomartins_pagseguro/form/info/cc.phtml DELETED
@@ -1,15 +0,0 @@
1
- <strong><?php echo $this->escapeHtml($this->getMethod()->getTitle()) ?> (PagSeguro)</strong>
2
- <?php if($info = $this->getInfo()): ?>
3
- <br/>
4
- <?php if($additional = $info->getAdditionalInformation()):?>
5
- Id Transação: <?php echo (isset($additional['transaction_id']))?$this->escapeHtml($additional['transaction_id']):'Desconhecido';?>
6
- <br/>
7
- <?php endif;?>
8
- Bandeira: <?php echo ucfirst($this->escapeHtml($info->getCcType()));?>
9
- <br/>
10
- Últimos 4 dígitos: <?php echo $this->escapeHtml($info->getCcLast4());?>
11
- <?php if(isset($additional['installment_quantity']) && isset($additional['installment_value'])):?>
12
- <br/>
13
- Parcelas: <?php echo $this->escapeHtml($additional['installment_quantity']);?>x <?php echo Mage::helper('core')->formatCurrency($additional['installment_value']);?>
14
- <?php endif;?>
15
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/ricardomartins_pagseguro/form/directpayment.phtml CHANGED
@@ -14,6 +14,7 @@ $_helper = Mage::helper('ricardomartins_pagseguro');
14
  RMPagSeguro.updateSenderHash();
15
  RMPagSeguro.addBrandObserver();
16
  RMPagSeguro.addCardFieldsObserver();
 
17
  }
18
  }, 4000);
19
  }
14
  RMPagSeguro.updateSenderHash();
15
  RMPagSeguro.addBrandObserver();
16
  RMPagSeguro.addCardFieldsObserver();
17
+ RMPagSeguro.removeUnavailableBanks();
18
  }
19
  }, 4000);
20
  }
js/pagseguro/pagseguro.js CHANGED
@@ -2,11 +2,15 @@
2
  * PagSeguro Transparente para Magento
3
  * @author Ricardo Martins <ricardo@ricardomartins.net.br>
4
  * @link https://github.com/r-martins/PagSeguro-Magento-Transparente
5
- * @version 2.1.0
6
  */
7
  (function() {
8
  document.observe("dom:loaded", function() {
9
- RMPagSeguro = function RMPagSeguro(){};
 
 
 
 
10
  RMPagSeguro.updateSenderHash = function(){
11
  var senderHash = PagSeguroDirectPayment.getSenderHash();
12
  if(typeof senderHash != "undefined")
@@ -108,43 +112,55 @@ document.observe("dom:loaded", function() {
108
  Element.observe(ccCvvElm,'keyup',function(e){RMPagSeguro.updateCreditCardToken();});
109
  }
110
 
111
- RMPagSeguro.getInstallments = function(){
112
  var _url = RMPagSeguroSiteBaseURL + 'pseguro/ajax/getGrandTotal';
113
  new Ajax.Request(_url, {
 
114
  onSuccess: function(response){
115
- var grandTotal = response.responseJSON.total;
 
 
 
 
 
 
116
 
117
- PagSeguroDirectPayment.getInstallments({
118
- amount: grandTotal,
119
- brand: RMPagSeguro.brand.name,
120
- success: function(response) {
121
- var parcelsDrop = document.getElementById('pagseguro_cc_cc_installments');
122
- for( installment in response.installments) break;
 
 
 
 
 
 
 
 
 
 
123
  // console.log(response.installments);
124
- var b = response.installments[RMPagSeguro.brand.name];
125
- parcelsDrop.length = 0;
126
- for(var x=0; x < b.length; x++){
127
- var option = document.createElement('option');
128
- option.text = b[x].quantity + "x de R$" + b[x].installmentAmount.toFixed(2).toString().replace('.',',');
129
- option.text += (b[x].interestFree)?" sem juros":" com juros";
130
- option.value = b[x].quantity + "|" + b[x].installmentAmount;
131
- parcelsDrop.add(option);
132
- }
133
  // console.log(b[0].quantity);
134
  // console.log(b[0].installmentAmount);
135
 
136
- },
137
- error: function(response) {
138
- console.log(response);
139
- },
140
- complete: function(response) {
141
  // console.log(response);
142
- RMPagSeguro.reCheckSenderHash();
143
- }
144
- });
145
- },
146
- onFailure: function(response){
147
- return 0;
148
  }
149
  });
150
  }
@@ -167,6 +183,40 @@ document.observe("dom:loaded", function() {
167
  }
168
  });
169
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
170
  window.RMPagSeguro = RMPagSeguro;
171
  RMPagSeguro.updateSessionId();
172
  });
2
  * PagSeguro Transparente para Magento
3
  * @author Ricardo Martins <ricardo@ricardomartins.net.br>
4
  * @link https://github.com/r-martins/PagSeguro-Magento-Transparente
5
+ * @version 2.5.0
6
  */
7
  (function() {
8
  document.observe("dom:loaded", function() {
9
+ RMPagSeguro = function RMPagSeguro(){
10
+ this.init = function() {
11
+ this.grandTotal = 0;
12
+ }
13
+ };
14
  RMPagSeguro.updateSenderHash = function(){
15
  var senderHash = PagSeguroDirectPayment.getSenderHash();
16
  if(typeof senderHash != "undefined")
112
  Element.observe(ccCvvElm,'keyup',function(e){RMPagSeguro.updateCreditCardToken();});
113
  }
114
 
115
+ RMPagSeguro.getGrandTotal = function(){
116
  var _url = RMPagSeguroSiteBaseURL + 'pseguro/ajax/getGrandTotal';
117
  new Ajax.Request(_url, {
118
+ asynchronous: false,
119
  onSuccess: function(response){
120
+ RMPagSeguro.grandTotal = response.responseJSON.total;
121
+ },
122
+ onFailure: function(response){
123
+ return false;
124
+ }
125
+ });
126
+ }
127
 
128
+ RMPagSeguro.getInstallments = function(){
129
+ var brandName = "";
130
+ if(typeof RMPagSeguro.brand == "undefined"){
131
+ return;
132
+ }
133
+ this.getGrandTotal();
134
+ if(false == RMPagSeguro.grandTotal){
135
+ return 0;
136
+ }
137
+ brandName = RMPagSeguro.brand.name;
138
+ PagSeguroDirectPayment.getInstallments({
139
+ amount: this.grandTotal,
140
+ brand: brandName,
141
+ success: function(response) {
142
+ var parcelsDrop = document.getElementById('pagseguro_cc_cc_installments');
143
+ for( installment in response.installments) break;
144
  // console.log(response.installments);
145
+ var b = response.installments[RMPagSeguro.brand.name];
146
+ parcelsDrop.length = 0;
147
+ for(var x=0; x < b.length; x++){
148
+ var option = document.createElement('option');
149
+ option.text = b[x].quantity + "x de R$" + b[x].installmentAmount.toFixed(2).toString().replace('.',',');
150
+ option.text += (b[x].interestFree)?" sem juros":" com juros";
151
+ option.value = b[x].quantity + "|" + b[x].installmentAmount;
152
+ parcelsDrop.add(option);
153
+ }
154
  // console.log(b[0].quantity);
155
  // console.log(b[0].installmentAmount);
156
 
157
+ },
158
+ error: function(response) {
159
+ console.log(response);
160
+ },
161
+ complete: function(response) {
162
  // console.log(response);
163
+ RMPagSeguro.reCheckSenderHash();
 
 
 
 
 
164
  }
165
  });
166
  }
183
  }
184
  });
185
  }
186
+
187
+ RMPagSeguro.removeUnavailableBanks = function(){
188
+ if($('pseguro_tef_bank')){
189
+ PagSeguroDirectPayment.getPaymentMethods({
190
+ amount: RMPagSeguro.grandTotal,
191
+ success: function(response){
192
+ if(response.error == true){
193
+ console.log('Não foi possível obter os meios de pagamento que estão funcionando no momento.');
194
+ return;
195
+ }
196
+
197
+ try{
198
+ for (y in response.paymentMethods.ONLINE_DEBIT.options){
199
+ if(response.paymentMethods.ONLINE_DEBIT.options[y].status == 'UNAVAILABLE'){
200
+ var valueName = response.paymentMethods.ONLINE_DEBIT.options[y].name.toString().toLowerCase();
201
+ RMPagSeguro.removeOptionByValue($('pseguro_tef_bank'), valueName);
202
+ console.log(response.paymentMethods.ONLINE_DEBIT.options[y].displayName + ' encontra-se indisponível e foi removido.');
203
+ }
204
+ }
205
+ }catch (err){
206
+ console.log(err.message);
207
+ }
208
+ }
209
+ })
210
+ }
211
+ }
212
+ RMPagSeguro.removeOptionByValue = function(selectObj, value){
213
+ for (x in selectObj.options) {
214
+ if(selectObj.options[x].value == value){
215
+ selectObj.options[x] = null;
216
+ break;
217
+ }
218
+ }
219
+ }
220
  window.RMPagSeguro = RMPagSeguro;
221
  RMPagSeguro.updateSessionId();
222
  });
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>RicardoMartins_PagSeguro</name>
4
- <version>2.4.2</version>
5
  <stability>stable</stability>
6
  <license>MIT</license>
7
  <channel>community</channel>
@@ -13,9 +13,9 @@ Os dados do cart&#xE3;o s&#xE3;o enviados para o site do pagseguro de forma segu
13
  &#xD;
14
  Os bugs devem ser reportados na &#xE1;rea de Issues no github do projeto em https://github.com/r-martins/PagSeguro-Magento-Transparente</notes>
15
  <authors><author><name>Ricardo Martins</name><user>MAG001517858</user><email>ricardo@ricardomartins.info</email></author></authors>
16
- <date>2016-01-27</date>
17
- <time>23:47:40</time>
18
- <contents><target name="magecommunity"><dir name="RicardoMartins"><dir name="PagSeguro"><dir name="Block"><dir name="Form"><dir name="Cc"><file name="Dob.php" hash="ed45c9f5576c289897eb5c86a46c6d85"/></dir><file name="Cc.php" hash="23c8de35776d54f9717327ba8520f1b6"/><file name="Directpayment.php" hash="98ba4fb562b4ad777dc20b15ca345381"/><dir name="Info"><file name="Cc.php" hash="ef4952bfb9d12dae0b6ce13afeb0d1bb"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="56e8469ad41303ee7054ffc25860a05d"/><file name="Internal.php" hash="5911252bc71b056c888a61df5f3bf58d"/><file name="Params.php" hash="b7ce05a461897a92a948731a5883ce7d"/></dir><dir name="Model"><file name="Abstract.php" hash="b717e43a0ec8646d5abef80dc332d070"/><file name="Observer.php" hash="29a784cdb6203baf6b5f0abeeeda99ed"/><dir name="Payment"><file name="Cc.php" hash="15c9f561eb43629457bdbdd3c9ac7715"/></dir><dir name="Source"><dir name="Customer"><dir name="Address"><dir name="Attributes"><file name="Optional.php" hash="cb7cc6beb016941997051a9d5eb1014c"/></dir><file name="Attributes.php" hash="0ffab3cf1d51871f7d57d95dd95822ec"/></dir><file name="Attributes.php" hash="96c7da94017a8b38bd3804e9b0401a58"/><file name="Cpf.php" hash="da6e6525163d2ba954d69c687d101d7d"/><file name="Dob.php" hash="f82a41da22e5a84e77c35ff91d7dfab9"/></dir><file name="Paymentmethods.php" hash="88897d21a7b5217f834eda0daead22c3"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Token.php" hash="05b6ea4b355cefcbb1a50d66aba637f6"/></dir><dir name="Source"><dir name="Customer"><file name="Groups.php" hash="f08bac32afcde8078a098446db79bc65"/></dir></dir></dir></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="89b915bbfc061beb7550a56248177c9f"/><file name="NotificationController.php" hash="e7056961e4ada5cc5614c5a40ef78a75"/><file name="TestController.php" hash="0e2c2bd2fc77ced55f880d1860e4318d"/></dir><dir name="etc"><file name="config.xml" hash="99aa585cb49c8db8cb05b7bdb9bd7130"/><file name="system.xml" hash="c652e549376568bda40e540486fe110b"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="RicardoMartins_PagSeguro.xml" hash="82d8294eccac1fb4047f27566b0c9f2a"/></dir></target><target name="magelocale"><dir name="pt_BR"><file name="RicardoMartins_PagSeguro.csv" hash="84a6cc4fb73769ac822c9e8e22b8cec8"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="pagseguro"><dir><dir name="selo"><file name="selo01_160x90.gif" hash="e6729bb969abb20588f134f7d29ea0ec"/><file name="selo01_200x60.gif" hash="e91ed131018bae7d9abc2cc1a72f539b"/><file name="selo01_300x60.gif" hash="13b07e35250b30a61c86c98815e3310c"/><file name="selo02_160x90.gif" hash="4e65530d2c42bae4e5fab617a4d0afdf"/><file name="selo02_200x60.gif" hash="ba629a85cef8982423c7679a4875283c"/><file name="selo02_300x60.gif" hash="5827aca40455f22caffee1392917f16c"/><file name="selo03_160x90.gif" hash="e3c69ace0991d7841728c6203fc305bf"/><file name="selo03_200x60.gif" hash="63135b65df64a70629748d66f5c0c453"/><file name="selo03_300x60.gif" hash="e88f1529f2d27d4732cd7c374752618e"/><file name="selo04_160x90.gif" hash="8e71cb1942c15427ba96ac21aacdb9d6"/><file name="selo04_200x60.gif" hash="f08b80b40541e35491a8d966cb420c78"/><file name="selo04_300x60.gif" hash="43f9fc4ad730111654777c26059e9fbf"/></dir></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="ricardomartins_pagseguro"><dir><dir name="form"><dir name="cc"><file name="dob.phtml" hash="0ea9d4ff767a43d1393ddf1e2882a5da"/></dir><file name="cc.phtml" hash="1e5f98f09a867256ddfbd17b22320dcb"/><file name="directpayment.phtml" hash="05b00f5b33e53fd1091b5a84b31d7c85"/><dir name="info"><file name="cc.phtml" hash="0a3aa78e0775cd51bb7a168b813dd466"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="template"><dir name="ricardomartins_pagseguro"><dir><dir name="form"><file name="directpayment.phtml" hash="f87e23e166b4f9b7db8fa08db1de6c5b"/><dir name="info"><file name="cc.phtml" hash="0a3aa78e0775cd51bb7a168b813dd466"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="pagseguro"><file name="pagseguro.js" hash="37540fcc2280186dd08a2c44b1f397c5"/></dir></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.2.1</min><max>5.6.16</max></php></required></dependencies>
21
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>RicardoMartins_PagSeguro</name>
4
+ <version>2.5.0</version>
5
  <stability>stable</stability>
6
  <license>MIT</license>
7
  <channel>community</channel>
13
  &#xD;
14
  Os bugs devem ser reportados na &#xE1;rea de Issues no github do projeto em https://github.com/r-martins/PagSeguro-Magento-Transparente</notes>
15
  <authors><author><name>Ricardo Martins</name><user>MAG001517858</user><email>ricardo@ricardomartins.info</email></author></authors>
16
+ <date>2016-02-22</date>
17
+ <time>21:01:17</time>
18
+ <contents><target name="magecommunity"><dir name="RicardoMartins"><dir name="PagSeguro"><dir name="Block"><dir name="Form"><dir name="Cc"><file name="Dob.php" hash="ed45c9f5576c289897eb5c86a46c6d85"/></dir><file name="Cc.php" hash="23c8de35776d54f9717327ba8520f1b6"/><file name="Directpayment.php" hash="98ba4fb562b4ad777dc20b15ca345381"/><dir name="Info"><file name="Cc.php" hash="ef4952bfb9d12dae0b6ce13afeb0d1bb"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="56e8469ad41303ee7054ffc25860a05d"/><file name="Internal.php" hash="5911252bc71b056c888a61df5f3bf58d"/><file name="Params.php" hash="b7ce05a461897a92a948731a5883ce7d"/></dir><dir name="Model"><file name="Abstract.php" hash="d0864beabaad0b8da84a4c0aadfbe85e"/><file name="Observer.php" hash="29a784cdb6203baf6b5f0abeeeda99ed"/><dir name="Payment"><file name="Cc.php" hash="b6201a7857ff683e660ae3ff566b1905"/></dir><dir name="Source"><dir name="Customer"><dir name="Address"><dir name="Attributes"><file name="Optional.php" hash="cb7cc6beb016941997051a9d5eb1014c"/></dir><file name="Attributes.php" hash="0ffab3cf1d51871f7d57d95dd95822ec"/></dir><file name="Attributes.php" hash="96c7da94017a8b38bd3804e9b0401a58"/><file name="Cpf.php" hash="da6e6525163d2ba954d69c687d101d7d"/><file name="Dob.php" hash="f82a41da22e5a84e77c35ff91d7dfab9"/></dir><file name="Paymentmethods.php" hash="88897d21a7b5217f834eda0daead22c3"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Token.php" hash="05b6ea4b355cefcbb1a50d66aba637f6"/></dir><dir name="Source"><dir name="Customer"><file name="Groups.php" hash="f08bac32afcde8078a098446db79bc65"/></dir></dir></dir></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="89b915bbfc061beb7550a56248177c9f"/><file name="NotificationController.php" hash="e7056961e4ada5cc5614c5a40ef78a75"/><file name="TestController.php" hash="0e2c2bd2fc77ced55f880d1860e4318d"/></dir><dir name="etc"><file name="config.xml" hash="e260c94be8dcbf94ad61136b3f239b3d"/><file name="system.xml" hash="c652e549376568bda40e540486fe110b"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="RicardoMartins_PagSeguro.xml" hash="82d8294eccac1fb4047f27566b0c9f2a"/></dir></target><target name="magelocale"><dir name="pt_BR"><file name="RicardoMartins_PagSeguro.csv" hash="84a6cc4fb73769ac822c9e8e22b8cec8"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="pagseguro"><dir><dir name="selo"><file name="selo01_160x90.gif" hash="e6729bb969abb20588f134f7d29ea0ec"/><file name="selo01_200x60.gif" hash="e91ed131018bae7d9abc2cc1a72f539b"/><file name="selo01_300x60.gif" hash="13b07e35250b30a61c86c98815e3310c"/><file name="selo02_160x90.gif" hash="4e65530d2c42bae4e5fab617a4d0afdf"/><file name="selo02_200x60.gif" hash="ba629a85cef8982423c7679a4875283c"/><file name="selo02_300x60.gif" hash="5827aca40455f22caffee1392917f16c"/><file name="selo03_160x90.gif" hash="e3c69ace0991d7841728c6203fc305bf"/><file name="selo03_200x60.gif" hash="63135b65df64a70629748d66f5c0c453"/><file name="selo03_300x60.gif" hash="e88f1529f2d27d4732cd7c374752618e"/><file name="selo04_160x90.gif" hash="8e71cb1942c15427ba96ac21aacdb9d6"/><file name="selo04_200x60.gif" hash="f08b80b40541e35491a8d966cb420c78"/><file name="selo04_300x60.gif" hash="43f9fc4ad730111654777c26059e9fbf"/></dir></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="ricardomartins_pagseguro"><dir><dir name="form"><dir name="cc"><file name="dob.phtml" hash="0ea9d4ff767a43d1393ddf1e2882a5da"/></dir><file name="cc.phtml" hash="1e5f98f09a867256ddfbd17b22320dcb"/><file name="directpayment.phtml" hash="ff5cb599a494f436024fd63a96f0420c"/><dir name="info"><file name="cc.phtml" hash="0a3aa78e0775cd51bb7a168b813dd466"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="pagseguro"><file name="pagseguro.js" hash="e6d2349ef4b24d89d533bd362cd6360a"/></dir></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.2.1</min><max>5.6.16</max></php></required></dependencies>
21
  </package>