RicardoMartins_PagSeguro - Version 3.1.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 3.1.0
Comparing to
See all releases


Code changes from version 3.0.4 to 3.1.0

app/code/community/RicardoMartins/PagSeguro/Model/Abstract.php CHANGED
@@ -19,6 +19,7 @@ class RicardoMartins_PagSeguro_Model_Abstract extends Mage_Payment_Model_Method_
19
  */
20
  public function proccessNotificatonResult(SimpleXMLElement $resultXML)
21
  {
 
22
  // prevent this event from firing twice
23
  if(Mage::registry('sales_order_invoice_save_after_event_triggered'))
24
  {
@@ -38,7 +39,14 @@ class RicardoMartins_PagSeguro_Model_Abstract extends Mage_Payment_Model_Method_
38
  }
39
  if (isset($resultXML->reference)) {
40
  /** @var Mage_Sales_Model_Order $order */
41
- $order = Mage::getModel('sales/order')->loadByIncrementId((string)$resultXML->reference);
 
 
 
 
 
 
 
42
  $payment = $order->getPayment();
43
 
44
  $this->_code = $payment->getMethod();
@@ -142,25 +150,36 @@ class RicardoMartins_PagSeguro_Model_Abstract extends Mage_Payment_Model_Method_
142
  {
143
  $helper = Mage::helper('ricardomartins_pagseguro');
144
  $url = $helper->getWsUrl('transactions/notifications/' . $notificationCode, false);
145
- $client = new Zend_Http_Client($url);
146
- $client->setParameterGet(
147
- array(
148
- 'token'=>$helper->getToken(),
149
- 'email'=> $helper->getMerchantEmail(),
150
- )
151
- );
152
 
153
- $client->request();
154
- $resposta = $client->getLastResponse()->getBody();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
155
 
156
- $helper->writeLog(sprintf('Retorno do Pagseguro para notificationCode %s: %s', $notificationCode, $resposta));
157
 
158
  libxml_use_internal_errors(true);
159
- $xml = simplexml_load_string(trim($resposta));
160
  if (false === $xml) {
161
- $helper->writeLog('Retorno de notificacao XML PagSeguro em formato não esperado. Retorno: ' . $resposta);
162
  }
163
 
 
164
  return $xml;
165
  }
166
 
@@ -260,6 +279,18 @@ class RicardoMartins_PagSeguro_Model_Abstract extends Mage_Payment_Model_Method_
260
  $params['public_key'] = Mage::getStoreConfig('payment/pagseguropro/key');
261
  }
262
  $params = $this->_convertEncoding($params);
 
 
 
 
 
 
 
 
 
 
 
 
263
  $paramsString = $this->_convertToCURLString($params);
264
 
265
  $helper->writeLog('Parametros sendo enviados para API (/'.$type.'): '. var_export($params, true));
19
  */
20
  public function proccessNotificatonResult(SimpleXMLElement $resultXML)
21
  {
22
+ $helper = Mage::helper('ricardomartins_pagseguro');
23
  // prevent this event from firing twice
24
  if(Mage::registry('sales_order_invoice_save_after_event_triggered'))
25
  {
39
  }
40
  if (isset($resultXML->reference)) {
41
  /** @var Mage_Sales_Model_Order $order */
42
+ $orderNo = (string)$resultXML->reference;
43
+ $order = Mage::getModel('sales/order')->loadByIncrementId($orderNo);
44
+ if (!$order->getId()) {
45
+ $helper->writeLog(
46
+ sprintf('Pedido %s não encontrado no sistema. Impossível processar retorno.', $orderNo)
47
+ );
48
+ return $this;
49
+ }
50
  $payment = $order->getPayment();
51
 
52
  $this->_code = $payment->getMethod();
150
  {
151
  $helper = Mage::helper('ricardomartins_pagseguro');
152
  $url = $helper->getWsUrl('transactions/notifications/' . $notificationCode, false);
 
 
 
 
 
 
 
153
 
154
+ $params = array('token' => $helper->getToken(), 'email' => $helper->getMerchantEmail(),);
155
+ $url .= '?' . http_build_query($params);
156
+ $ch = curl_init();
157
+ curl_setopt($ch, CURLOPT_URL, $url);
158
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
159
+ curl_setopt($ch, CURLOPT_TIMEOUT, 45);
160
+ curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
161
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
162
+
163
+ try {
164
+ $return = curl_exec($ch);
165
+ } catch (Exception $e) {
166
+ $helper->writeLog(
167
+ sprintf(
168
+ 'Falha ao capturar retorno para notificationCode %s: %s(%d)', $notificationCode, curl_error($ch),
169
+ curl_errno($ch)
170
+ )
171
+ );
172
+ }
173
 
174
+ $helper->writeLog(sprintf('Retorno do Pagseguro para notificationCode %s: %s', $notificationCode, $return));
175
 
176
  libxml_use_internal_errors(true);
177
+ $xml = simplexml_load_string(trim($return));
178
  if (false === $xml) {
179
+ $helper->writeLog('Retorno de notificacao XML PagSeguro em formato não esperado. Retorno: ' . $return);
180
  }
181
 
182
+ curl_close($ch);
183
  return $xml;
184
  }
185
 
279
  $params['public_key'] = Mage::getStoreConfig('payment/pagseguropro/key');
280
  }
281
  $params = $this->_convertEncoding($params);
282
+ $paramsObj = new Varien_Object(array('params'=>$params));
283
+
284
+ //you can create a module to modify some parameter using the following observer
285
+ Mage::dispatchEvent(
286
+ 'ricardomartins_pagseguro_params_callapi_before_send',
287
+ array(
288
+ 'params' => $params,
289
+ 'payment' => $payment,
290
+ 'type' => $type
291
+ )
292
+ );
293
+ $params = $paramsObj->getParams();
294
  $paramsString = $this->_convertToCURLString($params);
295
 
296
  $helper->writeLog('Parametros sendo enviados para API (/'.$type.'): '. var_export($params, true));
app/code/community/RicardoMartins/PagSeguro/Model/Payment/Cc.php CHANGED
@@ -138,6 +138,7 @@ class RicardoMartins_PagSeguro_Model_Payment_Cc extends RicardoMartins_PagSeguro
138
  ->writeLog(
139
  "Falha ao obter o token do cartao ou sender_hash.
140
  Ative o modo debug e observe o console de erros do seu navegador.
 
141
  $missingInfo"
142
  );
143
  Mage::throwException(
138
  ->writeLog(
139
  "Falha ao obter o token do cartao ou sender_hash.
140
  Ative o modo debug e observe o console de erros do seu navegador.
141
+ Se esta for uma atualização via Ajax, ignore esta mensagem até a finalização do pedido.
142
  $missingInfo"
143
  );
144
  Mage::throwException(
app/code/community/RicardoMartins/PagSeguro/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <RicardoMartins_PagSeguro>
5
- <version>3.0.4</version>
6
  </RicardoMartins_PagSeguro>
7
  </modules>
8
  <global>
2
  <config>
3
  <modules>
4
  <RicardoMartins_PagSeguro>
5
+ <version>3.1.0</version>
6
  </RicardoMartins_PagSeguro>
7
  </modules>
8
  <global>
app/design/frontend/base/default/template/ricardomartins_pagseguro/form/cc.phtml CHANGED
@@ -70,7 +70,7 @@ $_installments = (!$_installments)?'null':$_installments;
70
  <label for="<?php echo $_code ?>_cc_cid" class="required"><em>*</em><?php echo $this->__('Card Verification Number') ?></label>
71
  <div class="input-box">
72
  <div class="v-fix">
73
- <input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="input-text cvv required-entry validate-cc-cvn" id="<?php echo $_code ?>_cc_cid" name="payment[ps_cc_cid]" value="" maxlength="4"/>
74
  </div>
75
  <a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
76
  </div>
70
  <label for="<?php echo $_code ?>_cc_cid" class="required"><em>*</em><?php echo $this->__('Card Verification Number') ?></label>
71
  <div class="input-box">
72
  <div class="v-fix">
73
+ <input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="input-text cvv required-entry validate-cc-cvn validate-pagseguro" id="<?php echo $_code ?>_cc_cid" name="payment[ps_cc_cid]" value="" maxlength="4"/>
74
  </div>
75
  <a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
76
  </div>
js/pagseguro/pagseguro.js CHANGED
@@ -2,7 +2,7 @@
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 3.0.0
6
  */
7
 
8
  RMPagSeguro = Class.create({
@@ -37,6 +37,11 @@ RMPagSeguro = Class.create({
37
  document.stopObserving('click');
38
  });
39
  }
 
 
 
 
 
40
  },
41
 
42
  updateSenderHash: function() {
@@ -109,9 +114,9 @@ RMPagSeguro = Class.create({
109
  var ccCvvElm = $$('input[name="payment[ps_cc_cid]"]').first();
110
 
111
  Element.observe(ccNumElm,'keyup',function(e){obj.updateCreditCardToken();});
112
- Element.observe(ccExpMoElm,'change',function(e){obj.updateCreditCardToken();});
113
- Element.observe(ccExpYrElm,'change',function(e){obj.updateCreditCardToken();});
114
- Element.observe(ccCvvElm,'change',function(e){obj.updateCreditCardToken();});
115
  }catch(e){
116
  console.error('Não foi possível adicionar observevação aos cartões. ' + e.message);
117
  }
@@ -120,14 +125,16 @@ RMPagSeguro = Class.create({
120
  updateCreditCardToken: function(){
121
  var ccNum = $$('input[name="payment[ps_cc_number]"]').first().value.replace(/^\s+|\s+$/g,'');
122
  // var ccNumElm = $$('input[name="payment[ps_cc_number]"]').first();
123
- var ccExpMo = $$('select[name="payment[ps_cc_exp_month]"]').first().value;
124
- var ccExpYr = $$('select[name="payment[ps_cc_exp_year]"]').first().value;
125
- var ccCvv = $$('input[name="payment[ps_cc_cid]"]').first().value;
126
 
127
- this.updateBrand();
128
  var brandName = '';
129
- if(typeof RMPagSeguroObj.brand != "undefined"){
130
- brandName = RMPagSeguroObj.brand.name;
 
 
 
131
  }
132
 
133
  if(ccNum.length > 6 && ccExpMo != "" && ccExpYr != "" && ccCvv.length >= 3)
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 3.1.0
6
  */
7
 
8
  RMPagSeguro = Class.create({
37
  document.stopObserving('click');
38
  });
39
  }
40
+ Validation.add('validate-pagseguro', 'Falha ao atualizar dados do pagaento. Entre novamente com seus dados.',
41
+ function(v, el){
42
+ RMPagSeguroObj.updatePaymentHashes();
43
+ return true;
44
+ })
45
  },
46
 
47
  updateSenderHash: function() {
114
  var ccCvvElm = $$('input[name="payment[ps_cc_cid]"]').first();
115
 
116
  Element.observe(ccNumElm,'keyup',function(e){obj.updateCreditCardToken();});
117
+ Element.observe(ccExpMoElm,'keyup',function(e){obj.updateCreditCardToken();});
118
+ Element.observe(ccExpYrElm,'keyup',function(e){obj.updateCreditCardToken();});
119
+ Element.observe(ccCvvElm,'keyup',function(e){obj.updateCreditCardToken();});
120
  }catch(e){
121
  console.error('Não foi possível adicionar observevação aos cartões. ' + e.message);
122
  }
125
  updateCreditCardToken: function(){
126
  var ccNum = $$('input[name="payment[ps_cc_number]"]').first().value.replace(/^\s+|\s+$/g,'');
127
  // var ccNumElm = $$('input[name="payment[ps_cc_number]"]').first();
128
+ var ccExpMo = $$('select[name="payment[ps_cc_exp_month]"]').first().value.replace(/^\s+|\s+$/g,'');
129
+ var ccExpYr = $$('select[name="payment[ps_cc_exp_year]"]').first().value.replace(/^\s+|\s+$/g,'');
130
+ var ccCvv = $$('input[name="payment[ps_cc_cid]"]').first().value.replace(/^\s+|\s+$/g,'');
131
 
 
132
  var brandName = '';
133
+ if(typeof RMPagSeguroObj.lastCcNum != "undefined" || ccNum != RMPagSeguroObj.lastCcNum){
134
+ this.updateBrand();
135
+ if(typeof RMPagSeguroObj.brand != "undefined"){
136
+ brandName = RMPagSeguroObj.brand.name;
137
+ }
138
  }
139
 
140
  if(ccNum.length > 6 && ccExpMo != "" && ccExpYr != "" && ccCvv.length >= 3)
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>RicardoMartins_PagSeguro</name>
4
- <version>3.0.4</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>2017-01-27</date>
17
- <time>23:16: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="be21c9528c260dd377ddc67bd4ed329f"/><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="4543a0aa35dd7aa4b9b6686a54dd5dd4"/><file name="Internal.php" hash="faed0e7778904c2b74a0632c1ae2f844"/><file name="Params.php" hash="3ae7733c2dd439513a933c69093440d8"/></dir><dir name="Model"><file name="Abstract.php" hash="d4965dae31f3966a4cfd0c1476f70b41"/><file name="Observer.php" hash="6a9d4a53e3cc3c527940d7603b0b1e40"/><dir name="Payment"><file name="Cc.php" hash="b4e1712e860f56305c18b9312454fc6c"/><file name="Ccview.php" hash="0e8ff1dd7156934d0faa6062900a9cb1"/></dir><dir name="Source"><file name="Ccbrand.php" hash="d9696c3a2854d5e07fb96af55929e738"/><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="9d099f156f5bd6b18c8f315954da7b7f"/></dir><dir name="Source"><dir name="Customer"><file name="Groups.php" hash="f08bac32afcde8078a098446db79bc65"/></dir></dir></dir></dir></dir><dir name="Test"><dir name="Helper"><file name="Params.php" hash="a596ea4060cdfe0a4d7e981d9543301f"/></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="c7db6498379d63ef44a3848af6daf987"/><file name="NotificationController.php" hash="e7056961e4ada5cc5614c5a40ef78a75"/><file name="TestController.php" hash="19594af040ac8e903d91e90d608188be"/></dir><dir name="data"><dir name="ricardomartins_pagseguro_setup"><file name="data-install-3.0.0.php" hash="038f4e1d3ff6e8b18b46c356f8499025"/></dir></dir><dir name="etc"><file name="config.xml" hash="10cb680521b876e5ca0cf24cdc5d60f5"/><file name="system.xml" hash="124a9a8a6a50b43ee9d8320e86eaa53f"/></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="brflag.png" hash="ed8f0f1d2cd9cd7bc9a8584af417601e"/><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="0545c2e8967213c298802723d9b1a1a2"/></dir><file name="cc.phtml" hash="da91dec818b2d7485ecbebcedfe5a087"/><file name="directpayment.phtml" hash="754716867f9bb46edd6942a45997f666"/><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"><dir name="cc"><file name="dob.phtml" hash="0545c2e8967213c298802723d9b1a1a2"/></dir><file name="cc.phtml" hash="90da6037169e70719e98f28f2a44abd9"/><file name="directpayment.phtml" hash="2b6de8deb0560a2d0a9898e887bf1a84"/><dir name="info"><file name="cc.phtml" hash="0a3aa78e0775cd51bb7a168b813dd466"/></dir></dir></dir></dir></dir><dir name="layout"><dir name="ricardomartins_pagseguro"><file name="pagseguro.xml" hash="dabe29bc130ac063b1715a66f979b131"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="pagseguro"><file name="card.js" hash="2446373da8bcf1712515d85ad481a464"/><file name="pagseguro.js" hash="44eb951a26fc01fce4d8e21da3595c95"/></dir></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.2.1</min><max>7.5.0</max></php></required></dependencies>
21
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>RicardoMartins_PagSeguro</name>
4
+ <version>3.1.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>2017-03-14</date>
17
+ <time>22:49:45</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="be21c9528c260dd377ddc67bd4ed329f"/><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="4543a0aa35dd7aa4b9b6686a54dd5dd4"/><file name="Internal.php" hash="faed0e7778904c2b74a0632c1ae2f844"/><file name="Params.php" hash="3ae7733c2dd439513a933c69093440d8"/></dir><dir name="Model"><file name="Abstract.php" hash="420493011bd3729671a806ebc98c22e4"/><file name="Observer.php" hash="6a9d4a53e3cc3c527940d7603b0b1e40"/><dir name="Payment"><file name="Cc.php" hash="6ec35218e3f33723920e9b84baa6a817"/><file name="Ccview.php" hash="0e8ff1dd7156934d0faa6062900a9cb1"/></dir><dir name="Source"><file name="Ccbrand.php" hash="d9696c3a2854d5e07fb96af55929e738"/><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="9d099f156f5bd6b18c8f315954da7b7f"/></dir><dir name="Source"><dir name="Customer"><file name="Groups.php" hash="f08bac32afcde8078a098446db79bc65"/></dir></dir></dir></dir></dir><dir name="Test"><dir name="Helper"><file name="Params.php" hash="a596ea4060cdfe0a4d7e981d9543301f"/></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="c7db6498379d63ef44a3848af6daf987"/><file name="NotificationController.php" hash="e7056961e4ada5cc5614c5a40ef78a75"/><file name="TestController.php" hash="19594af040ac8e903d91e90d608188be"/></dir><dir name="data"><dir name="ricardomartins_pagseguro_setup"><file name="data-install-3.0.0.php" hash="038f4e1d3ff6e8b18b46c356f8499025"/></dir></dir><dir name="etc"><file name="config.xml" hash="aa1a451569e0ac1c561f04b9e7f26876"/><file name="system.xml" hash="124a9a8a6a50b43ee9d8320e86eaa53f"/></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="brflag.png" hash="ed8f0f1d2cd9cd7bc9a8584af417601e"/><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="0545c2e8967213c298802723d9b1a1a2"/></dir><file name="cc.phtml" hash="463c6695b8774a866cdb4730106872a9"/><file name="directpayment.phtml" hash="754716867f9bb46edd6942a45997f666"/><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"><dir name="cc"><file name="dob.phtml" hash="0545c2e8967213c298802723d9b1a1a2"/></dir><file name="cc.phtml" hash="90da6037169e70719e98f28f2a44abd9"/><file name="directpayment.phtml" hash="2b6de8deb0560a2d0a9898e887bf1a84"/><dir name="info"><file name="cc.phtml" hash="0a3aa78e0775cd51bb7a168b813dd466"/></dir></dir></dir></dir></dir><dir name="layout"><dir name="ricardomartins_pagseguro"><file name="pagseguro.xml" hash="dabe29bc130ac063b1715a66f979b131"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="pagseguro"><file name="card.js" hash="2446373da8bcf1712515d85ad481a464"/><file name="pagseguro.js" hash="e0105bcbba8dc17d8fe4db36bd6118bb"/></dir></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.2.1</min><max>7.5.0</max></php></required></dependencies>
21
  </package>