RicardoMartins_PagSeguro - Version 1.0.13

Version Notes

Versão estável.

Os bugs devem ser reportador 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 1.0.13
Comparing to
See all releases


Code changes from version 1.0.9 to 1.0.13

app/code/community/RicardoMartins/PagSeguro/Helper/Params.php CHANGED
@@ -21,7 +21,7 @@ class RicardoMartins_PagSeguro_Helper_Params extends Mage_Core_Helper_Abstract
21
for($x=1, $y=0, $c=count($items); $x <= $c; $x++, $y++)
22
{
23
$retorno['itemId'.$x] = $items[$y]->getId();
24
- $retorno['itemDescription'.$x] = $this->normalizeChars($items[$y]->getName());
25
$retorno['itemAmount'.$x] = number_format($items[$y]->getPrice(),2,'.','');
26
$retorno['itemQuantity'.$x] = $items[$y]->getQtyOrdered();
27
}
@@ -47,7 +47,7 @@ class RicardoMartins_PagSeguro_Helper_Params extends Mage_Core_Helper_Abstract
47
48
$retorno = array(
49
'senderName' => sprintf('%s %s',trim($order->getCustomerFirstname()), trim($order->getCustomerLastname())),
50
- 'senderEmail' => $order->getCustomerEmail(),
51
'senderHash' => $payment['additional_information']['sender_hash'],
52
'senderCPF' => $digits->filter($cpf),
53
'senderAreaCode'=> $phone['area'],
@@ -140,12 +140,12 @@ class RicardoMartins_PagSeguro_Helper_Params extends Mage_Core_Helper_Abstract
140
141
142
$retorno = array(
143
- $type.'AddressStreet' => $this->normalizeChars($addressStreet),
144
- $type.'AddressNumber' => $addressNumber,
145
- $type.'AddressComplement' => $this->normalizeChars($addressComplement),
146
- $type.'AddressDistrict' => $this->normalizeChars($addressDistrict),
147
$type.'AddressPostalCode' => $addressPostalCode,
148
- $type.'AddressCity' => $this->normalizeChars($addressCity),
149
$type.'AddressState' => $addressState,
150
$type.'AddressCountry' => 'BRA',
151
);
@@ -158,6 +158,9 @@ class RicardoMartins_PagSeguro_Helper_Params extends Mage_Core_Helper_Abstract
158
$retorno['shippingType'] = $shippingType;
159
if($shippingCost > 0)
160
{
161
$retorno['shippingCost'] = number_format($shippingCost,2,'.','');
162
}
163
}
@@ -225,6 +228,9 @@ class RicardoMartins_PagSeguro_Helper_Params extends Mage_Core_Helper_Abstract
225
$discount = $order->getDiscountAmount();
226
$tax_amount = $order->getTaxAmount();
227
$extra = $discount+$tax_amount;
228
return number_format($extra,2, '.','');
229
}
230
@@ -342,4 +348,27 @@ class RicardoMartins_PagSeguro_Helper_Params extends Mage_Core_Helper_Abstract
342
return $cpf;
343
}
344
345
}
21
for($x=1, $y=0, $c=count($items); $x <= $c; $x++, $y++)
22
{
23
$retorno['itemId'.$x] = $items[$y]->getId();
24
+ $retorno['itemDescription'.$x] = substr($items[$y]->getName(), 0, 100);
25
$retorno['itemAmount'.$x] = number_format($items[$y]->getPrice(),2,'.','');
26
$retorno['itemQuantity'.$x] = $items[$y]->getQtyOrdered();
27
}
47
48
$retorno = array(
49
'senderName' => sprintf('%s %s',trim($order->getCustomerFirstname()), trim($order->getCustomerLastname())),
50
+ 'senderEmail' => trim($order->getCustomerEmail()),
51
'senderHash' => $payment['additional_information']['sender_hash'],
52
'senderCPF' => $digits->filter($cpf),
53
'senderAreaCode'=> $phone['area'],
140
141
142
$retorno = array(
143
+ $type.'AddressStreet' => substr($addressStreet,0,80),
144
+ $type.'AddressNumber' => substr($addressNumber,0,20),
145
+ $type.'AddressComplement' => substr($addressComplement,0,40),
146
+ $type.'AddressDistrict' => substr($addressDistrict,0,60),
147
$type.'AddressPostalCode' => $addressPostalCode,
148
+ $type.'AddressCity' => substr($addressCity,0,60),
149
$type.'AddressState' => $addressState,
150
$type.'AddressCountry' => 'BRA',
151
);
158
$retorno['shippingType'] = $shippingType;
159
if($shippingCost > 0)
160
{
161
+ if($this->_shouldSplit($order)){
162
+ $shippingCost -= 0.01;
163
+ }
164
$retorno['shippingCost'] = number_format($shippingCost,2,'.','');
165
}
166
}
228
$discount = $order->getDiscountAmount();
229
$tax_amount = $order->getTaxAmount();
230
$extra = $discount+$tax_amount;
231
+ if($this->_shouldSplit($order)){
232
+ $extra = $extra+0.01;
233
+ }
234
return number_format($extra,2, '.','');
235
}
236
348
return $cpf;
349
}
350
351
+
352
+ /**
353
+ * Se deve ou não dividir o frete.. Se o total de produtos for igual o
354
+ * totalde desconto, o modulo diminuirá 1 centavo do frete e adicionará
355
+ * ao valor dos itens, pois o PagSeguro não aceita que os produtos custem
356
+ * zero.
357
+ *
358
+ * @param $order
359
+ *
360
+ * @return bool
361
+ */
362
+ private function _shouldSplit($order)
363
+ {
364
+ $discount = $order->getDiscountAmount();
365
+ $tax_amount = $order->getTaxAmount();
366
+ $extraAmount = $discount+$tax_amount;
367
+
368
+ $totalAmount = 0;
369
+ foreach($order->getAllVisibleItems() as $item){
370
+ $totalAmount += $item->getRowTotal();
371
+ }
372
+ return (abs($extraAmount) == $totalAmount);
373
+ }
374
}
app/code/community/RicardoMartins/PagSeguro/Model/Abstract.php CHANGED
@@ -173,9 +173,10 @@ class RicardoMartins_PagSeguro_Model_Abstract extends Mage_Payment_Model_Method_
173
public function callApi($params, $payment)
174
{
175
$helper = Mage::helper('ricardomartins_pagseguro');
176
$client = new Zend_Http_Client($helper->getWsUrl('transactions'));
177
$client->setMethod(Zend_Http_Client::POST);
178
- $client->setConfig(array('timeout'=>30));
179
180
$client->setParameterPost($params); //parametros enviados via POST
181
@@ -208,4 +209,19 @@ class RicardoMartins_PagSeguro_Model_Abstract extends Mage_Payment_Model_Method_
208
209
return $xml;
210
}
211
}
173
public function callApi($params, $payment)
174
{
175
$helper = Mage::helper('ricardomartins_pagseguro');
176
+ $params = $this->_convertEnconding($params);
177
$client = new Zend_Http_Client($helper->getWsUrl('transactions'));
178
$client->setMethod(Zend_Http_Client::POST);
179
+ $client->setConfig(array('timeout'=>45));
180
181
$client->setParameterPost($params); //parametros enviados via POST
182
209
210
return $xml;
211
}
212
+
213
+ /**
214
+ * Converte os valores enviados à api para ISO-8859-1
215
+ * @param array $params
216
+ *
217
+ * @return array
218
+ */
219
+ protected function _convertEnconding(array $params)
220
+ {
221
+ foreach($params as $k => $v)
222
+ {
223
+ $params[$k] = utf8_decode($v);
224
+ }
225
+ return $params;
226
+ }
227
}
app/code/community/RicardoMartins/PagSeguro/Model/Payment/Cc.php CHANGED
@@ -14,6 +14,27 @@ class RicardoMartins_PagSeguro_Model_Payment_Cc extends RicardoMartins_PagSeguro
14
protected $_canUseForMultishipping = true;
15
protected $_canSaveCc = false;
16
17
public function assignData($data)
18
{
19
if(!($data instanceof Varien_Object)){
@@ -103,4 +124,9 @@ class RicardoMartins_PagSeguro_Model_Payment_Cc extends RicardoMartins_PagSeguro
103
return $this;
104
}
105
106
}
14
protected $_canUseForMultishipping = true;
15
protected $_canSaveCc = false;
16
17
+ public function isAvailable($quote = null)
18
+ {
19
+ $is_available = parent::isAvailable ($quote);
20
+ if (empty($quote)){
21
+ return $is_available;
22
+ }
23
+ if (Mage::getStoreConfigFlag("payment/pagseguro_cc/group_restriction")
24
+ == false) {
25
+ return true;
26
+ }
27
+
28
+ $current_group_id = $quote->getCustomerGroupId ();
29
+ $customer_groups = explode (',', $this->_getStoreConfig('customer_groups'));
30
+
31
+ if($is_available && in_array($current_group_id, $customer_groups)){
32
+ return true;
33
+ }
34
+
35
+ return false;
36
+ }
37
+
38
public function assignData($data)
39
{
40
if(!($data instanceof Varien_Object)){
124
return $this;
125
}
126
127
+ public function _getStoreConfig($field)
128
+ {
129
+ return Mage::getStoreConfig("payment/pagseguro_cc/{$field}");
130
+ }
131
+
132
}
app/code/community/RicardoMartins/PagSeguro/Model/System/Config/Source/Customer/Groups.php ADDED
@@ -0,0 +1,11 @@
1
+ <?php
2
+
3
+ class RicardoMartins_PagSeguro_Model_System_Config_Source_Customer_Groups
4
+ {
5
+ public function toOptionArray ()
6
+ {
7
+ return Mage::getModel('customer/group')->getCollection()
8
+ ->toOptionArray();
9
+ }
10
+ }
11
+
app/code/community/RicardoMartins/PagSeguro/controllers/AjaxController.php CHANGED
@@ -11,4 +11,13 @@ class RicardoMartins_PagSeguro_AjaxController extends Mage_Core_Controller_Front
11
$this->getResponse()->setHeader('Content-type','application/json');
12
$this->getResponse()->setBody(json_encode(array('total'=>$total)));
13
}
14
}
11
$this->getResponse()->setHeader('Content-type','application/json');
12
$this->getResponse()->setBody(json_encode(array('total'=>$total)));
13
}
14
+
15
+ public function getSessionIdAction()
16
+ {
17
+ $_helper = Mage::helper('ricardomartins_pagseguro');
18
+ $session_id = $_helper->getSessionId();
19
+
20
+ $this->getResponse()->setHeader('Content-type','application/json');
21
+ $this->getResponse()->setBody(json_encode(array('session_id'=>$session_id)));
22
+ }
23
}
app/code/community/RicardoMartins/PagSeguro/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
<config>
3
<modules>
4
<RicardoMartins_PagSeguro>
5
- <version>1.0.9</version>
6
</RicardoMartins_PagSeguro>
7
</modules>
8
<global>
@@ -64,6 +64,7 @@
64
<allowspecific>0</allowspecific>
65
<send_neworder_email>0</send_neworder_email>
66
<!--<specificcountry>BR</specificcountry>-->
67
</pagseguro_cc>
68
<pagseguro>
69
<customer_cpf_attribute>taxvat</customer_cpf_attribute>
2
<config>
3
<modules>
4
<RicardoMartins_PagSeguro>
5
+ <version>1.0.13</version>
6
</RicardoMartins_PagSeguro>
7
</modules>
8
<global>
64
<allowspecific>0</allowspecific>
65
<send_neworder_email>0</send_neworder_email>
66
<!--<specificcountry>BR</specificcountry>-->
67
+ <group_restriction>0</group_restriction>
68
</pagseguro_cc>
69
<pagseguro>
70
<customer_cpf_attribute>taxvat</customer_cpf_attribute>
app/code/community/RicardoMartins/PagSeguro/etc/system.xml CHANGED
@@ -221,6 +221,28 @@
221
<show_in_store>0</show_in_store>
222
<frontend_class>validate-number</frontend_class>
223
</sort_order>
224
</fields>
225
</pagseguro_cc>
226
</groups>
221
<show_in_store>0</show_in_store>
222
<frontend_class>validate-number</frontend_class>
223
</sort_order>
224
+ <group_restriction>
225
+ <label>Habilitar restrição por grupos</label>
226
+ <frontend_type>select</frontend_type>
227
+ <sort_order>50</sort_order>
228
+ <source_model>adminhtml/system_config_source_yesno</source_model>
229
+ <show_in_default>1</show_in_default>
230
+ <show_in_website>1</show_in_website>
231
+ <show_in_store>0</show_in_store>
232
+ </group_restriction>
233
+ <customer_groups>
234
+ <label>Grupos de Cliente</label>
235
+ <frontend_type>multiselect</frontend_type>
236
+ <source_model>ricardomartins_pagseguro/system_config_source_customer_groups</source_model>
237
+ <sort_order>60</sort_order>
238
+ <show_in_default>1</show_in_default>
239
+ <show_in_website>1</show_in_website>
240
+ <show_in_store>1</show_in_store>
241
+ <comment><![CDATA[Grupos de clientes que podem usar este método.]]></comment>
242
+ <depends>
243
+ <group_restriction>1</group_restriction>
244
+ </depends>
245
+ </customer_groups>
246
</fields>
247
</pagseguro_cc>
248
</groups>
app/design/frontend/base/default/template/ricardomartins_pagseguro/form/cc.phtml CHANGED
@@ -26,16 +26,17 @@ $_code=$this->getMethodCode();
26
<li id="<?php echo $_code ?>_cpf_div">
27
<label for="<?php echo $_code ?>_cpf" class="required"><em>*</em><?php echo $this->__('Credit Card Owner\'s CPF') ?></label>
28
<div class="input-box">
29
- <input type="text" id="<?php echo $_code ?>_cpf" name="payment[<?php echo $_code?>_cpf]" title="<?php echo $this->__('Credit Card Owner\'s CPF') ?>" class="input-text required-entry validate-digits" value=""/>
30
</div>
31
</li>
32
<?php endif ?>
33
<li>
34
<label for="<?php echo $_code ?>_cc_number" class="required"><em>*</em><?php echo $this->__('Credit Card Number') ?></label>
35
<div class="input-box">
36
- <input type="text" id="<?php echo $_code ?>_cc_number" name="payment[ps_cc_number]" title="<?php echo $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type" value=""/>
37
- <?php #nao remover os 3 campos abaixo ?>
38
- <span id="card-brand" style="text-transform: capitalize;"></span>
39
<input type="hidden" name="payment[ps_card_type]"/>
40
<input type="hidden" name="payment[credit_card_token]"/>
41
</div>
@@ -65,7 +66,7 @@ $_code=$this->getMethodCode();
65
<label for="<?php echo $_code ?>_cc_cid" class="required"><em>*</em><?php echo $this->__('Card Verification Number') ?></label>
66
<div class="input-box">
67
<div class="v-fix">
68
- <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="" />
69
</div>
70
<a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
71
</div>
26
<li id="<?php echo $_code ?>_cpf_div">
27
<label for="<?php echo $_code ?>_cpf" class="required"><em>*</em><?php echo $this->__('Credit Card Owner\'s CPF') ?></label>
28
<div class="input-box">
29
+ <input type="text" id="<?php echo $_code ?>_cpf" name="payment[<?php echo $_code?>_cpf]" title="<?php echo $this->__('Credit Card Owner\'s CPF') ?>" class="input-text required-entry validate-digits" value="" maxlength="11"/>
30
</div>
31
</li>
32
<?php endif ?>
33
<li>
34
<label for="<?php echo $_code ?>_cc_number" class="required"><em>*</em><?php echo $this->__('Credit Card Number') ?></label>
35
<div class="input-box">
36
+ <input type="text" id="<?php echo $_code ?>_cc_number" name="payment[ps_cc_number]" title="<?php echo $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type required-entry" value="" maxlength="16"/>
37
+ <?php #nao remover os campos abaixo ?>
38
+ <span id="card-brand" style="text-transform: capitalize; display: block;"></span>
39
+ <span id="card-msg" style="color: red;clear:left; display: block;"></span>
40
<input type="hidden" name="payment[ps_card_type]"/>
41
<input type="hidden" name="payment[credit_card_token]"/>
42
</div>
66
<label for="<?php echo $_code ?>_cc_cid" class="required"><em>*</em><?php echo $this->__('Card Verification Number') ?></label>
67
<div class="input-box">
68
<div class="v-fix">
69
+ <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"/>
70
</div>
71
<a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
72
</div>
app/design/frontend/base/default/template/ricardomartins_pagseguro/form/cc/dob.phtml CHANGED
@@ -54,21 +54,21 @@ NOTE: Regarding styles - if we leave it this way, we'll move it to boxes.css
54
<?php
55
$this->setDateInput('d',
56
'<div class="dob-day">
57
- <input type="text" id="' . $this->getFieldId('day') . '" name="' . $this->getFieldName('day') . '" value="' . $this->getDay() . '" title="' . $this->__('Day') . '" class="input-text validate-custom" ' . $this->getFieldParams() . ' />
58
<label for="' . $this->getFieldId('day') . '">' . $this->__('DD') . '</label>
59
</div>'
60
);
61
62
$this->setDateInput('m',
63
'<div class="dob-month">
64
- <input type="text" id="' . $this->getFieldId('month') . '" name="' . $this->getFieldName('month') . '" value="' . $this->getMonth() . '" title="' . $this->__('Month') . '" class="input-text validate-custom" ' . $this->getFieldParams() . ' />
65
<label for="' . $this->getFieldId('month') . '">' . $this->__('MM') . '</label>
66
</div>'
67
);
68
69
$this->setDateInput('y',
70
'<div class="dob-year">
71
- <input type="text" id="' . $this->getFieldId('year') . '" name="' . $this->getFieldName('year') . '" value="' . $this->getYear() . '" title="' . $this->__('Year') . '" class="input-text validate-custom" ' . $this->getFieldParams() . ' />
72
<label for="' . $this->getFieldId('year') . '">' . $this->__('YYYY') . '</label>
73
</div>'
74
);
54
<?php
55
$this->setDateInput('d',
56
'<div class="dob-day">
57
+ <input type="text" maxlength="2" id="' . $this->getFieldId('day') . '" name="' . $this->getFieldName('day') . '" value="' . $this->getDay() . '" title="' . $this->__('Day') . '" class="input-text validate-custom" ' . $this->getFieldParams() . ' />
58
<label for="' . $this->getFieldId('day') . '">' . $this->__('DD') . '</label>
59
</div>'
60
);
61
62
$this->setDateInput('m',
63
'<div class="dob-month">
64
+ <input type="text" maxlength="2" id="' . $this->getFieldId('month') . '" name="' . $this->getFieldName('month') . '" value="' . $this->getMonth() . '" title="' . $this->__('Month') . '" class="input-text validate-custom" ' . $this->getFieldParams() . ' />
65
<label for="' . $this->getFieldId('month') . '">' . $this->__('MM') . '</label>
66
</div>'
67
);
68
69
$this->setDateInput('y',
70
'<div class="dob-year">
71
+ <input type="text" maxlength="4" id="' . $this->getFieldId('year') . '" name="' . $this->getFieldName('year') . '" value="' . $this->getYear() . '" title="' . $this->__('Year') . '" class="input-text validate-custom" ' . $this->getFieldParams() . ' />
72
<label for="' . $this->getFieldId('year') . '">' . $this->__('YYYY') . '</label>
73
</div>'
74
);
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 0.2.0
6
*/
7
document.observe("dom:loaded", function() {
8
RMPagSeguro = function RMPagSeguro(){};
@@ -41,27 +41,47 @@ document.observe("dom:loaded", function() {
41
42
RMPagSeguro.updateCreditCardToken = function(){
43
var ccNum = $('input[name="payment[ps_cc_number]"]').first().value.replace(/^\s+|\s+#x2F;g,'');
44
var ccExpMo = $('select[name="payment[ps_cc_exp_month]"]').first().value;
45
var ccExpYr = $('select[name="payment[ps_cc_exp_year]"]').first().value;
46
var ccCvv = $('input[name="payment[ps_cc_cid]"]').first().value;
47
var ccTokenElm = $('input[name="payment[credit_card_token]"]').first();
48
49
if(ccNum.length > 6 && ccExpMo != "" && ccExpYr != "" && ccCvv.length >= 3)
50
{
51
PagSeguroDirectPayment.createCardToken({
52
cardNumber: ccNum,
53
- brand: RMPagSeguro.brand.name,
54
cvv: ccCvv,
55
expirationMonth: ccExpMo,
56
expirationYear: ccExpYr,
57
success: function(psresponse){
58
ccTokenElm.value = psresponse.card.token;
59
},
60
error: function(psresponse){
61
console.log('Falha ao obter o token do cartao.');
62
},
63
complete: function(psresponse){
64
- // console.log(psresponse);
65
RMPagSeguro.reCheckSenderHash();
66
}
67
});
@@ -130,5 +150,14 @@ document.observe("dom:loaded", function() {
130
}
131
}
132
133
134
});
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 0.2.2
6
*/
7
document.observe("dom:loaded", function() {
8
RMPagSeguro = function RMPagSeguro(){};
41
42
RMPagSeguro.updateCreditCardToken = function(){
43
var ccNum = $('input[name="payment[ps_cc_number]"]').first().value.replace(/^\s+|\s+#x2F;g,'');
44
+ var ccNumElm = $('input[name="payment[ps_cc_number]"]').first();
45
var ccExpMo = $('select[name="payment[ps_cc_exp_month]"]').first().value;
46
var ccExpYr = $('select[name="payment[ps_cc_exp_year]"]').first().value;
47
var ccCvv = $('input[name="payment[ps_cc_cid]"]').first().value;
48
var ccTokenElm = $('input[name="payment[credit_card_token]"]').first();
49
+ var brandName = '';
50
+ if(undefined != RMPagSeguro.brand){
51
+ brandName = RMPagSeguro.brand.name;
52
+ }
53
54
if(ccNum.length > 6 && ccExpMo != "" && ccExpYr != "" && ccCvv.length >= 3)
55
{
56
PagSeguroDirectPayment.createCardToken({
57
cardNumber: ccNum,
58
+ brand: brandName,
59
cvv: ccCvv,
60
expirationMonth: ccExpMo,
61
expirationYear: ccExpYr,
62
success: function(psresponse){
63
ccTokenElm.value = psresponse.card.token;
64
+ $('card-msg').innerHTML = '';
65
},
66
error: function(psresponse){
67
+ if(undefined!=psresponse.errors["30400"]) {
68
+ $('card-msg').innerHTML = 'Dados do cartão inválidos.';
69
+ }else if(undefined!=psresponse.errors["10001"]){
70
+ $('card-msg').innerHTML = 'Tamanho do cartão inválido.';
71
+ }else if(undefined!=psresponse.errors["10006"]){
72
+ $('card-msg').innerHTML = 'Tamanho do CVV inválido.';
73
+ }else if(undefined!=psresponse.errors["30405"]){
74
+ $('card-msg').innerHTML = 'Data de validade incorreta.';
75
+ }else if(undefined!=psresponse.errors["30403"]){
76
+ RMPagSeguro.updateSessionId(); //Se sessao expirar, atualizamos a session
77
+ }else{
78
+ $('card-msg').innerHTML = 'Verifique os dados do cartão digitado.';
79
+ }
80
console.log('Falha ao obter o token do cartao.');
81
+ console.log(psresponse.errors);
82
},
83
complete: function(psresponse){
84
+ //console.log(psresponse);
85
RMPagSeguro.reCheckSenderHash();
86
}
87
});
150
}
151
}
152
153
+ RMPagSeguro.updateSessionId = function() {
154
+ var _url = RMPagSeguroSiteBaseURL + 'pseguro/ajax/getSessionId';
155
+ new Ajax.Request(_url, {
156
+ onSuccess: function (response) {
157
+ var session_id = response.responseJSON.session_id;
158
+ PagSeguroDirectPayment.setSessionId(session_id);
159
+ }
160
+ });
161
+ }
162
163
});
package.xml CHANGED
@@ -1,7 +1,7 @@
1
<?xml version="1.0"?>
2
<package>
3
<name>RicardoMartins_PagSeguro</name>
4
- <version>1.0.9</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 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>2014-08-24</date>
17
- <time>16:38: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="57cbe8b75ae926b3f2e7561e0f191184"/><file name="Internal.php" hash="fbf64a95060a3d2f47ef44bde57a5c70"/><file name="Params.php" hash="1d6136a6ce7ac3a4131f8867c6d9a656"/></dir><dir name="Model"><file name="Abstract.php" hash="6a0524efae66ed271190d0cbc112cf6f"/><file name="Observer.php" hash="e709c92bc86416ffdcfe2fda5b8a4d37"/><dir name="Payment"><file name="Cc.php" hash="6ddccdedab9b67640949515e3ddad4f4"/></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="037bd96ec4975c3587295e6bc1c2f43c"/><file name="Dob.php" hash="ec1b44beafb11cd5dc30b8fe1aea2a74"/></dir><file name="Paymentmethods.php" hash="5ea1877c9f73a6dec6bc91900309a5a5"/></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="9b6c47c1c81e32168c447d3f67faaffd"/><file name="NotificationController.php" hash="47641a62f0d1850ea7711d997bfa1fa5"/><file name="TestController.php" hash="b0d6a8e347b45f3013435a4c2ac4a16b"/></dir><dir name="etc"><file name="config.xml" hash="65ec5d798f66e90adeb2b0bef2e63937"/><file name="system.xml" hash="3267009c7a36dd07a1181f47a6283eee"/></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="bc2444ea954caf1b63603c37cfabedff"/></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="03068913a3009b836a24d64d2094c983"/><file name="directpayment.phtml" hash="e4c2ed8d53d1334f6715f3c6fb638369"/><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="0be6fd340e0be7af5a6f07a280cfc059"/></dir></dir></target></contents>
19
<compatible/>
20
- <dependencies><required><php><min>5.2.1</min><max>5.5.16</max></php></required></dependencies>
21
</package>
1
<?xml version="1.0"?>
2
<package>
3
<name>RicardoMartins_PagSeguro</name>
4
+ <version>1.0.13</version>
5
<stability>stable</stability>
6
<license>MIT</license>
7
<channel>community</channel>
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>2014-10-23</date>
17
+ <time>00:08:27</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="57cbe8b75ae926b3f2e7561e0f191184"/><file name="Internal.php" hash="fbf64a95060a3d2f47ef44bde57a5c70"/><file name="Params.php" hash="40f9780ced1f4545441a66226432daee"/></dir><dir name="Model"><file name="Abstract.php" hash="5d82cd2de41bff2c5e78dd3dc31f593b"/><file name="Observer.php" hash="e709c92bc86416ffdcfe2fda5b8a4d37"/><dir name="Payment"><file name="Cc.php" hash="ecfec49878d375d701068be6d4526740"/></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="037bd96ec4975c3587295e6bc1c2f43c"/><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="e95043b5da35be441bf8b1e8f64007d1"/><file name="NotificationController.php" hash="47641a62f0d1850ea7711d997bfa1fa5"/><file name="TestController.php" hash="b0d6a8e347b45f3013435a4c2ac4a16b"/></dir><dir name="etc"><file name="config.xml" hash="c6bf384c6acddfda85a1e951e360b278"/><file name="system.xml" hash="bfb232212cbae79463cf74202f20b8f0"/></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="bc2444ea954caf1b63603c37cfabedff"/></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="ed953a0e3ae788025653c7318e7c5777"/></dir><file name="cc.phtml" hash="fef544ca8afd619526b9ea2a9d19e7e5"/><file name="directpayment.phtml" hash="e4c2ed8d53d1334f6715f3c6fb638369"/><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="06ad1084da010774c1cf045944b3797a"/></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>