Skip to content
This repository was archived by the owner on Apr 24, 2023. It is now read-only.

Commit 1c35f42

Browse files
authored
Merge pull request #63 from pagseguro/desenvolvimento
fix: errors in checkout page when pagseguro credentials are invalid
2 parents c0d8137 + 58cecfb commit 1c35f42

File tree

13 files changed

+64
-11
lines changed

13 files changed

+64
-11
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
Changelog
22
---------
3+
3.2.1
4+
- Corrigido bug ao exibir o formulário de checkout quando as credencias do PagSeguro eram inválidas.
5+
- Adicionada mensagem de credenciais inválidas ao salvar as configurações no admin e ocultando os meios de pagamento do PagSeguro na tela de pagamento caso as credenciais salvas sejam inválidas.
6+
37
3.2.0
48
- Alterado fluxo do checkout transparente para o fluxo padrão do Magento (onepage)
59
- Atualizada tela de cofiguração do módulo (admin), adicionando categorias e possibilitando habilitar métodos transparentes (boleto, débito online e cartão de crédito) individualmente

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Com o módulo instalado e configurado, você pode pode oferecer o PagSeguro como
3030
3131
- Certifique-se de que não há instalação de outros módulos para o PagSeguro em seu sistema;
3232
- Caso utilize a compilação do Magento, desative-a e limpe-a *(Sistema -> Ferramentas -> Compilação)*;
33-
- Baixe a última versão do módulo **[nesse link](https://github.com/pagseguro/magento/raw/master/UOL_PagSeguro-3.2.0.tgz)** ou então baixe o repositório como arquivo zip através do botão do GitHub;
33+
- Baixe a última versão do módulo **[nesse link](https://github.com/pagseguro/magento/raw/master/UOL_PagSeguro-3.2.1.tgz)** ou então baixe o repositório como arquivo zip através do botão do GitHub;
3434
- Na área administrativa do seu Magento, acesse o menu *Sistema/System -> Magento Connect -> Magento Connect Manager*. Caso tenha uma versão anterior do módulo instalada faça a remoção agora;
3535
- No Magento Connect Manger, dentro da seção Direct package file upload, clique em **Escolher arquivo/Choose file**, selecione o arquivo UOL_PagSeguro-x.x.x.tgz (baixado anteriormente), clique no botão de upload e acompanhe a instalação do módulo no console da página;
3636
- Caso utilize a compilação, volte para a área administrativa do Magento, ative-a e execute-a novamente;

UOL_PagSeguro-3.2.0.tgz

-486 KB
Binary file not shown.

UOL_PagSeguro-3.2.1.tgz

486 KB
Binary file not shown.

app/code/community/UOL/PagSeguro/Helper/Data.php

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -137,17 +137,13 @@ private function removeEnvironmentNotice($table, $id)
137137
*/
138138
final public function checkCredentials()
139139
{
140-
$date = new DateTime ("now");
141-
$date->setTimezone(new DateTimeZone ("America/Sao_Paulo"));
142-
$date->sub(new DateInterval ('P1D'));
143-
$date->setTime(00, 00, 00);
144-
$date = $date->format("Y-m-d\TH:i:s");
140+
$yesterday = new DateTime('yesterday');
145141
$useCache = Mage::app()->useCache();
146142
if ($useCache['config']) {
147143
Mage::app()->getCacheInstance()->flush();
148144
}
149145
try {
150-
$this->webserviceHelper()->getTransactionsByDate(1, 1, $date);
146+
$this->webserviceHelper()->getTransactionsByDate(1, 1, $yesterday->format('Y-m-d\TH:i'));
151147
Mage::getConfig()->saveConfig('uol_pagseguro/store/credentials', 1);
152148
} catch (Exception $e) {
153149
Mage::getConfig()->saveConfig('uol_pagseguro/store/credentials', 0);

app/code/community/UOL/PagSeguro/Helper/Webservice.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public function getTransactionsByDate($page, $maxPageResults, $initialDate)
114114
array('initial_date' => $initialDate, 'page' => $page, 'max_per_page' => $maxPageResults)
115115
);
116116
} catch (Exception $e) {
117-
if (trim($e->getMessage()) == '[HTTP 401] - UNAUTHORIZED') {
117+
if (trim($e->getMessage()) == '[HTTP 401] - UNAUTHORIZED' || $e->getCode() == 401) {
118118
throw new Exception($e->getMessage());
119119
}
120120
}

app/code/community/UOL/PagSeguro/Model/Boleto.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,14 @@ public function getOrderPlaceRedirectUrl()
5252
return Mage::getUrl('pagseguro/payment/request');
5353
}
5454

55+
/**
56+
* If pagseguro credentials are invalid, disable payment method
57+
* @param Mage_Sales_Model_Quote $quote
58+
* @return bool
59+
*/
60+
public function isAvailable($quote = null)
61+
{
62+
$enablePaymentMethod = (Mage::getStoreConfig("uol_pagseguro/store/credentials") == 1) ? true : false;
63+
return parent::isAvailable($quote) && $enablePaymentMethod;
64+
}
5565
}

app/code/community/UOL/PagSeguro/Model/CreditCard.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,15 @@ public function getOrderPlaceRedirectUrl()
8787
{
8888
return Mage::getUrl('pagseguro/payment/request');
8989
}
90+
91+
/**
92+
* If pagseguro credentials are invalid, disable payment method
93+
* @param Mage_Sales_Model_Quote $quote
94+
* @return bool
95+
*/
96+
public function isAvailable($quote = null)
97+
{
98+
$enablePaymentMethod = (Mage::getStoreConfig("uol_pagseguro/store/credentials") == 1) ? true : false;
99+
return parent::isAvailable($quote) && $enablePaymentMethod;
100+
}
90101
}

app/code/community/UOL/PagSeguro/Model/Observer.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,15 @@ public function adminSystemConfigPaymentSave()
6565
}
6666

6767
if (Mage::getStoreConfig("payment/pagseguro/email") && Mage::getStoreConfig("payment/pagseguro/token")) {
68-
Mage::helper('pagseguro')->checkCredentials();
68+
try {
69+
Mage::helper('pagseguro')->checkCredentials();
70+
} catch (Exception $exc) {
71+
Mage::getSingleton('core/session')->addError(
72+
'PagSeguro: Credenciais (EMAIL ou TOKEN) inválidas para o AMBIENTE selecionado.'
73+
. 'Não será possível utilizar nenhum tipo de checkout enquanto não '
74+
. 'forem salvas credenciais válidas.'
75+
);
76+
}
6977
} else {
7078
throw new Exception("Certifique-se de que o e-mail e token foram preenchidos.");
7179
}

app/code/community/UOL/PagSeguro/Model/OnlineDebit.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,14 @@ public function getOrderPlaceRedirectUrl()
6666
return Mage::getUrl('pagseguro/payment/request');
6767
}
6868

69+
/**
70+
* If pagseguro credentials are invalid, disable payment method
71+
* @param Mage_Sales_Model_Quote $quote
72+
* @return bool
73+
*/
74+
public function isAvailable($quote = null)
75+
{
76+
$enablePaymentMethod = (Mage::getStoreConfig("uol_pagseguro/store/credentials") == 1) ? true : false;
77+
return parent::isAvailable($quote) && $enablePaymentMethod;
78+
}
6979
}

0 commit comments

Comments
 (0)