RicardoMartins_PagSeguro - Version 2.0.4

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.0.4
Comparing to
See all releases


Code changes from version 2.0.3 to 2.0.4

app/code/community/RicardoMartins/PagSeguro/Helper/Data.php CHANGED
@@ -26,22 +26,35 @@ class RicardoMartins_PagSeguro_Helper_Data extends Mage_Core_Helper_Abstract
26
  public function getSessionId()
27
  {
28
  $useapp = $this->getLicenseType() == 'app';
29
- $client = new Zend_Http_Client($this->getWsUrl('sessions',$useapp));
30
- $client->setMethod(Zend_Http_Client::POST);
31
- $client->setParameterPost('email', $this->getMerchantEmail());
32
- $client->setParameterPost('token', $this->getToken());
 
 
33
  if($useapp){
34
- $client->setParameterPost('public_key',$this->getPagSeguroProKey());
35
  }
36
- $client->setConfig(array('timeout'=>30));
 
 
 
 
 
 
 
 
 
 
 
 
37
  try{
38
- $response = $client->request();
39
  }catch(Exception $e){
40
  Mage::logException($e);
41
  return false;
42
  }
43
 
44
- $response = $client->getLastResponse()->getBody();
45
 
46
  libxml_use_internal_errors(true);
47
  $xml = simplexml_load_string($response);
26
  public function getSessionId()
27
  {
28
  $useapp = $this->getLicenseType() == 'app';
29
+
30
+ $url = $this->getWsUrl('sessions',$useapp);
31
+
32
+ $ch = curl_init($url);
33
+ $params['email'] = $this->getMerchantEmail();
34
+ $params['token'] = $this->getToken();
35
  if($useapp){
36
+ $params['public_key'] = $this->getPagSeguroProKey();
37
  }
38
+
39
+ curl_setopt_array($ch, array(
40
+ CURLOPT_POSTFIELDS => http_build_query($params),
41
+ CURLOPT_POST => count($params),
42
+ CURLOPT_RETURNTRANSFER => 1,
43
+ CURLOPT_TIMEOUT => 45,
44
+ CURLOPT_SSL_VERIFYPEER => false,
45
+ CURLOPT_SSL_VERIFYHOST => false,
46
+
47
+ ));
48
+
49
+ $response = null;
50
+
51
  try{
52
+ $response = curl_exec($ch);
53
  }catch(Exception $e){
54
  Mage::logException($e);
55
  return false;
56
  }
57
 
 
58
 
59
  libxml_use_internal_errors(true);
60
  $xml = simplexml_load_string($response);
app/code/community/RicardoMartins/PagSeguro/Helper/Params.php CHANGED
@@ -79,7 +79,7 @@ class RicardoMartins_PagSeguro_Helper_Params extends Mage_Core_Helper_Abstract
79
 
80
 
81
  $retorno = array(
82
- 'creditCardHolderName' => $payment['additional_information']['credit_card_owner'],
83
  'creditCardHolderBirthDate' => $creditCardHolderBirthDate,
84
  'creditCardHolderCPF' => $digits->filter($cpf),
85
  'creditCardHolderAreaCode' => $phone['area'],
79
 
80
 
81
  $retorno = array(
82
+ 'creditCardHolderName' => str_replace(' ',' ',trim($payment['additional_information']['credit_card_owner'])),
83
  'creditCardHolderBirthDate' => $creditCardHolderBirthDate,
84
  'creditCardHolderCPF' => $digits->filter($cpf),
85
  'creditCardHolderAreaCode' => $phone['area'],
app/code/community/RicardoMartins/PagSeguro/Model/Abstract.php CHANGED
@@ -17,6 +17,7 @@ class RicardoMartins_PagSeguro_Model_Abstract extends Mage_Payment_Model_Method_
17
  /** @var Mage_Sales_Model_Order $order */
18
  $order = Mage::getModel('sales/order')->loadByIncrementId((string)$resultXML->reference);
19
  $payment = $order->getPayment();
 
20
  $processedState = $this->processStatus((int)$resultXML->status);
21
  $message = $processedState->getMessage();
22
 
@@ -52,7 +53,9 @@ class RicardoMartins_PagSeguro_Model_Abstract extends Mage_Payment_Model_Method_
52
 
53
  if($processedState->getStateChanged())
54
  {
55
- $order->setState($processedState->getState(),true,$processedState->getIsCustomerNotified())->save();
 
 
56
  }
57
 
58
  if((int)$resultXML->status == 3) //Quando o pedido foi dado como Pago
@@ -71,7 +74,6 @@ class RicardoMartins_PagSeguro_Model_Abstract extends Mage_Payment_Model_Method_
71
  $order->addStatusHistoryComment(sprintf('Fatura #%s criada com sucesso.', $invoice->getIncrementId()));
72
  }
73
 
74
- $order->addStatusHistoryComment($message);
75
  $payment->save();
76
  $order->save();
77
  Mage::dispatchEvent('pagseguro_proccess_notification_after',array(
@@ -122,7 +124,10 @@ class RicardoMartins_PagSeguro_Model_Abstract extends Mage_Payment_Model_Method_
122
  {
123
  case '1':
124
  $return->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT);
125
- $return->setIsCustomerNotified(true);
 
 
 
126
  $return->setMessage('Aguardando pagamento: o comprador iniciou a transação, mas até o momento o PagSeguro não recebeu nenhuma informação sobre o pagamento.');
127
  break;
128
  case '2':
@@ -192,14 +197,20 @@ class RicardoMartins_PagSeguro_Model_Abstract extends Mage_Payment_Model_Method_
192
  curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
193
  curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
194
  curl_setopt($ch,CURLOPT_TIMEOUT, 45);
 
 
195
 
196
  try{
197
  $response = curl_exec($ch);
198
- curl_close($ch);
199
  }catch(Exception $e){
200
  Mage::throwException('Falha na comunicação com Pagseguro (' . $e->getMessage() . ')');
201
  }
202
 
 
 
 
 
 
203
  $helper->writeLog('Retorno PagSeguro (/transactions): ' . var_export($response,true));
204
 
205
  libxml_use_internal_errors(true);
17
  /** @var Mage_Sales_Model_Order $order */
18
  $order = Mage::getModel('sales/order')->loadByIncrementId((string)$resultXML->reference);
19
  $payment = $order->getPayment();
20
+ $this->_code = $payment->getMethod();
21
  $processedState = $this->processStatus((int)$resultXML->status);
22
  $message = $processedState->getMessage();
23
 
53
 
54
  if($processedState->getStateChanged())
55
  {
56
+ $order->setState($processedState->getState(),true,$message,$processedState->getIsCustomerNotified())->save();
57
+ }else{
58
+ $order->addStatusHistoryComment($message);
59
  }
60
 
61
  if((int)$resultXML->status == 3) //Quando o pedido foi dado como Pago
74
  $order->addStatusHistoryComment(sprintf('Fatura #%s criada com sucesso.', $invoice->getIncrementId()));
75
  }
76
 
 
77
  $payment->save();
78
  $order->save();
79
  Mage::dispatchEvent('pagseguro_proccess_notification_after',array(
124
  {
125
  case '1':
126
  $return->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT);
127
+ $return->setIsCustomerNotified($this->getCode()!='pagseguro_cc');
128
+ if($this->getCode()=='pagseguro_cc'){
129
+ $return->setStateChanged(false);
130
+ }
131
  $return->setMessage('Aguardando pagamento: o comprador iniciou a transação, mas até o momento o PagSeguro não recebeu nenhuma informação sobre o pagamento.');
132
  break;
133
  case '2':
197
  curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
198
  curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
199
  curl_setopt($ch,CURLOPT_TIMEOUT, 45);
200
+ curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, 0);
201
+ curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, 0);
202
 
203
  try{
204
  $response = curl_exec($ch);
 
205
  }catch(Exception $e){
206
  Mage::throwException('Falha na comunicação com Pagseguro (' . $e->getMessage() . ')');
207
  }
208
 
209
+ if(curl_error($ch)){
210
+ Mage::throwException(sprintf('Falha ao tentar enviar parametros ao PagSeguro: %s (%s)', curl_error($ch), curl_errno($ch)));
211
+ }
212
+ curl_close($ch);
213
+
214
  $helper->writeLog('Retorno PagSeguro (/transactions): ' . var_export($response,true));
215
 
216
  libxml_use_internal_errors(true);
app/code/community/RicardoMartins/PagSeguro/Model/Payment/Cc.php CHANGED
@@ -108,6 +108,8 @@ class RicardoMartins_PagSeguro_Model_Payment_Cc extends RicardoMartins_PagSeguro
108
  Mage::throwException('Um ou mais erros ocorreram no seu pagamento.' . PHP_EOL . implode(PHP_EOL,$errMsg));
109
  }
110
 
 
 
111
  if(isset($xmlRetorno->code)){
112
 
113
  $additional = array('transaction_id'=>(string)$xmlRetorno->code);
108
  Mage::throwException('Um ou mais erros ocorreram no seu pagamento.' . PHP_EOL . implode(PHP_EOL,$errMsg));
109
  }
110
 
111
+ $payment->setSkipOrderProcessing(true);
112
+
113
  if(isset($xmlRetorno->code)){
114
 
115
  $additional = array('transaction_id'=>(string)$xmlRetorno->code);
app/code/community/RicardoMartins/PagSeguro/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <RicardoMartins_PagSeguro>
5
- <version>2.0.3</version>
6
  </RicardoMartins_PagSeguro>
7
  </modules>
8
  <global>
2
  <config>
3
  <modules>
4
  <RicardoMartins_PagSeguro>
5
+ <version>2.0.4</version>
6
  </RicardoMartins_PagSeguro>
7
  </modules>
8
  <global>
app/code/community/RicardoMartins/PagSeguro/etc/system.xml CHANGED
@@ -65,7 +65,7 @@
65
  <show_in_default>1</show_in_default>
66
  <show_in_website>1</show_in_website>
67
  <show_in_store>0</show_in_store>
68
- <comment><![CDATA[No modo de testes, os dados são enviados para sandbox do PagSeguro. Habilite o acesso à Sandbox <a href="http://sandbox.pagseguro.uol.com.br/" target="_blank">aqui</a>]]></comment>
69
  </sandbox>
70
  <sandbox_merchant_email translate="label">
71
  <label>E-mail Sandbox</label>
@@ -92,6 +92,44 @@
92
  <sandbox>1</sandbox>
93
  </depends>
94
  </sandbox_token>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
  <debug translate="label">
96
  <label>Debug</label>
97
  <frontend_type>select</frontend_type>
65
  <show_in_default>1</show_in_default>
66
  <show_in_website>1</show_in_website>
67
  <show_in_store>0</show_in_store>
68
+ <comment><![CDATA[No modo de testes, os dados são enviados para sandbox do PagSeguro. Habilite o acesso à Sandbox <a href="http://sandbox.pagseguro.uol.com.br/" target="_blank">aqui</a><br/>Obs: O modo Sandbox ainda não funciona no modelo de aplicação.]]></comment>
69
  </sandbox>
70
  <sandbox_merchant_email translate="label">
71
  <label>E-mail Sandbox</label>
92
  <sandbox>1</sandbox>
93
  </depends>
94
  </sandbox_token>
95
+ <!--<sandbox_appid>
96
+ <label>AppId Sandbox</label>
97
+ <frontend_type>text</frontend_type>
98
+ <comment>AppId fornecido na Sandbox para contas com modelo de aplicação</comment>
99
+ <show_in_default>1</show_in_default>
100
+ <show_in_website>1</show_in_website>
101
+ <show_in_store>0</show_in_store>
102
+ <sort_order>24</sort_order>
103
+ <depends>
104
+ <sandbox>1</sandbox>
105
+ </depends>
106
+ </sandbox_appid>
107
+ <sandbox_appkey>
108
+ <label>AppKey Sandbox</label>
109
+ <frontend_type>text</frontend_type>
110
+ <comment>AppKey fornecido na Sandbox para contas com modelo de aplicação</comment>
111
+ <show_in_default>1</show_in_default>
112
+ <show_in_website>1</show_in_website>
113
+ <show_in_store>0</show_in_store>
114
+ <sort_order>25</sort_order>
115
+ <depends>
116
+ <sandbox>1</sandbox>
117
+ </depends>
118
+ </sandbox_appkey>
119
+ <sandbox_appauthcode>
120
+ <label>Authorization Key Sandbox</label>
121
+ <frontend_type>text</frontend_type>
122
+ <comment><![CDATA[
123
+ Utilizado apenas no modo Sandbox. Clique aqui para autorizar sua aplicação no modo sandbox. Tenha os dados do <a href="https://sandbox.pagseguro.uol.com.br/aplicacao/configuracoes.html#virtual-seller-data">Vendedor de Testes</a> em mão.
124
+ ]]></comment>
125
+ <show_in_default>1</show_in_default>
126
+ <show_in_website>1</show_in_website>
127
+ <show_in_store>0</show_in_store>
128
+ <sort_order>26</sort_order>
129
+ <depends>
130
+ <sandbox>1</sandbox>
131
+ </depends>
132
+ </sandbox_appauthcode>-->
133
  <debug translate="label">
134
  <label>Debug</label>
135
  <frontend_type>select</frontend_type>
app/design/frontend/base/default/template/ricardomartins_pagseguro/form/directpayment.phtml CHANGED
@@ -4,16 +4,20 @@ $_helper = Mage::helper('ricardomartins_pagseguro');
4
  <input type="hidden" name="payment[sender_hash]"/>
5
  <script type="text/javascript">
6
  //<![CDATA[
7
- var iid = setInterval(function()
8
- {
9
- if(typeof PagSeguroDirectPayment != "undefined" && PagSeguroDirectPayment.ready){
10
- console.log('PagSeguro ready');
 
 
 
 
 
 
 
 
 
 
11
 
12
- clearInterval(iid);
13
- RMPagSeguro.updateSenderHash();
14
- RMPagSeguro.addBrandObserver();
15
- RMPagSeguro.addCardFieldsObserver();
16
- }
17
- }, 4000);
18
  //]]>
19
  </script>
4
  <input type="hidden" name="payment[sender_hash]"/>
5
  <script type="text/javascript">
6
  //<![CDATA[
7
+ var preparePagSeguro = function(){
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
+ RMPagSeguro.addBrandObserver();
16
+ RMPagSeguro.addCardFieldsObserver();
17
+ }
18
+ }, 4000);
19
+ }
20
+ preparePagSeguro();
21
 
 
 
 
 
 
 
22
  //]]>
23
  </script>
js/pagseguro/pagseguro.js CHANGED
@@ -11,8 +11,10 @@ document.observe("dom:loaded", function() {
11
  var senderHash = PagSeguroDirectPayment.getSenderHash();
12
  if(typeof senderHash != "undefined")
13
  {
14
- $$('input[name="payment[sender_hash]"]').first().value = senderHash;
15
- $$('input[name="payment[sender_hash]"]').first().enable();
 
 
16
  }
17
  }
18
 
11
  var senderHash = PagSeguroDirectPayment.getSenderHash();
12
  if(typeof senderHash != "undefined")
13
  {
14
+ if(typeof $$('input[name="payment[sender_hash]"]').first() != "undefined"){
15
+ $$('input[name="payment[sender_hash]"]').first().value = senderHash;
16
+ $$('input[name="payment[sender_hash]"]').first().enable();
17
+ }
18
  }
19
  }
20
 
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>RicardoMartins_PagSeguro</name>
4
- <version>2.0.3</version>
5
  <stability>stable</stability>
6
  <license>MIT</license>
7
  <channel>community</channel>
@@ -11,11 +11,11 @@
11
  Os dados do cart&#xE3;o s&#xE3;o enviados para o site do pagseguro de forma segura via https.</description>
12
  <notes>Vers&#xE3;o est&#xE1;vel.&#xD;
13
  &#xD;
14
- Os bugs devem ser reportador 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>2015-03-01</date>
17
- <time>16:18:18</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="3ec300291bfb59a545bfb99a23f2d670"/><file name="Directpayment.php" hash="937273e541d362f353b2bde87c041631"/><dir name="Info"><file name="Cc.php" hash="ef4952bfb9d12dae0b6ce13afeb0d1bb"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="86aaa614abfce783a8316bc5bc12dd65"/><file name="Internal.php" hash="fbf64a95060a3d2f47ef44bde57a5c70"/><file name="Params.php" hash="08810ebf498d274f0eadf07fc9ca6a24"/></dir><dir name="Model"><file name="Abstract.php" hash="ff297c28947c929bb44f98e63c474d76"/><file name="Observer.php" hash="e709c92bc86416ffdcfe2fda5b8a4d37"/><dir name="Payment"><file name="Cc.php" hash="e90824569c405dd113afbc45ee9b6f17"/></dir><dir name="Source"><dir name="Customer"><dir name="Address"><dir name="Attributes"><file name="Optional.php" hash="f25cdc6fe64c4e815cc9550e1d8f0977"/></dir><file name="Attributes.php" hash="01b0c102f051ec79fcf09feef3c79a63"/></dir><file name="Attributes.php" hash="4632cc4e9a67ef1d2633058def2c2e03"/><file name="Cpf.php" hash="fae15336acbf15a9bf43f7ae5e3fc9f2"/><file name="Dob.php" hash="ec1b44beafb11cd5dc30b8fe1aea2a74"/></dir><file name="Paymentmethods.php" hash="5ea1877c9f73a6dec6bc91900309a5a5"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Customer"><file name="Groups.php" hash="9649812c9f20e055ed1cb9fd92fbe656"/></dir></dir></dir></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="f4678d73ebdfa7419870d74ca7f651f7"/><file name="NotificationController.php" hash="ec75706a308d334fad9232d0a193833f"/><file name="TestController.php" hash="dc8831ab4de2bd10d62a3ff9b6397add"/></dir><dir name="etc"><file name="config.xml" hash="f41208109b6868907170fc01f58d32f7"/><file name="system.xml" hash="1241d9220e774cb9a76beb3d7052bab6"/></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="fef544ca8afd619526b9ea2a9d19e7e5"/><file name="directpayment.phtml" hash="f270246e0c95fedbb86b3337e2f033eb"/><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="d7f02da712e3bb310a6f785ebc36e3d3"/><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="7307814157df2a927163ead731232e6c"/></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.0.4</version>
5
  <stability>stable</stability>
6
  <license>MIT</license>
7
  <channel>community</channel>
11
  Os dados do cart&#xE3;o s&#xE3;o enviados para o site do pagseguro de forma segura via https.</description>
12
  <notes>Vers&#xE3;o est&#xE1;vel.&#xD;
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>2015-04-03</date>
17
+ <time>20:05:02</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="3ec300291bfb59a545bfb99a23f2d670"/><file name="Directpayment.php" hash="937273e541d362f353b2bde87c041631"/><dir name="Info"><file name="Cc.php" hash="ef4952bfb9d12dae0b6ce13afeb0d1bb"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="04042cc71f1f098b0513627f02c2cf0e"/><file name="Internal.php" hash="fbf64a95060a3d2f47ef44bde57a5c70"/><file name="Params.php" hash="ac7a5a794806a1881b81548977ea96c9"/></dir><dir name="Model"><file name="Abstract.php" hash="8489ad3cb2c7371e82b482be3e01a259"/><file name="Observer.php" hash="e709c92bc86416ffdcfe2fda5b8a4d37"/><dir name="Payment"><file name="Cc.php" hash="45cc744efc1d808f7661bcf611ba33e1"/></dir><dir name="Source"><dir name="Customer"><dir name="Address"><dir name="Attributes"><file name="Optional.php" hash="f25cdc6fe64c4e815cc9550e1d8f0977"/></dir><file name="Attributes.php" hash="01b0c102f051ec79fcf09feef3c79a63"/></dir><file name="Attributes.php" hash="4632cc4e9a67ef1d2633058def2c2e03"/><file name="Cpf.php" hash="fae15336acbf15a9bf43f7ae5e3fc9f2"/><file name="Dob.php" hash="ec1b44beafb11cd5dc30b8fe1aea2a74"/></dir><file name="Paymentmethods.php" hash="5ea1877c9f73a6dec6bc91900309a5a5"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Customer"><file name="Groups.php" hash="9649812c9f20e055ed1cb9fd92fbe656"/></dir></dir></dir></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="f4678d73ebdfa7419870d74ca7f651f7"/><file name="NotificationController.php" hash="ec75706a308d334fad9232d0a193833f"/><file name="TestController.php" hash="dc8831ab4de2bd10d62a3ff9b6397add"/></dir><dir name="etc"><file name="config.xml" hash="5d3aba1133889c0eaa004c93bb2e63cc"/><file name="system.xml" hash="c2325165f309d3cad495c9afb71e7c8d"/></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="fef544ca8afd619526b9ea2a9d19e7e5"/><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="d7f02da712e3bb310a6f785ebc36e3d3"/><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="db680c06c8b83319c33924739e6b0ad8"/></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>