diff --git a/CHANGELOG.md b/CHANGELOG.md
index 21795b6..aecd62e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
Changelog
---------
+3.2.0
+- Alterado fluxo do checkout transparente para o fluxo padrão do Magento (onepage)
+- 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
+
3.1.0
- Adicionada biblioteca de máscaras (Vannila-Masker)
- Corrigidos bugs no checkout transparente
diff --git a/README.md b/README.md
index 47c991f..3e2759e 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,17 @@ Com o módulo instalado e configurado, você pode pode oferecer o PagSeguro como
- Integração com a [API de Pagamentos](https://dev.pagseguro.uol.com.br/documentacao/pagamentos)
- Integração com a [API de Notificações](https://pagseguro.uol.com.br/v2/guia-de-integracao/api-de-notificacoes.html#!rmcl)
+## Índice
+**[Requisitos](#requisitos)**
+**[Instalação](#instalação)**
+**[Configuração](#configuração)**
+**[Transações](#transações)**
+**[Dúvidas](#dúvidas)**
+**[Changelog](#changelog)**
+**[Notas](#notas)**
+**[Contribuições](#contribuições)**
+**[Licença](#licença)**
+
## Requisitos
- [Magento](https://www.magentocommerce.com/) Community 1.9.0 até 1.9.3.4 (ainda em fase de testes nas versões 1.6.x, 1.7.x, 1.8.x)
- [PHP](http://www.php.net/) 5.4.27+, 5.5.x+, 5.6.x+ (ainda em fase de testes nas versões 7.x)
@@ -19,10 +30,11 @@ Com o módulo instalado e configurado, você pode pode oferecer o PagSeguro como
- Certifique-se de que não há instalação de outros módulos para o PagSeguro em seu sistema;
- Caso utilize a compilação do Magento, desative-a e limpe-a *(Sistema -> Ferramentas -> Compilação)*;
-- Baixe a última versão do módulo **[nesse link](https://github.com/pagseguro/magento/raw/master/UOL_PagSeguro-3.1.0.tgz)** ou então baixe o repositório como arquivo zip através do botão do GitHub;
+- 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;
- 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;
- 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;
- Caso utilize a compilação, volte para a área administrativa do Magento, ative-a e execute-a novamente;
+- Pronto, ao finalizar o processo o módulo do PagSeguro estará instalando no seu Magento! Siga para a [próxima seção](#configuração) para configurar e começar a usar o módulo.
> Caso tenha uma versão do módulo do PagSeguro anterior à 2.3 instalada, copie o arquivo *remove-module-2.2.php* para a raíz de instalação do seu Magento e execute o arquivo no browser, ex.: www.meusite.com.br/magento/remove-module-2.2.php. Siga as instruções na tela para a remoção dos arquivos.
@@ -31,8 +43,9 @@ Configuração
---
Para acessar e configurar o módulo acesse o menu PagSeguro -> Configurações. As opções disponíveis estão descritas abaixo.
- - **ativar módulo**: ativa/desativa o módulo.
- - **nome de exibição**: define o nome que será utilizado para o meio de pagamento na tela de checkout.
+ -------------------------
+ **Configurações Gerais**
+
- **ambiente**: especifica em que ambiente as transações serão feitas *(produção/sandbox)*.
- **e-mail**: e-mail cadastrado no PagSeguro.
- **token**: token cadastrado no PagSeguro.
@@ -43,7 +56,6 @@ Para acessar e configurar o módulo acesse o menu PagSeguro -> Configurações.
- **ativar log**: ativa/desativa a geração de logs.
- **diretório**: informe o local e nome do arquivo a partir da raíz de instalação do Magento onde se deseja criar o arquivo de log. Ex.: /pagseguro.log.
- *Por padrão o módulo virá configurado para salvar o arquivo de log em /var/pagseguro.log*.
- - **checkout**: especifica o modelo de checkout que será utilizado. É possível escolher entre checkout padrão, checkout lightbox e checkout transparente.
- **listar transações abandonadas?**: ativa/desativa a pesquisa de transações que foram abandonadas no checkout do PagSeguro.
- **template de e-mail**: define qual o template de email sua loja usuará para o envio do email de recuperação de venda.
- **oferecer desconto para ...**: ativa/desativa desconto para checkouts utilizando este meio de pagamento
@@ -51,6 +63,30 @@ Para acessar e configurar o módulo acesse o menu PagSeguro -> Configurações.
- **transações -> abandonadas**: permite consultar as transações que foram abandonadas nos últimos 10 dias, desta forma você pode enviar emails de recuperação de venda. O e-mail conterá um link que redirecionará o comprador para o fluxo de pagamento, exatamente no ponto onde ele parou.
- **listar parcelamento**: Habilita a exibição de uma listagem de parcelas na tela de visualização do produto. (Irá exibir o maior parcelamento disponível para o produto na tela de exibição do mesmo)
+ -------------------------
+ **Configurar Tipos de Checkout**
+
+ - *PagSeguro (Padrão ou Lightbox)*
+ - **ativar**: ativa/desativa o meio de pagamento PagSeguro (padrão ou lightbox).
+ - **nome de exibição**: define o nome que será utilizado para o meio de pagamento na tela de checkout.
+ - **checkout**: especifica o modelo de checkout que será utilizado. É possível escolher entre checkout padrão ou checkout lightbox.
+
+
+ - *Checkout Transparente - Cartão de Crédito*
+ - **ativar**: ativa/desativa o meio de pagamento Checkout Transparente - Cartão de Crédito.
+ - **nome de exibição**: define o nome que será utilizado para esse meio de pagamento na tela de checkout.
+
+
+ - *Checkout Transparente - Boleto Bancário*
+ - **ativar**: ativa/desativa o meio de pagamento Checkout Transparente - Boleto Bancário.
+ - **nome de exibição**: define o nome que será utilizado para esse meio de pagamento na tela de checkout.
+
+
+ - *Checkout Transparente - Débito Online*
+ - **ativar**: ativa/desativa o meio de pagamento Checkout Transparente - Débito Online.
+ - **nome de exibição**: define o nome que será utilizado para esse meio de pagamento na tela de checkout.
+
+
Transações
------------
---
diff --git a/UOL_PagSeguro-3.1.0.tgz b/UOL_PagSeguro-3.1.0.tgz
deleted file mode 100644
index 9e7e0f2..0000000
Binary files a/UOL_PagSeguro-3.1.0.tgz and /dev/null differ
diff --git a/UOL_PagSeguro-3.2.0.tgz b/UOL_PagSeguro-3.2.0.tgz
new file mode 100644
index 0000000..fe8a15d
Binary files /dev/null and b/UOL_PagSeguro-3.2.0.tgz differ
diff --git a/app/code/community/UOL/PagSeguro/Block/Form/Boleto.php b/app/code/community/UOL/PagSeguro/Block/Form/Boleto.php
new file mode 100644
index 0000000..e4bd30b
--- /dev/null
+++ b/app/code/community/UOL/PagSeguro/Block/Form/Boleto.php
@@ -0,0 +1,23 @@
+setBoletoSession($paymentModel->getSession());
+ $this->setTemplate('uol/pagseguro/form/boleto.phtml');
+ }
+
+ protected function _prepareLayout()
+ {
+ if ($this->getLayout()->getBlock('head')) {
+ $this->getLayout()->getBlock('head')->addItem('skin_js', 'uol/pagseguro/js/direct-payment.js');
+ $this->getLayout()->getBlock('head')->addItem('skin_js', 'uol/pagseguro/js/boleto.js');
+ $this->getLayout()->getBlock('head')->addItem('skin_css', 'uol/pagseguro/css/direct-payment.css');
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/code/community/UOL/PagSeguro/Block/Form/CreditCard.php b/app/code/community/UOL/PagSeguro/Block/Form/CreditCard.php
new file mode 100644
index 0000000..9d8a143
--- /dev/null
+++ b/app/code/community/UOL/PagSeguro/Block/Form/CreditCard.php
@@ -0,0 +1,26 @@
+getQuote()->getTotals()['grand_total'];
+ $this->setGrandTotal($totals->getData()['value']);
+
+ $paymentModel = Mage::getSingleton('UOL_PagSeguro_Model_PaymentMethod');
+ $this->setCreditCardSession($paymentModel->getSession());
+ $this->setTemplate('uol/pagseguro/form/creditcard.phtml');
+ }
+
+ protected function _prepareLayout()
+ {
+ if ($this->getLayout()->getBlock('head')) {
+ $this->getLayout()->getBlock('head')->addItem('skin_js', 'uol/pagseguro/js/direct-payment.js');
+ $this->getLayout()->getBlock('head')->addItem('skin_js', 'uol/pagseguro/js/credit-card.js');
+ $this->getLayout()->getBlock('head')->addItem('skin_css', 'uol/pagseguro/css/direct-payment.css');
+ }
+ }
+}
diff --git a/app/code/community/UOL/PagSeguro/Block/Form/OnlineDebit.php b/app/code/community/UOL/PagSeguro/Block/Form/OnlineDebit.php
new file mode 100644
index 0000000..a0e7045
--- /dev/null
+++ b/app/code/community/UOL/PagSeguro/Block/Form/OnlineDebit.php
@@ -0,0 +1,23 @@
+setOnlineDebitSession($paymentModel->getSession());
+ $this->setTemplate('uol/pagseguro/form/onlinedebit.phtml');
+ }
+
+ protected function _prepareLayout()
+ {
+ if ($this->getLayout()->getBlock('head')) {
+ $this->getLayout()->getBlock('head')->addItem('skin_js', 'uol/pagseguro/js/direct-payment.js');
+ $this->getLayout()->getBlock('head')->addItem('skin_js', 'uol/pagseguro/js/online-debit.js');
+ $this->getLayout()->getBlock('head')->addItem('skin_css', 'uol/pagseguro/css/direct-payment.css');
+ }
+ }
+}
diff --git a/app/code/community/UOL/PagSeguro/Helper/Data.php b/app/code/community/UOL/PagSeguro/Helper/Data.php
index a1255a5..930dce4 100644
--- a/app/code/community/UOL/PagSeguro/Helper/Data.php
+++ b/app/code/community/UOL/PagSeguro/Helper/Data.php
@@ -574,4 +574,36 @@ protected function getOrderMagetoDateConvert($date)
{
return date("d/m/Y H:i:s", Mage::getModel("core/date")->timestamp($date));
}
+
+ public function getPagSeguroDirectPaymentJs()
+ {
+ if (Mage::getStoreConfig('payment/pagseguro/environment') === 'production') {
+ return 'https://stc.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.directpayment.js';
+ }
+
+ return 'https://stc.sandbox.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.directpayment.js';
+ }
+
+ /**
+ * Format original document and return it as an array, with it "washed" value
+ * and type
+ * @param string $document
+ * @return array
+ * @throws Exception
+ */
+ public function formatDocument($document)
+ {
+ $documentNumbers = preg_replace('/[^0-9]/', '', $document);
+ switch (strlen($documentNumbers)) {
+ case 14:
+ return ['number' => $documentNumbers, 'type' => 'CNPJ'];
+ break;
+ case 11:
+ return ['number' => $documentNumbers, 'type' => 'CPF'];
+ break;
+ default:
+ throw new Exception('Invalid document');
+ break;
+ }
+ }
}
diff --git a/app/code/community/UOL/PagSeguro/Helper/Requirements.php b/app/code/community/UOL/PagSeguro/Helper/Requirements.php
index a710659..de3f0de 100644
--- a/app/code/community/UOL/PagSeguro/Helper/Requirements.php
+++ b/app/code/community/UOL/PagSeguro/Helper/Requirements.php
@@ -33,11 +33,11 @@ public function validateRequirements()
$version = str_replace('.', '', phpversion());
if ($version < 540) {
- $msg = $this->__('PagSeguroLibrary: É necessária a versão 5.4.0 do PHP ou maior.');
+ $msg = $this->__('PagSeguroLibrary: É necessária a versão 5.4.27 do PHP ou maior.');
$req['version']['text'] = $msg;
$req['version']['status'] = false;
} else {
- $req['version']['text'] = $this->__('Versão do PHP superior à 5.4.0.');
+ $req['version']['text'] = $this->__('Versão do PHP superior à 5.4.27.');
$req['version']['status'] = true;
}
diff --git a/app/code/community/UOL/PagSeguro/Model/Boleto.php b/app/code/community/UOL/PagSeguro/Model/Boleto.php
new file mode 100644
index 0000000..5b335de
--- /dev/null
+++ b/app/code/community/UOL/PagSeguro/Model/Boleto.php
@@ -0,0 +1,55 @@
+getInfoInstance();
+
+ if ($data->getBoletoCpf()) {
+ $info->setBoletoCpf($data->getBoletoCpf());
+ }
+
+ if ($data->getBoletoHash()) {
+ $info->setBoletoHash($data->getBoletoHash());
+ }
+
+ Mage::getSingleton('customer/session')
+ ->setData('boletoHash', $info->getBoletoHash())
+ ->setData('boletoDocument', $info->getBoletoCpf());
+
+ return $this;
+ }
+
+ public function validate()
+ {
+ parent::validate();
+ $info = $this->getInfoInstance();
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOrderPlaceRedirectUrl()
+ {
+ return Mage::getUrl('pagseguro/payment/request');
+ }
+
+}
diff --git a/app/code/community/UOL/PagSeguro/Model/Checkout.php b/app/code/community/UOL/PagSeguro/Model/Checkout.php
index b61c231..ac49413 100644
--- a/app/code/community/UOL/PagSeguro/Model/Checkout.php
+++ b/app/code/community/UOL/PagSeguro/Model/Checkout.php
@@ -8,8 +8,7 @@ public function toOptionArray()
return array(
array('value' => 'PADRAO', 'label' => $helper->__('Padrão')),
- array('value' => 'LIGHTBOX', 'label' => $helper->__('Lightbox')),
- array('value' => 'TRANSPARENTE', 'label' => $helper->__('Transparente')),
+ array('value' => 'LIGHTBOX', 'label' => $helper->__('Lightbox'))
);
}
}
diff --git a/app/code/community/UOL/PagSeguro/Model/CreditCard.php b/app/code/community/UOL/PagSeguro/Model/CreditCard.php
new file mode 100644
index 0000000..6a19ceb
--- /dev/null
+++ b/app/code/community/UOL/PagSeguro/Model/CreditCard.php
@@ -0,0 +1,90 @@
+getInfoInstance();
+
+ if ($data->getCreditCardCpf()) {
+ $info->setCreditCardCpf($data->getCreditCardCpf());
+ }
+
+ if ($data->getCreditCardHash()) {
+ $info->setCreditCardHash($data->getCreditCardHash());
+ }
+
+ if ($data->getCreditCardHolder()) {
+ $info->setCreditCardHolder($data->getCreditCardHolder());
+ }
+
+ if ($data->getCreditCardHolderBirthdate()) {
+ $info->setCreditCardHolderBirthdate($data->getCreditCardHolderBirthdate());
+ }
+
+ if ($data->getCreditCardToken()) {
+ $info->setCreditCardToken($data->getCreditCardToken());
+ }
+
+ if ($data->getCreditCardInstallment()) {
+ $info->setCreditCardInstallment($data->getCreditCardInstallment());
+ }
+
+ if ($data->getCreditCardInstallmentValue()) {
+ $info->setCreditCardInstallmentValue($data->getCreditCardInstallmentValue());
+ }
+
+ Mage::getSingleton('customer/session')
+ ->setData('creditCardHash', $info->getCreditCardHash())
+ ->setData('creditCardDocument', $info->getCreditCardCpf())
+ ->setData('creditCardHolder', $info->getCreditCardHolder())
+ ->setData('creditCardBirthdate', $info->getCreditCardHolderBirthdate())
+ ->setData('creditCardToken', $info->getCreditCardToken())
+ ->setData('creditCardInstallment', $info->getCreditCardInstallment())
+ ->setData('creditCardInstallmentValue', $info->getCreditCardInstallmentValue());
+
+ return $this;
+ }
+
+ /**
+ * Validate the payment before request
+ * @return $this
+ */
+ public function validate()
+ {
+ parent::validate();
+ $info = $this->getInfoInstance();
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOrderPlaceRedirectUrl()
+ {
+ return Mage::getUrl('pagseguro/payment/request');
+ }
+}
diff --git a/app/code/community/UOL/PagSeguro/Model/InstallmentsMethod.php b/app/code/community/UOL/PagSeguro/Model/InstallmentsMethod.php
index 342536f..92756c8 100644
--- a/app/code/community/UOL/PagSeguro/Model/InstallmentsMethod.php
+++ b/app/code/community/UOL/PagSeguro/Model/InstallmentsMethod.php
@@ -180,8 +180,7 @@ private function getMaxInstallment($installments)
*/
public function enabled()
{
- return (Mage::getStoreConfig('payment/pagseguro/active') == 1 &&
- Mage::getStoreConfig('payment/pagseguro/installments') == 1) ?
+ return (Mage::getStoreConfig('payment/pagseguro/installments') == 1) ?
true :
false;
}
diff --git a/app/code/community/UOL/PagSeguro/Model/Library.php b/app/code/community/UOL/PagSeguro/Model/Library.php
index a18560c..3ea48cf 100644
--- a/app/code/community/UOL/PagSeguro/Model/Library.php
+++ b/app/code/community/UOL/PagSeguro/Model/Library.php
@@ -10,9 +10,9 @@ class UOL_PagSeguro_Model_Library
*/
public function __construct()
{
- define("SHIPPING_TYPE", 3);
- define("SHIPPING_COST", 0.00);
- define("CURRENCY", "BRL");
+ defined("SHIPPING_TYPE") or define("SHIPPING_TYPE", 3);
+ defined("SHIPPING_COST") or define("SHIPPING_COST", 0.00);
+ defined("CURRENCY") or define("CURRENCY", "BRL");
\PagSeguro\Library::initialize();
\PagSeguro\Library::cmsVersion()->setName('Magento')->setRelease(Mage::getVersion());
\PagSeguro\Library::moduleVersion()->setName('PagSeguro')->setRelease(Mage::getConfig()->getModuleConfig("UOL_PagSeguro")->version);
@@ -69,7 +69,7 @@ public function getAccountCredentials()
*/
public function getCharset()
{
- return Mage::getStoreConfig('payment/pagseguro/environment');
+ return Mage::getStoreConfig('payment/pagseguro/charset');
}
/**
@@ -93,6 +93,6 @@ public function getLog()
*/
public function getPaymentCheckoutType()
{
- return Mage::getStoreConfig('payment/pagseguro/checkout');
+ return Mage::getStoreConfig('payment/pagseguro_default_lightbox/checkout');
}
}
\ No newline at end of file
diff --git a/app/code/community/UOL/PagSeguro/Model/OnlineDebit.php b/app/code/community/UOL/PagSeguro/Model/OnlineDebit.php
new file mode 100644
index 0000000..cb1d493
--- /dev/null
+++ b/app/code/community/UOL/PagSeguro/Model/OnlineDebit.php
@@ -0,0 +1,69 @@
+getInfoInstance();
+
+ if ($data->getOnlineDebitCpf()) {
+ $info->setOnlineDebitCpf($data->getOnlineDebitCpf());
+ }
+
+ if ($data->getOnlineDebitHash()) {
+ $info->setOnlineDebitHash($data->getOnlineDebitHash());
+ }
+
+ if ($data->getOnlineDebitBankName()) {
+ $info->setOnlineDebitBankName($data->getOnlineDebitBankName());
+ }
+
+ Mage::getSingleton('customer/session')
+ ->setData('onlineDebitHash', $info->getOnlineDebitHash())
+ ->setData('onlineDebitDocument', $info->getOnlineDebitCpf())
+ ->setData('onlineDebitBankName', $info->getOnlineDebitBankName());
+
+ return $this;
+ }
+
+ /**
+ * Validate the payment before request
+ * @return $this
+ */
+ public function validate()
+ {
+ parent::validate();
+ $info = $this->getInfoInstance();
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getOrderPlaceRedirectUrl()
+ {
+ return Mage::getUrl('pagseguro/payment/request');
+ }
+
+}
diff --git a/app/code/community/UOL/PagSeguro/Model/PagSeguro.php b/app/code/community/UOL/PagSeguro/Model/PagSeguro.php
new file mode 100644
index 0000000..e8d6cba
--- /dev/null
+++ b/app/code/community/UOL/PagSeguro/Model/PagSeguro.php
@@ -0,0 +1,28 @@
+getConfigData('notification')) {
- $notificationUrl = $this->getConfigData('notification');
+ $notificationPath = Mage::getStoreConfig('payment/pagseguro/notification');
+
+ if ($notificationPath) {
+ $notificationUrl = $notificationPath;
} else {
$notificationUrl = Mage::app()->getStore(0)->getBaseUrl().'pagseguro/notification/send/';
}
@@ -155,51 +159,63 @@ private function getNotificationURL()
return $notificationUrl;
}
- /**
- * @param $params
- *
- * @return \PagSeguro\Domains\Requests\DirectPayment\Boleto|\PagSeguro\Domains\Requests\DirectPayment\CreditCard|\PagSeguro\Domains\Requests\DirectPayment\OnlineDebit
- */
- public function paymentDirect($params)
- {
+ /**
+ * Get the direct payment method (boleto, onlibe debit or credit card)
+ * and instantiate the respective payment object
+ * @param string $paymentMethod
+ * @param array $paymentData
+ * @return \PagSeguro\Domains\Requests\DirectPayment\Boleto
+ * || \PagSeguro\Domains\Requests\DirectPayment\CreditCard
+ * || \PagSeguro\Domains\Requests\DirectPayment\OnlineDebit $payment
+ */
+ public function paymentDirect($paymentMethod, $paymentData)
+ {
$payment = null;
- switch ($params['method']) {
- case 'boleto':
+
+ switch ($paymentMethod) {
+ case 'pagseguro_boleto':
+ $formatedDocument = $this->helper->formatDocument($paymentData['boletoDocument']);
$payment = new \PagSeguro\Domains\Requests\DirectPayment\Boleto();
$payment->setSender()->setDocument()->withParameters(
- 'CPF',
- $params['bilitDocument']
+ $formatedDocument['type'],
+ $formatedDocument['number']
);
+ $payment->setSender()->setHash($paymentData['boletoHash']);
break;
- case 'credit-card':
+
+ case 'pagseguro_credit_card':
+ $formatedDocument = $this->helper->formatDocument($paymentData['creditCardDocument']);
+
$payment = new \PagSeguro\Domains\Requests\DirectPayment\CreditCard();
- $payment->setToken($params['token']);
- $payment->setInstallment()->withParameters($params['cardInstallment'],
- number_format($params['cardInstallmentValue'], 2, '.', ''));
- $payment->setHolder()->setBirthdate($params['cardHolderBirthdate']);
- $payment->setHolder()->setName($params['cardHolderName']);
+ $payment->setToken($paymentData['creditCardToken']);
+ $payment->setInstallment()->withParameters($paymentData['creditCardInstallment'],
+ number_format($paymentData['creditCardInstallmentValue'], 2, '.', ''));
+ $payment->setHolder()->setBirthdate($paymentData['creditCardBirthdate']);
+ $payment->setHolder()->setName($paymentData['creditCardHolder']);
$payment->setHolder()->setPhone()->withArray($this->helper->formatPhone($this->order->getBillingAddress()->getTelephone()));
$payment->setHolder()->setDocument()->withParameters(
- 'CPF',
- $params['cardHolderDocument']
+ $formatedDocument['type'],
+ $formatedDocument['number']
);
$payment->setSender()->setDocument()->withParameters(
- 'CPF',
- $params['cardHolderDocument']
+ $formatedDocument['type'],
+ $formatedDocument['number']
);
$orderAddress = new UOL_PagSeguro_Model_OrderAddress($this->order);
$payment->setBilling()->setAddress()->instance($orderAddress->getBillingAddress());
+ $payment->setSender()->setHash($paymentData['creditCardHash']);
break;
- case 'online-debit':
+ case 'pagseguro_online_debit':
+ $formatedDocument = $this->helper->formatDocument($paymentData['onlineDebitDocument']);
$payment = new \PagSeguro\Domains\Requests\DirectPayment\OnlineDebit();
- $payment->setBankName($params['debitBankName']);
+ $payment->setBankName($paymentData['onlineDebitBankName']);
$payment->setSender()->setDocument()->withParameters(
- 'CPF',
- $params['debitDocument']
+ $formatedDocument['type'],
+ $formatedDocument['number']
);
+ $payment->setSender()->setHash($paymentData['onlineDebitHash']);
break;
}
- $payment->setSender()->setHash($params['senderHash']);
/** @var \PagSeguro\Domains\Requests\DirectPayment\Boleto|\PagSeguro\Domains\Requests\DirectPayment\CreditCard|\PagSeguro\Domains\Requests\DirectPayment\OnlineDebit $payment */
return $this->payment($payment);
@@ -250,4 +266,16 @@ public function setOrder(Mage_Sales_Model_Order $order)
{
return $this->order = $order;
}
+
+ /**
+ * getter for $_session (must be public to be instatiated in blocks)
+ * @return type
+ */
+ public function getSession()
+ {
+ if (is_null($this->_session) || empty($this->_session)) {
+ $this->_session = $this->getPaymentSession()->getResult();
+ }
+ return $this->_session;
+ }
}
diff --git a/app/code/community/UOL/PagSeguro/controllers/PaymentController.php b/app/code/community/UOL/PagSeguro/controllers/PaymentController.php
index 62e5bab..8025f5a 100644
--- a/app/code/community/UOL/PagSeguro/controllers/PaymentController.php
+++ b/app/code/community/UOL/PagSeguro/controllers/PaymentController.php
@@ -74,6 +74,7 @@ private function loadAndRenderLayout(Array $items = [], $returnAaJson = false)
public function defaultAction()
{
$link = null;
+
try {
/** @var Mage_Sales_Model_Order $order */
$order = Mage::getModel('sales/order')->load($this->getCheckout()->getLastOrderId());
@@ -81,7 +82,9 @@ public function defaultAction()
/**
* @var \PagSeguro\Domains\Requests\DirectPayment\Boleto|\PagSeguro\Domains\Requests\DirectPayment\CreditCard|\PagSeguro\Domains\Requests\DirectPayment\OnlineDebit $payment
*/
+
$payment = $this->payment->paymentDefault();
+
$this->payment->addPagseguroOrders($order);
$this->payment->clearCheckoutSession($order);
/**
@@ -111,53 +114,54 @@ public function directAction()
$result = null;
$json = false;
$redirect = null;
+
try {
/** @var Mage_Sales_Model_Order $order */
$order = Mage::getModel('sales/order')->load($this->getCheckout()->getLastOrderId());
- if ($this->getRequest()->getMethod() === 'POST') {
- $this->payment->setOrder($order);
- /**
- * @var \PagSeguro\Domains\Requests\DirectPayment\Boleto|\PagSeguro\Domains\Requests\DirectPayment\CreditCard|\PagSeguro\Domains\Requests\DirectPayment\OnlineDebit $payment
- */
- $payment = $this->payment->paymentDirect($this->getRequest()->getParams());
- $this->payment->addPagseguroOrders($order);
- $this->payment->clearCheckoutSession($order);
- /**
- * @var \PagSeguro\Domains\Requests\DirectPayment\Boleto|\PagSeguro\Domains\Requests\DirectPayment\CreditCard|\PagSeguro\Domains\Requests\DirectPayment\OnlineDebit $result
- */
- $result = $this->payment->paymentRegister($payment);
- if (method_exists($result, 'getPaymentLink') && $result->getPaymentLink()) {
- $link = $result->getPaymentLink();
- $json = true;
- $redirect = Mage::getUrl('pagseguro/payment/success').'?redirect='.$link;
- } else {
- $json = true;
- $redirect = Mage::getUrl('pagseguro/payment/success');
- }
- $order->sendNewOrderEmail();
+
+ $customerPaymentData = Mage::getSingleton('customer/session')->getData();
+
+ $this->payment->setOrder($order);
+ /**
+ * @var \PagSeguro\Domains\Requests\DirectPayment\Boleto|\PagSeguro\Domains\Requests\DirectPayment\CreditCard|\PagSeguro\Domains\Requests\DirectPayment\OnlineDebit $payment
+ */
+ $payment = $this->payment->paymentDirect($order->getPayment()->getMethod(), $customerPaymentData);
+ $this->payment->addPagseguroOrders($order);
+ $this->payment->clearCheckoutSession($order);
+ /**
+ * @var \PagSeguro\Domains\Requests\DirectPayment\Boleto|\PagSeguro\Domains\Requests\DirectPayment\CreditCard|\PagSeguro\Domains\Requests\DirectPayment\OnlineDebit $result
+ */
+ $result = $this->payment->paymentRegister($payment);
+
+ if ($result === false) {
+ //\PagSeguro\Resources\Log\Logger::error('');
+ $this->canceledStatus($order);
+ return Mage_Core_Controller_Varien_Action::_redirect('pagseguro/payment/error', array('_secure'=> false));
+ };
+ /** controy redirect url according with payment return link **/
+ if (method_exists($result, 'getPaymentLink') && $result->getPaymentLink()) {
+ $link = $result->getPaymentLink();
+ $json = true;
+ //$redirect = Mage::getUrl('pagseguro/payment/success').'?redirect='.$link;
+ $redirect = 'pagseguro/payment/success';//?redirect='.$link;
+ $redirectParams = array('_secure'=> false, '_query'=> array('redirect' => $link));
} else {
- /** @var string $paymentSession */
- $paymentSession = $this->payment->getPaymentSession()->getResult();
+ $json = true;
+ //$redirect = Mage::getUrl('pagseguro/payment/success');
+ $redirect = 'pagseguro/payment/success';
+ $redirectParams = array();
}
- } catch (Exception $exception) {
- \PagSeguro\Resources\Log\Logger::error($exception);
- Mage::logException($exception);
+ $order->sendNewOrderEmail();
+
+ } catch (\Exception $exception) {
$this->canceledStatus($order);
- }
- if ($this->payment->getEnvironment() === 'production') {
- $pagseguroJS = 'https://stc.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.directpayment.js';
- } else {
- $pagseguroJS = 'https://stc.sandbox.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.directpayment.js';
+ return Mage_Core_Controller_Varien_Action::_redirect('pagseguro/payment/error', array('_secure'=> false));
}
- return $this->loadAndRenderLayout([
- 'paymentSession' => $paymentSession,
- 'order' => $order,
- 'result' => $result,
- 'link' => $link,
- 'redirect' => $redirect,
- 'pagseguroJS' => $pagseguroJS,
- ], $json);
+ return Mage_Core_Controller_Varien_Action::_redirect(
+ $redirect,
+ $redirectParams
+ );
}
/**
@@ -206,12 +210,18 @@ public function lightboxAction()
*/
public function requestAction()
{
- if ($this->getRequest()->getMethod() === 'GET' && $this->payment->getPaymentCheckoutType() === 'TRANSPARENTE') {
+ $order = Mage::getModel('sales/order')->load($this->getCheckout()->getLastOrderId());
+ $orderPaymentMethod = $order->getPayment()->getMethod();
+
+ if ($orderPaymentMethod === 'pagseguro_online_debit' || $orderPaymentMethod === 'pagseguro_boleto' ||$orderPaymentMethod === 'pagseguro_credit_card') {
$this->_redirectUrl(Mage::getUrl('pagseguro/payment/direct'));
- } elseif ($this->payment->getPaymentCheckoutType() === 'PADRAO') {
+ } elseif ($orderPaymentMethod === 'pagseguro_default_lightbox' && $this->payment->getPaymentCheckoutType() === 'PADRAO') {
$this->_redirectUrl(Mage::getUrl('pagseguro/payment/default'));
- } elseif ($this->payment->getPaymentCheckoutType() === 'LIGHTBOX') {
+ } elseif ($orderPaymentMethod === 'pagseguro_default_lightbox' && $this->payment->getPaymentCheckoutType() === 'LIGHTBOX') {
$this->_redirectUrl(Mage::getUrl('pagseguro/payment/lightbox'));
+ } else {
+ \PagSeguro\Resources\Log\Logger::error('Método de pagamento inválido para o PagSeguro');
+ return Mage_Core_Controller_Varien_Action::_redirect('pagseguro/payment/error', array('_secure'=> false));
}
}
@@ -222,4 +232,14 @@ public function successAction()
{
return $this->loadAndRenderLayout();
}
+
+ /**
+ * Default payment error screen
+ * @return UOL_PagSeguro_PaymentController
+ */
+ public function errorAction()
+ {
+ return $this->loadAndRenderLayout();
+ }
+
}
diff --git a/app/code/community/UOL/PagSeguro/etc/config.xml b/app/code/community/UOL/PagSeguro/etc/config.xml
index c7d3358..0918351 100644
--- a/app/code/community/UOL/PagSeguro/etc/config.xml
+++ b/app/code/community/UOL/PagSeguro/etc/config.xml
@@ -19,10 +19,15 @@ limitations under the License.
- 3.1.0
+ 3.2.0
+
+
+ PagSeguro
+
+ UOL_PagSeguro_Block
@@ -204,13 +209,41 @@ limitations under the License.
-
+ 0
- UOL_PagSeguro_Model_PaymentMethod
+ UOL_PagSeguro_Model_PagseguroPagSeguro
- /var/pagseguro.log
- 0
+ pagseguro
+ 1
+
+
+ 0
+ UOL_PagSeguro_Model_CreditCard
+ Cartão de Crédito
+ pagseguro
+ 2
+
+
+ 0
+ UOL_PagSeguro_Model_Boleto
+ Boleto Bancário
+ pagseguro
+ 3
+
+
+ 0
+ UOL_PagSeguro_Model_OnlineDebit
+ Débito Online
+ pagseguro
+ 4
+
+
+
+ 0
+ UOL_PagSeguro_Model_PagSeguroDeprecated
+ pagseguro
+
diff --git a/app/code/community/UOL/PagSeguro/etc/system.xml b/app/code/community/UOL/PagSeguro/etc/system.xml
index e5fec24..50d8874 100644
--- a/app/code/community/UOL/PagSeguro/etc/system.xml
+++ b/app/code/community/UOL/PagSeguro/etc/system.xml
@@ -20,285 +20,401 @@ limitations under the License.
-
+ 670111
+ complex
-
-
-
- uol_pagseguro/adminhtml_config
-
- label
- 1
- 1
- 1
- 1
-
-
-
- Deseja habilitar o módulo?
- select
- adminhtml/system_config_source_yesno
- 10
- 1
- 1
- 1
-
-
-
- Informe o nome que deve ser apresentado para este meio de pagamento no checkout de sua loja.
- text
+
+
20111
-
-
-
- Define o ambiente de uso.
- select
- uol_pagseguro/environment
- 30
- 1
- 0
- 0
-
-
-
- Clique <a href="https://pagseguro.uol.com.br/registration/registration.jhtml?ep=7&tipo=cadastro#!vendedor" target="_blank">aqui</a> e cadastre-se grátis.
- text
- 40
- 1
- 1
- 1
-
-
-
- Acesse sua conta PagSeguro ou Sandbox para obter um token.
- text
- 50
- 1
- 1
- 1
-
-
-
- Ao final do fluxo de pagamento no PagSeguro, seu cliente será redirecionado de volta para sua loja ou para a URL que você informar neste campo. Para utilizar essa funcionalidade você deve acessar sua conta PagSeguro ou Sandbox e habilitar requisições de pagamentos gerados somente via API.
- text
- 60
- 1
- 1
- 1
-
-
-
- Sempre que uma transação mudar de status, o PagSeguro envia uma notificação para sua loja ou para a URL que você informar neste campo.
- 70
- 1
- 1
- 1
-
-
-
- Defina o charset de acordo com a codificação do seu sistema.
- select
- uol_pagseguro/values
- 80
- 1
- 1
- 1
-
-
-
- Criar arquivo de log?
- select
- adminhtml/system_config_source_yesno
- 90
- 1
- 1
- 1
-
-
-
- Caminho para o arquivo de log.
- text
- 100
- 1
- 1
- 1
-
- 1
-
-
-
-
- Selecione o tipo de checkout desejado.
- select
- uol_pagseguro/checkout
- 110
- 1
- 1
- 1
-
-
-
- Ativa e desativa consulta de transações abandonadas
- select
- adminhtml/system_config_source_yesno
- 120
- 1
- 1
- 1
-
-
-
- Template usado para notificar o cliente sobre sua transação abandonada
- select
- adminhtml/system_config_source_email_template
- 130
- 1
- 1
- 1
-
- 1
-
-
-
-
- Ao ativar esta opção, seu comprador vai receber um desconto caso escolha pagar com este meio de pagamento. O desconto será aplicado com base no subtotal do checkout PagSeguro.
- discount-confirm
- select
- adminhtml/system_config_source_yesno
- 140
- 1
- 1
- 1
-
-
-
- Informe o percentual de desconto a ser concedido para este meio de pagamento. Aceita valores de 0.01 à 99.99
- required-entry validate-number validate-number-range number-range-0.01-99.99 discount-value
- text
- 145
- 1
- 1
- 1
-
- 1
-
-
-
-
- Ao ativar esta opção, seu comprador vai receber um desconto caso escolha pagar com este meio de pagamento. O desconto será aplicado com base no subtotal do checkout PagSeguro.
- discount-confirm
- select
- adminhtml/system_config_source_yesno
- 150
- 1
- 1
- 1
-
-
-
- Informe o percentual de desconto a ser concedido para este meio de pagamento. Aceita valores de 0.01 à 99.99
- required-entry validate-number validate-number-range number-range-0.01-99.99 discount-value
- text
- 155
- 1
- 1
- 1
-
- 1
-
-
-
-
- Ao ativar esta opção, seu comprador vai receber um desconto caso escolha pagar com este meio de pagamento. O desconto será aplicado com base no subtotal do checkout PagSeguro.
- discount-confirm
- select
- adminhtml/system_config_source_yesno
- 160
- 1
- 1
- 1
-
-
-
- Informe o percentual de desconto a ser concedido para este meio de pagamento. Aceita valores de 0.01 à 99.99
- required-entry validate-number validate-number-range number-range-0.01-99.99 discount-value
- text
- 165
- 1
- 1
- 1
-
- 1
-
-
-
-
- Ao ativar esta opção, seu comprador vai receber um desconto caso escolha pagar com este meio de pagamento. O desconto será aplicado com base no subtotal do checkout PagSeguro.
- discount-confirm
- select
- adminhtml/system_config_source_yesno
- 170
- 1
- 1
- 1
-
-
-
- Informe o percentual de desconto a ser concedido para este meio de pagamento. Aceita valores de 0.01 à 99.99
- required-entry validate-number validate-number-range number-range-0.01-99.99 discount-value
- text
- 175
- 1
- 1
- 1
-
- 1
-
-
-
-
- Ao ativar esta opção, seu comprador vai receber um desconto caso escolha pagar com este meio de pagamento. O desconto será aplicado com base no subtotal do checkout PagSeguro.
- discount-confirm
- select
- adminhtml/system_config_source_yesno
- 180
- 1
- 1
- 1
-
-
-
- Informe o percentual de desconto a ser concedido para este meio de pagamento. Aceita valores de 0.01 à 99.99
- required-entry validate-number validate-number-range number-range-0.01-99.99 discount-value
- text
- 185
- 1
- 1
- 1
-
- 1
-
-
-
-
- Habilita a exibição da listagem de parcelas na tela de visualização do produto. (Irá exibir o maior parcelamento disponível para o produto no pagamento com cartão de crédito)
- select
- adminhtml/system_config_source_yesno
- 190
+
+
+
+
+ uol_pagseguro/adminhtml_config
+
+ label
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+ Define o ambiente de uso.
+ select
+ uol_pagseguro/environment
+ 30
+ 1
+ 0
+ 0
+
+
+
+ Clique <a href="https://pagseguro.uol.com.br/registration/registration.jhtml?ep=7&tipo=cadastro#!vendedor" target="_blank">aqui</a> e cadastre-se grátis.
+ text
+ 40
+ 1
+ 1
+ 1
+
+
+
+ Acesse sua conta PagSeguro ou Sandbox para obter um token.
+ text
+ 50
+ 1
+ 1
+ 1
+
+
+
+ Ao final do fluxo de pagamento no PagSeguro, seu cliente será redirecionado de volta para sua loja ou para a URL que você informar neste campo. Para utilizar essa funcionalidade você deve acessar sua conta PagSeguro ou Sandbox e habilitar requisições de pagamentos gerados somente via API.
+ text
+ 60
+ 1
+ 1
+ 1
+
+
+
+ Sempre que uma transação mudar de status, o PagSeguro envia uma notificação para sua loja ou para a URL que você informar neste campo.
+ 70
+ 1
+ 1
+ 1
+
+
+
+ Defina o charset de acordo com a codificação do seu sistema.
+ select
+ uol_pagseguro/values
+ 80
+ 1
+ 1
+ 1
+
+
+
+ Criar arquivo de log?
+ select
+ adminhtml/system_config_source_yesno
+ 90
+ 1
+ 1
+ 1
+
+
+
+ Caminho para o arquivo de log.
+ text
+ 100
+ 1
+ 1
+ 1
+
+ 1
+
+
+
+
+
+ Ativa e desativa consulta de transações abandonadas
+ select
+ adminhtml/system_config_source_yesno
+ 120
+ 1
+ 1
+ 1
+
+
+
+ Template usado para notificar o cliente sobre sua transação abandonada
+ select
+ adminhtml/system_config_source_email_template
+ 130
+ 1
+ 1
+ 1
+
+ 1
+
+
+
+
+ Ao ativar esta opção, seu comprador vai receber um desconto caso escolha pagar com este meio de pagamento. O desconto será aplicado com base no subtotal do checkout PagSeguro.
+ discount-confirm
+ select
+ adminhtml/system_config_source_yesno
+ 140
+ 1
+ 1
+ 1
+
+
+
+ Informe o percentual de desconto a ser concedido para este meio de pagamento. Aceita valores de 0.01 à 99.99
+ required-entry validate-number validate-number-range number-range-0.01-99.99 discount-value
+ text
+ 145
+ 1
+ 1
+ 1
+
+ 1
+
+
+
+
+ Ao ativar esta opção, seu comprador vai receber um desconto caso escolha pagar com este meio de pagamento. O desconto será aplicado com base no subtotal do checkout PagSeguro.
+ discount-confirm
+ select
+ adminhtml/system_config_source_yesno
+ 150
+ 1
+ 1
+ 1
+
+
+
+ Informe o percentual de desconto a ser concedido para este meio de pagamento. Aceita valores de 0.01 à 99.99
+ required-entry validate-number validate-number-range number-range-0.01-99.99 discount-value
+ text
+ 155
+ 1
+ 1
+ 1
+
+ 1
+
+
+
+
+ Ao ativar esta opção, seu comprador vai receber um desconto caso escolha pagar com este meio de pagamento. O desconto será aplicado com base no subtotal do checkout PagSeguro.
+ discount-confirm
+ select
+ adminhtml/system_config_source_yesno
+ 160
+ 1
+ 1
+ 1
+
+
+
+ Informe o percentual de desconto a ser concedido para este meio de pagamento. Aceita valores de 0.01 à 99.99
+ required-entry validate-number validate-number-range number-range-0.01-99.99 discount-value
+ text
+ 165
+ 1
+ 1
+ 1
+
+ 1
+
+
+
+
+ Ao ativar esta opção, seu comprador vai receber um desconto caso escolha pagar com este meio de pagamento. O desconto será aplicado com base no subtotal do checkout PagSeguro.
+ discount-confirm
+ select
+ adminhtml/system_config_source_yesno
+ 170
+ 1
+ 1
+ 1
+
+
+
+ Informe o percentual de desconto a ser concedido para este meio de pagamento. Aceita valores de 0.01 à 99.99
+ required-entry validate-number validate-number-range number-range-0.01-99.99 discount-value
+ text
+ 175
+ 1
+ 1
+ 1
+
+ 1
+
+
+
+
+ Ao ativar esta opção, seu comprador vai receber um desconto caso escolha pagar com este meio de pagamento. O desconto será aplicado com base no subtotal do checkout PagSeguro.
+ discount-confirm
+ select
+ adminhtml/system_config_source_yesno
+ 180
+ 1
+ 1
+ 1
+
+
+
+ Informe o percentual de desconto a ser concedido para este meio de pagamento. Aceita valores de 0.01 à 99.99
+ required-entry validate-number validate-number-range number-range-0.01-99.99 discount-value
+ text
+ 185
+ 1
+ 1
+ 1
+
+ 1
+
+
+
+
+ Habilita a exibição da listagem de parcelas na tela de visualização do produto. (Irá exibir o maior parcelamento disponível para o produto no pagamento com cartão de crédito)
+ select
+ adminhtml/system_config_source_yesno
+ 190
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 690111
-
+
+
+
+ 10
+ 1
+ 1
+ 1
+
+
+
+ Ativa/desativa o meio de pagamento PagSeguro (Padrão ou Lightbox)
+ select
+ adminhtml/system_config_source_yesno
+ 10
+ 1
+ 1
+ 1
+
+
+
+ Selecione o tipo de checkout desejado para utilizar com o PagSeguro (Padrão ou Lightbox).
+ select
+ uol_pagseguro/checkout
+ 20
+ 1
+ 1
+ 1
+
+
+
+ Informe o nome que deve ser apresentado para este meio de pagamento no checkout de sua loja.
+ text
+ 30
+ 1
+ 1
+ 1
+
+
+
+
+
+ 20
+ 1
+ 1
+ 1
+
+
+
+ Ativa / desativa o meio de pagamento Checkout Transparente - Cartão de Crédito
+ select
+ adminhtml/system_config_source_yesno
+ 10
+ 1
+ 1
+ 1
+
+
+
+ Informe o nome que deve ser apresentado para este meio de pagamento no checkout de sua loja.
+ text
+ 20
+ 1
+ 1
+ 1
+
+
+
+
+
+ 30
+ 1
+ 1
+ 1
+
+
+
+ Ativa / desativa o meio de pagamento Checkout Transparente - Boleto
+ select
+ adminhtml/system_config_source_yesno
+ 10
+ 1
+ 1
+ 1
+
+
+
+ Informe o nome que deve ser apresentado para este meio de pagamento no checkout de sua loja.
+ text
+ 20
+ 1
+ 1
+ 1
+
+
+
+
+
+ 40
+ 1
+ 1
+ 1
+
+
+
+ Ativa / desativa o meio de pagamento Checkout Transparente - Débito Online
+ select
+ adminhtml/system_config_source_yesno
+ 10
+ 1
+ 1
+ 1
+
+
+
+ Informe o nome que deve ser apresentado para este meio de pagamento no checkout de sua loja.
+ text
+ 20
+ 1
+ 1
+ 1
+
+
+
+
+
-
+
diff --git a/app/design/adminhtml/default/default/layout/uol/pagseguro.xml b/app/design/adminhtml/default/default/layout/uol/pagseguro.xml
index c3d5057..c63406a 100644
--- a/app/design/adminhtml/default/default/layout/uol/pagseguro.xml
+++ b/app/design/adminhtml/default/default/layout/uol/pagseguro.xml
@@ -19,7 +19,43 @@ limitations under the License.
-
+
+ payment_method
+
+ Código da Transação
+ payment_code
+ a-center
+ center
+ payment.transaction_code
+ text
+
+ real_order_id
+
+
+ payment_method
+
+ Código da Transação
+ payment_code
+ a-center
+ center
+ payment.transaction_code
+ text
+
+ real_order_id
+
+
+ payment_method
+
+ Código da Transação
+ payment_code
+ a-center
+ center
+ payment.transaction_code
+ text
+
+ real_order_id
+
+ payment_methodCódigo da Transação
@@ -33,7 +69,43 @@ limitations under the License.
-
+
+ payment_environment
+
+ Ambiente
+ payment_environment
+ a-center
+ center
+ payment.environment
+ text
+
+ payment_method
+
+
+ payment_environment
+
+ Ambiente
+ payment_environment
+ a-center
+ center
+ payment.environment
+ text
+
+ payment_method
+
+
+ payment_environment
+
+ Ambiente
+ payment_environment
+ a-center
+ center
+ payment.environment
+ text
+
+ payment_method
+
+ payment_environmentAmbiente
diff --git a/app/design/frontend/base/default/layout/uol/pagseguro.xml b/app/design/frontend/base/default/layout/uol/pagseguro.xml
index bfd3990..4dad35c 100644
--- a/app/design/frontend/base/default/layout/uol/pagseguro.xml
+++ b/app/design/frontend/base/default/layout/uol/pagseguro.xml
@@ -72,6 +72,18 @@ limitations under the License.
+
+
+
+
+
+ page/1column.phtml
+
+
+
+
+
+
diff --git a/app/design/frontend/base/default/template/uol/pagseguro/direct/payment.phtml b/app/design/frontend/base/default/template/uol/pagseguro/direct/payment.phtml
index 1a6028f..1272ed4 100644
--- a/app/design/frontend/base/default/template/uol/pagseguro/direct/payment.phtml
+++ b/app/design/frontend/base/default/template/uol/pagseguro/direct/payment.phtml
@@ -1,4 +1,4 @@
-
+