From d7a0edfd152663f8ff6bbffcdb2697c22bd93f02 Mon Sep 17 00:00:00 2001 From: Eduardo Aguilar Date: Wed, 28 Mar 2018 14:00:06 -0600 Subject: [PATCH] refactorizing plugin --- .gitignore | 3 +- README.md | 86 ++------- .../Compropago/CpPayment/Block/Form.php | 59 ------ .../Compropago/CpPayment/Block/Info.php | 28 --- .../Compropago/CpPayment/Helper/Data.php | 28 --- .../Compropago/CpPayment/Model/Observer.php | 80 -------- .../Compropago/CpPayment/Model/Providers.php | 56 ------ .../Compropago/CpPayment/etc/config.xml | 104 ---------- .../sql/cppayment_setup/install-2.1.1.php | 92 --------- app/code/local/ComproPago/Cash/Block/Form.php | 37 ++++ app/code/local/ComproPago/Cash/Block/Info.php | 15 ++ .../local/ComproPago/Cash/Helper/Data.php | 9 + .../ComproPago/Cash/Model/Cash.php} | 181 ++++++------------ .../local/ComproPago/Cash/Model/Observer.php | 24 +++ .../local/ComproPago/Cash/Model/Providers.php | 27 +++ app/code/local/ComproPago/Cash/etc/config.xml | 79 ++++++++ .../ComproPago/Cash}/etc/system.xml | 31 +-- .../ComproPago/Webhook/Model/Observer.php | 41 ++++ .../controllers/WebhookController.php} | 75 +++----- .../local/ComproPago/Webhook/etc/config.xml | 41 ++++ .../template/compropago/cppayment/info.phtml | 2 - .../template/compropago/cash/info.phtml | 4 + .../frontend/base/default/layout/cash.xml | 19 ++ .../base/default/layout/cppayment.xml | 33 ---- .../template/compropago/cash/form.phtml | 33 ++++ .../template/compropago/cash/info.phtml | 24 +++ .../template/compropago/cash/mark.phtml | 5 + .../{cppayment => cash}/success.phtml | 5 - .../template/compropago/cppayment/.DS_Store | Bin 6148 -> 0 bytes .../template/compropago/cppayment/cash.phtml | 42 ---- .../template/compropago/cppayment/info.phtml | 45 ----- .../template/compropago/cppayment/mark.phtml | 25 --- ...pago_CpPayment.xml => ComproPago_Cash.xml} | 8 +- app/etc/modules/ComproPago_Webhook.xml | 9 + js/compropago/compropago.js | 21 -- lib/Compropago/vendor/autoload.php | 2 +- .../vendor/composer/ClassLoader.php | 4 +- .../vendor/composer/autoload_real.php | 8 +- .../vendor/composer/autoload_static.php | 6 +- media/cppayment/compropago-logo.png | Bin 20968 -> 0 bytes package.xml | 18 +- .../base/default/compropago/compropago.css | 42 ---- 42 files changed, 494 insertions(+), 957 deletions(-) delete mode 100644 app/code/community/Compropago/CpPayment/Block/Form.php delete mode 100644 app/code/community/Compropago/CpPayment/Block/Info.php delete mode 100644 app/code/community/Compropago/CpPayment/Helper/Data.php delete mode 100644 app/code/community/Compropago/CpPayment/Model/Observer.php delete mode 100644 app/code/community/Compropago/CpPayment/Model/Providers.php delete mode 100644 app/code/community/Compropago/CpPayment/etc/config.xml delete mode 100644 app/code/community/Compropago/CpPayment/sql/cppayment_setup/install-2.1.1.php create mode 100644 app/code/local/ComproPago/Cash/Block/Form.php create mode 100644 app/code/local/ComproPago/Cash/Block/Info.php create mode 100644 app/code/local/ComproPago/Cash/Helper/Data.php rename app/code/{community/Compropago/CpPayment/Model/Standard.php => local/ComproPago/Cash/Model/Cash.php} (83%) create mode 100644 app/code/local/ComproPago/Cash/Model/Observer.php create mode 100644 app/code/local/ComproPago/Cash/Model/Providers.php create mode 100644 app/code/local/ComproPago/Cash/etc/config.xml rename app/code/{community/Compropago/CpPayment => local/ComproPago/Cash}/etc/system.xml (72%) create mode 100644 app/code/local/ComproPago/Webhook/Model/Observer.php rename app/code/{community/Compropago/CpPayment/controllers/IndexController.php => local/ComproPago/Webhook/controllers/WebhookController.php} (84%) create mode 100644 app/code/local/ComproPago/Webhook/etc/config.xml delete mode 100644 app/design/adminhtml/base/default/template/compropago/cppayment/info.phtml create mode 100644 app/design/adminhtml/default/base/default/template/compropago/cash/info.phtml create mode 100644 app/design/frontend/base/default/layout/cash.xml delete mode 100644 app/design/frontend/base/default/layout/cppayment.xml create mode 100644 app/design/frontend/base/default/template/compropago/cash/form.phtml create mode 100644 app/design/frontend/base/default/template/compropago/cash/info.phtml create mode 100644 app/design/frontend/base/default/template/compropago/cash/mark.phtml rename app/design/frontend/base/default/template/compropago/{cppayment => cash}/success.phtml (99%) delete mode 100644 app/design/frontend/base/default/template/compropago/cppayment/.DS_Store delete mode 100644 app/design/frontend/base/default/template/compropago/cppayment/cash.phtml delete mode 100644 app/design/frontend/base/default/template/compropago/cppayment/info.phtml delete mode 100644 app/design/frontend/base/default/template/compropago/cppayment/mark.phtml rename app/etc/modules/{Compropago_CpPayment.xml => ComproPago_Cash.xml} (51%) create mode 100644 app/etc/modules/ComproPago_Webhook.xml delete mode 100644 js/compropago/compropago.js delete mode 100644 media/cppayment/compropago-logo.png delete mode 100644 skin/frontend/base/default/compropago/compropago.css diff --git a/.gitignore b/.gitignore index 7f1017e..d74998f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ # Created by .ignore support plugin (hsz.mobi) .idea -gitcp \ No newline at end of file +gitcp +.DS_Store \ No newline at end of file diff --git a/README.md b/README.md index d2e0045..00f3329 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,9 @@ -Plugin para Magento 1.7.x, 1.8.x, 1.9.x - ComproPago -==================================================== +# Plugin para Magento 1.7.x, 1.8.x, 1.9.x - ComproPago ## Descripción -Este módulo provee el servicio de ComproPago para poder generar órdenes de pago dentro de la plataforma de e-commerce Magento. Con ComproPago puede recibir pagos en 7Eleven, Extra más tiendas en todo México. - - -[Registrarse en ComproPago ] (https://compropago.com) +Este módulo provee el servicio de ComproPago para poder generar órdenes de pago dentro de la plataforma de +e-commerce Magento. Con ComproPago puede recibir pagos en 7Eleven, Extra más tiendas en todo México. ## Ayuda y Soporte de ComproPago @@ -16,78 +13,19 @@ Este módulo provee el servicio de ComproPago para poder generar órdenes de pag - [Información de contacto](https://compropago.com/contacto) ## Requerimientos -* [Magento 1.7.x, 1.8.x, 1.9.x](https://magento.com/) -* [PHP >= 5.5](http://www.php.net/) -* [PHP JSON extension](http://php.net/manual/en/book.json.php) -* [PHP cURL extension](http://php.net/manual/en/book.curl.php) -## Instalación: +- [Magento 1.7.x, 1.8.x, 1.9.x](https://magento.com/) +- [PHP >= 5.6](http://www.php.net/) +- [PHP JSON extension](http://php.net/manual/en/book.json.php) +- [PHP cURL extension](http://php.net/manual/en/book.curl.php) -1. Copia el enlace proporcionado por **Magento Connect** desde [aquí][Magento-Connect] +## Instalación + +1. Descarga el archivo **Compropago_Payment_Extension-version.tgz** de la [ultima versión](https://github.com/compropago/plugin-magento/releases) del plugin 2. Ingresa al panel de administración de Magento y dirígete a **System -> Magento Connect -> Magento Connect Manager** -3. Pega el link obtenido de la sección **Install New Extension** y selecciona el botón **Install**. +3. En la sección **Direct package file upload** seleccionar el archivo de la extensión y dar click en el botón **Upload** 4. Verifica que la instalación fué correcta y procede a seleccionar el botón **Refresh** para actualizar la pantalla. -Documentación: - -http://demo.compropago.com/list/plugins/magento.php - -## ¿Cómo trabaja el módulo? -Una vez que el cliente sabe que comprar y continúa con el proceso, seleccionará la opción de elegir el método de pago. -Aquí aparecerá la opción de pago con ComproPago, selecciona el establecimiento de su conveniencia y el botón de **continuar**. - -Al completar el proceso de compra dentro de la tienda, el sistema proporcionará un recibo de pago, -por lo que solo resta realizar el pago en el establecimiento que seleccionó anteriormente. - -Una vez que el cliente generó su órden de pago, dentro del panel de control de ComproPago la orden se muestra como -"PENDIENTE". Sólo resta que el cliente realice el depósito a la brevedad posible. - - ---- - -## Configuración del plugin - -1. Dirígete a **System -> Configuration -> Sales -> Payment Methods** y selecciona - **ComproPago**. - - ***Nota:*** La opción de **Habilitar Logos** es para mostrar las imágenes de los establecimientos con - los que procesamos pagos - -2. Agrega la **llave privada** y **llave pública** que se encuentran en el apartado de configuración dentro del - [panel de control de ComproPago][Compropago-Panel]. - - Asegúrate de que las llaves coincidan con el modo activo o modo pruebas según sea el caso. - ---- - -## Sincronización con la notificación Webhook -1. Ingresa al área de [Webhooks][Compropago-Webhooks] en el panel de ComproPago. -2. Introduce la dirección: **http://direcciondetusitio.com/index.php/compropago/webhook/** -3. Selecciona el botón "Probar" y verifica que el servidor de la tienda está respondiendo, debera aparecer un - mensaje con la leyenda "Probando el WebHook?, Ruta correcta." - -Una vez completados estos pasos el proceso de instalación ha finalizado. - ## Documentación -### ComproPago Plugin Magento -**[API de ComproPago](https://compropago.com/documentacion/api)** - -ComproPago te ofrece un API tipo REST para integrar pagos en efectivo en tu comercio electrónico o tus aplicaciones. - - -**[General](https://compropago.com/documentacion)** - -Información de Comisiones y Horarios, como Transferir tu dinero y la Seguridad que proporciona ComproPAgo - - -**[Herramientas](https://compropago.com/documentacion/boton-pago)** -* Botón de pago -* Modo de pruebas/activo -* WebHooks -* Librerías y Plugins -* Shopify - -[Magento-Connect]: https://www.magentocommerce.com/magento-connect/compropago-oxxo-seven-eleven-extra-chedraui-elektra.html -[Compropago-Panel]: https://compropago.com/panel/configuracion -[Compropago-Webhooks]: https://compropago.com/panel/webhooks +- [Instalación](http://demo.compropago.com/list/plugins/magento.php) diff --git a/app/code/community/Compropago/CpPayment/Block/Form.php b/app/code/community/Compropago/CpPayment/Block/Form.php deleted file mode 100644 index c22fafa..0000000 --- a/app/code/community/Compropago/CpPayment/Block/Form.php +++ /dev/null @@ -1,59 +0,0 @@ - - */ - - -class Compropago_CpPayment_Block_Form extends Mage_Payment_Block_Form -{ - protected function _construct() - { - parent::_construct(); - $this->setTemplate('compropago/cppayment/cash.phtml'); - } - - public function getMethod() - { - return parent::getMethod(); - } - - - /** - * Render template for Payment Method Lebel in checkout - * - * @return mixed - */ - public function getMethodLabelAfterHtml() - { - $model = Mage::getModel('cppayment/standard'); - - $logo = (int)trim($model->getConfigData('compropago_show_title_logo')) == 1 ? true : false; - - $final = ""; - - if ($logo) { - $mark = Mage::getConfig()->getBlockClassName('core/template'); - $mark = new $mark; - $mark->setTemplate('compropago/cppayment/mark.phtml'); - $final = $mark->toHtml(); - } - - return $final; - } -} \ No newline at end of file diff --git a/app/code/community/Compropago/CpPayment/Block/Info.php b/app/code/community/Compropago/CpPayment/Block/Info.php deleted file mode 100644 index cb29ba3..0000000 --- a/app/code/community/Compropago/CpPayment/Block/Info.php +++ /dev/null @@ -1,28 +0,0 @@ - - */ -class Compropago_CpPayment_Block_Info extends Mage_Payment_Block_Info -{ - public function __construct() - { - $this->setTemplate('compropago/cppayment/info.phtml'); - } -} \ No newline at end of file diff --git a/app/code/community/Compropago/CpPayment/Helper/Data.php b/app/code/community/Compropago/CpPayment/Helper/Data.php deleted file mode 100644 index fbc040d..0000000 --- a/app/code/community/Compropago/CpPayment/Helper/Data.php +++ /dev/null @@ -1,28 +0,0 @@ - - */ - -class Compropago_CpPayment_Helper_Data extends Mage_Payment_Helper_Data -{ - protected function something() - { - // TODO: Something to do for not empty class - } -} \ No newline at end of file diff --git a/app/code/community/Compropago/CpPayment/Model/Observer.php b/app/code/community/Compropago/CpPayment/Model/Observer.php deleted file mode 100644 index a900cc4..0000000 --- a/app/code/community/Compropago/CpPayment/Model/Observer.php +++ /dev/null @@ -1,80 +0,0 @@ - - */ -$libcp = Mage::getBaseDir('lib') . DS . 'Compropago' . DS . 'vendor' . DS . 'autoload.php'; - -require_once $libcp; - -use CompropagoSdk\Client; - -class Compropago_CpPayment_Model_Observer -{ - public function checkWebhook($observer) - { - $webhook = Mage::getBaseUrl() . "cpwebhook"; - $model = Mage::getModel('cppayment/Standard'); - $mode = (int)trim($model->getConfigData('compropago_mode')) == 1 ? true : false; - - try{ - $client = new Client( - $model->getConfigData('compropago_publickey'), - $model->getConfigData('compropago_privatekey'), - $mode - ); - - $response = $client->api->createWebhook($webhook); - - $time = Mage::getModel('core/date')->timestamp(); // time standart function - - $DB = Mage::getSingleton('core/resource')->getConnection('core_write'); - $prefix = Mage::getConfig()->getTablePrefix(); - - $dataInsert = array( - 'webhookId' => $response->id, - 'updated' => $time, - 'status' => $response->status, - 'url' => $webhook - ); - - $DB->insert($prefix."compropago_webhook_transactions", $dataInsert); - - /* Retroalimentación en el panel de administración - ------------------------------------------------------------------------ */ - - $retro = $model->hookRetro( - (int)trim($model->getConfigData('active')) == 1 ? true : false, - $model->getConfigData('compropago_publickey'), - $model->getConfigData('compropago_privatekey'), - (int)trim($model->getConfigData('compropago_mode')) == 1 ? true : false - ); - - if ($retro[0]) { - Mage::getSingleton('adminhtml/session')->addWarning($retro[1]); - } - } catch (Exception $e) { - if ($e->getMessage() == 'Error: conflict.urls.create') { - return; - } else { - Mage::throwException($e->getMessage()); - } - } - } -} \ No newline at end of file diff --git a/app/code/community/Compropago/CpPayment/Model/Providers.php b/app/code/community/Compropago/CpPayment/Model/Providers.php deleted file mode 100644 index dda5fcb..0000000 --- a/app/code/community/Compropago/CpPayment/Model/Providers.php +++ /dev/null @@ -1,56 +0,0 @@ - - */ - -require_once Mage::getBaseDir('lib') . DS . 'Compropago' . DS . 'vendor' . DS . 'autoload.php'; - -use CompropagoSdk\Client; - -class Compropago_CpPayment_Model_Providers -{ - public function toOptionArray() - { - $options = array(); - $client = new Client('', '', false); - $flag = false; - - foreach ($client->api->listDefaultProviders() as $provider){ - $options[] = array( - 'value' => $provider->internal_name, - 'label' => $provider->name - ); - - if ($provider->internal_name == "OXXO") { - $flag = true; - } - } - - if (!$flag) { - $OXXO[] = array( - 'value' => "OXXO", - 'label' => "Oxxo" - ); - - $options = array_merge($OXXO,$options); - } - - return $options; - } -} \ No newline at end of file diff --git a/app/code/community/Compropago/CpPayment/etc/config.xml b/app/code/community/Compropago/CpPayment/etc/config.xml deleted file mode 100644 index 83f2260..0000000 --- a/app/code/community/Compropago/CpPayment/etc/config.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - - - 2.1.2 - - - - - - - - - * - - - * - - - - - - - Compropago_CpPayment_Block - - - - - Compropago_CpPayment_Helper - - - - - Compropago_CpPayment_Model - - - - - - - - - Compropago_CpPayment - - - - - - - - - - - cppayment/observer - checkWebhook - - - - - - - - - - - - - standard - - Compropago_CpPayment - cpwebhook - - - - - - - cppayment.xml - - - - - - - - - - - 1 - cppayment/standard - Pago en efectivo - ComproPago - 0 - sale - 1 - pending - processing - pending - canceled - 1 - 200 - - - - \ No newline at end of file diff --git a/app/code/community/Compropago/CpPayment/sql/cppayment_setup/install-2.1.1.php b/app/code/community/Compropago/CpPayment/sql/cppayment_setup/install-2.1.1.php deleted file mode 100644 index 7afa779..0000000 --- a/app/code/community/Compropago/CpPayment/sql/cppayment_setup/install-2.1.1.php +++ /dev/null @@ -1,92 +0,0 @@ - - */ -function sqlDropTables($prefix = null) { - return array( - 'DROP TABLE IF EXISTS `' . $prefix . 'compropago_orders`;', - 'DROP TABLE IF EXISTS `' . $prefix . 'compropago_transactions`;', - 'DROP TABLE IF EXISTS `' . $prefix . 'compropago_webhook_transactions`;' - ); -} - -/** - * Get query array for create tables - * - * @param null $prefix - * @return array - * - * @author Eduardo Aguilar - */ -function sqlCreateTables($prefix = null) { - return array( - 'CREATE TABLE `' . $prefix . 'compropago_orders` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `date` int(11) NOT NULL, - `modified` int(11) NOT NULL, - `compropagoId` varchar(50) NOT NULL, - `compropagoStatus`varchar(50) NOT NULL, - `storeCartId` varchar(255) NOT NULL, - `storeOrderId` varchar(255) NOT NULL, - `storeExtra` varchar(255) NOT NULL, - `ioIn` mediumtext, - `ioOut` mediumtext, - PRIMARY KEY (`id`), UNIQUE KEY (`compropagoId`) - );', - 'CREATE TABLE `' . $prefix . 'compropago_transactions` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `orderId` int(11) NOT NULL, - `date` int(11) NOT NULL, - `compropagoId` varchar(50) NOT NULL, - `compropagoStatus` varchar(50) NOT NULL, - `compropagoStatusLast` varchar(50) NOT NULL, - `ioIn` mediumtext, - `ioOut` mediumtext, - PRIMARY KEY (`id`) - );', - 'CREATE TABLE `' . $prefix . 'compropago_webhook_transactions` ( - `id` integer not null auto_increment, - `webhookId` varchar(50) not null, - `updated` integer not null, - `status` varchar(50) not null, - `url` text not null, - primary key(id) - );' - ); -} - -$installer = $this; -$installer->startSetup(); - -$prefix = Mage::getConfig()->getTablePrefix(); - -foreach (sqlDropTables($prefix) as $table) { - $installer->run($table); -} - -foreach (sqlCreateTables($prefix) as $table) { - $installer->run($table); -} - -$installer->endSetup(); \ No newline at end of file diff --git a/app/code/local/ComproPago/Cash/Block/Form.php b/app/code/local/ComproPago/Cash/Block/Form.php new file mode 100644 index 0000000..f5eaa2a --- /dev/null +++ b/app/code/local/ComproPago/Cash/Block/Form.php @@ -0,0 +1,37 @@ +setTemplate($this->template); + } + + /** + * Return the payment method + * @return Mage_Payment_Model_Method_Abstract + */ + public function getMethod() + { + return parent::getMethod(); + } + + /** + * Render template for Payment Method Lebel in checkout + * @return string + */ + public function getMethodLabelAfterHtml() + { + $mark = Mage::getConfig()->getBlockClassName('core/template'); + $mark = new $mark; + $mark->setTemplate('compropago/cash/mark.phtml'); + + return $mark->toHtml(); + } +} \ No newline at end of file diff --git a/app/code/local/ComproPago/Cash/Block/Info.php b/app/code/local/ComproPago/Cash/Block/Info.php new file mode 100644 index 0000000..5469a7a --- /dev/null +++ b/app/code/local/ComproPago/Cash/Block/Info.php @@ -0,0 +1,15 @@ +setTemplate($this->template); + } +} \ No newline at end of file diff --git a/app/code/local/ComproPago/Cash/Helper/Data.php b/app/code/local/ComproPago/Cash/Helper/Data.php new file mode 100644 index 0000000..eb9aba3 --- /dev/null +++ b/app/code/local/ComproPago/Cash/Helper/Data.php @@ -0,0 +1,9 @@ + + * Assing data to the order process + * @param mixed $data + * @return $this|Mage_Payment_Model_Info */ public function assignData($data) { @@ -58,21 +54,58 @@ public function assignData($data) "customer_phone" => $data->getCustomerPhone() ); } - $infoInstance = $this->getInfoInstance(); $infoInstance->setAdditionalData(serialize($info)); - return $this; } /** - * Generate order - * - * @param $paymentAction - * @param $stateObject - * @return $this - * - * @author Eduardo Aguilar + * Return the providers array in checkout + * @return array + * @throws Mage_Core_Model_Store_Exception + */ + public function getProviders() + { + $client = new Client( + $this->getConfigData('compropago_publickey'), + $this->getConfigData('compropago_privatekey'), + (int)trim($this->getConfigData('compropago_mode')) == 1 ? true : false + ); + + $quote = Mage::getModel('checkout/session')->getQuote(); + $quoteData = $quote->getData(); + $grandTotal = $quoteData['grand_total']; + $providers = $client->api->listProviders($grandTotal, Mage::app()->getStore()->getCurrentCurrencyCode()); + $filter = explode(',', $this->getConfigData('compropago_provider_available')); + + $record = []; + + foreach ($providers as $provider) { + foreach ($filter as $value) { + if ($provider->internal_name == $value) { + $record[] = $provider; + } + } + } + + return $record; + } + + /** + * Return the title method according with the context + * @return string + */ + public function getTitle() + { + return $this->getConfigData('title'); + } + + /** + * Main process to create order + * @param string $paymentAction + * @param object $stateObject + * @return $this|Mage_Payment_Model_Abstract + * @throws Mage_Core_Exception */ public function initialize($paymentAction, $stateObject) { @@ -85,34 +118,28 @@ public function initialize($paymentAction, $stateObject) // Set the default state of the new order. $state = Mage_Sales_Model_Order::STATE_NEW; // state now = 'pending_payment' $defaultStatus = 'pending'; - $stateObject->setState($state); $stateObject->setStatus($defaultStatus); $stateObject->setIsNotified(false); $sessionCheckout = Mage::getSingleton('checkout/session'); $quoteId = $sessionCheckout->getQuoteId(); - $quote = Mage::getSingleton('checkout/session')->getQuote($quoteId); $orderId = $quote->getReservedOrderId(); - $order = Mage::getModel('sales/order')->loadByIncrementId($orderId); $grandTotal = (float)$order->getBaseGrandTotal(); - $convertQuote = Mage::getSingleton('sales/convert_quote'); $order = $convertQuote->toOrder($quote); $orderNumber = $order->getIncrementId(); + $orderOne = Mage::getModel('sales/order')->loadByIncrementId($orderNumber); - $orderOne = Mage::getModel('sales/order')->loadByIncrementId($orderNumber); $orderOne->setVisibleOnFront(1); - - $name = ""; + foreach ($orderOne->getAllItems() as $item) { $name .= $item->getName(); } - $infoIntance = $this->getInfoInstance(); $info = unserialize($infoIntance->getAdditionalData()); @@ -148,7 +175,6 @@ public function initialize($paymentAction, $stateObject) /* ************************************************************************ ASIGNAR COMPRA AL USUARIO ************************************************************************ */ - $customer = Mage::getModel('customer/customer'); $customer->setWebsiteId(1); $customer->loadByEmail($info['customer_email']); @@ -165,10 +191,8 @@ public function initialize($paymentAction, $stateObject) /* ************************************************************************ RUTINAS DE BASE DE DATOS ************************************************************************ */ - $DB = Mage::getSingleton('core/resource')->getConnection('core_write'); $prefix = Mage::getConfig()->getTablePrefix(); - $date = Mage::getModel('core/date')->timestamp(); // time standart function $ioin = base64_encode(serialize($order)); $ioout = base64_encode(serialize($response)); @@ -186,12 +210,10 @@ public function initialize($paymentAction, $stateObject) 'ioIn' => $ioin, 'ioOut' => $ioout ); - $DB->insert($prefix."compropago_orders", $dataInsert); /* TABLE compropago_transactions ------------------------------------------------------------------------*/ - $dataInsert = array( 'orderId' => $orderNumber, 'date' => $date, @@ -206,85 +228,16 @@ public function initialize($paymentAction, $stateObject) } catch (Exception $error) { Mage::throwException($error->getMessage()); } - return $this; } /** - * Obtain available providers - * + * Validate configuration options and return warnings + * @param bool $enabled + * @param string $publickey + * @param string $privatekey + * @param bool $live * @return array - * - * @author Eduardo Aguilar - */ - public function getProviders() - { - $client = new Client( - $this->getConfigData('compropago_publickey'), - $this->getConfigData('compropago_privatekey'), - (int)trim($this->getConfigData('compropago_mode')) == 1 ? true : false - ); - - $quote = Mage::getModel('checkout/session')->getQuote(); - $quoteData = $quote->getData(); - $grandTotal = $quoteData['grand_total']; - - $providers = $client->api->listProviders($grandTotal, Mage::app()->getStore()->getCurrentCurrencyCode()); - $filter = explode(',', $this->getConfigData('compropago_provider_available')); - - $record = array(); - foreach ($providers as $provider) { - foreach ($filter as $value) { - if ($provider->internal_name == $value) { - $record[] = $provider; - } - } - } - - return $record; - } - - /** - * Get payment method title or image banner - * - * @param bool $isInfo - * @return string - * - * @author Eduardo Aguilar - */ - public function getTitle($isInfo = false) - { - if ($isInfo) { - return $this->getConfigData('title'); - } else { - $logo = (int)trim($this->getConfigData('compropago_show_title_logo')) == 1 ? true : false; - return $logo ? "" : $this->getConfigData('title'); - } - } - - /** - * Verify if the plugin is allow to show image buttons for providers - * - * @return bool - * - * @author Eduardo Aguilar - */ - public function showLogoProviders() - { - return (int)trim($this->getConfigData("compropago_showlogo")) == 1 ? true : false; - } - - - /** - * Return warning messages after save configuration - * - * @param $enabled - * @param $publickey - * @param $privatekey - * @param $live - * @return array - * - * @author Eduardo Aguilar */ public function hookRetro($enabled, $publickey, $privatekey, $live) { @@ -295,7 +248,6 @@ public function hookRetro($enabled, $publickey, $privatekey, $live) 'no' ); } - if (empty($publickey) || empty($privatekey)) { return array( true, @@ -303,14 +255,12 @@ public function hookRetro($enabled, $publickey, $privatekey, $live) 'no' ); } - try { $client = new Client( $publickey, $privatekey, $live ); - $compropagoResponse = Validations::evalAuth($client); //eval keys if (!Validations::validateGateway($client)) { @@ -320,7 +270,6 @@ public function hookRetro($enabled, $publickey, $privatekey, $live) 'no' ); } - if ($compropagoResponse->mode_key != $compropagoResponse->livemode) { return array( true, @@ -328,7 +277,6 @@ public function hookRetro($enabled, $publickey, $privatekey, $live) 'no' ); } - if ($live != $compropagoResponse->livemode) { return array( true, @@ -336,7 +284,6 @@ public function hookRetro($enabled, $publickey, $privatekey, $live) 'no' ); } - if ($live != $compropagoResponse->mode_key) { return array( true, @@ -344,7 +291,6 @@ public function hookRetro($enabled, $publickey, $privatekey, $live) 'no' ); } - if (!$compropagoResponse->mode_key && !$compropagoResponse->livemode) { return array( true, @@ -358,12 +304,11 @@ public function hookRetro($enabled, $publickey, $privatekey, $live) $e->getMessage(), 'no' ); - } - + } return array( false, '', 'yes' ); } -} +} \ No newline at end of file diff --git a/app/code/local/ComproPago/Cash/Model/Observer.php b/app/code/local/ComproPago/Cash/Model/Observer.php new file mode 100644 index 0000000..e1ca81d --- /dev/null +++ b/app/code/local/ComproPago/Cash/Model/Observer.php @@ -0,0 +1,24 @@ +hookRetro( + (int)trim($model->getConfigData('active')) == 1 ? true : false, + $model->getConfigData('compropago_publickey'), + $model->getConfigData('compropago_privatekey'), + (int)trim($model->getConfigData('compropago_mode')) == 1 ? true : false + ); + + if ($retro[0]) { + Mage::getSingleton('adminhtml/session')->addWarning($retro[1]); + } + } +} \ No newline at end of file diff --git a/app/code/local/ComproPago/Cash/Model/Providers.php b/app/code/local/ComproPago/Cash/Model/Providers.php new file mode 100644 index 0000000..ff85394 --- /dev/null +++ b/app/code/local/ComproPago/Cash/Model/Providers.php @@ -0,0 +1,27 @@ +api->listDefaultProviders() as $provider){ + $options[] = array( + 'value' => $provider->internal_name, + 'label' => $provider->name + ); + } + + return $options; + } +} \ No newline at end of file diff --git a/app/code/local/ComproPago/Cash/etc/config.xml b/app/code/local/ComproPago/Cash/etc/config.xml new file mode 100644 index 0000000..9d848d1 --- /dev/null +++ b/app/code/local/ComproPago/Cash/etc/config.xml @@ -0,0 +1,79 @@ + + + + + 2.2.0.0 + + + + + + + + * + + + * + + + + + + + ComproPago_Cash_Block + + + + + ComproPago_Cash_Helper + + + + + ComproPago_Cash_Model + + + + + + + ComproPago_Cash + + + + + + + + + cash/observer + retro + + + + + + + + + + + cash.xml + + + + + + + + + 1 + cash/cash + Pago en efectivo + 0 + sale + 1 + + + + \ No newline at end of file diff --git a/app/code/community/Compropago/CpPayment/etc/system.xml b/app/code/local/ComproPago/Cash/etc/system.xml similarity index 72% rename from app/code/community/Compropago/CpPayment/etc/system.xml rename to app/code/local/ComproPago/Cash/etc/system.xml index 43ff4f2..1fe7cf0 100644 --- a/app/code/community/Compropago/CpPayment/etc/system.xml +++ b/app/code/local/ComproPago/Cash/etc/system.xml @@ -3,8 +3,8 @@ - - + + text 100 1 @@ -31,17 +31,6 @@ 0 - - - Mostrara el logo de ComproPago como titulo del metodo de pago - select - adminhtml/system_config_source_yesno - 3 - 1 - 1 - 1 - - text @@ -71,20 +60,10 @@ 0 - - - select - adminhtml/system_config_source_yesno - 9 - 1 - 1 - 1 - - multiselect - cppayment/providers + cash/providers 10 1 1 @@ -101,8 +80,8 @@ validate-number - + - + \ No newline at end of file diff --git a/app/code/local/ComproPago/Webhook/Model/Observer.php b/app/code/local/ComproPago/Webhook/Model/Observer.php new file mode 100644 index 0000000..cf1e995 --- /dev/null +++ b/app/code/local/ComproPago/Webhook/Model/Observer.php @@ -0,0 +1,41 @@ +getConfigData('compropago_mode')) == 1 ? true : false; + + try { + $client = new Client( + $model->getConfigData('compropago_publickey'), + $model->getConfigData('compropago_privatekey'), + $mode + ); + + $client->api->createWebhook($webhook); + + $session->addSuccess('ComproPago Webhook was registered correctly'); + } catch (Exception $e) { + if ($e->getMessage() == 'Error: conflict.urls.create') { + $session->addSuccess('ComproPago Webhook was registered correctly'); + return; + } else { + Mage::throwException($e->getMessage()); + } + } + } +} \ No newline at end of file diff --git a/app/code/community/Compropago/CpPayment/controllers/IndexController.php b/app/code/local/ComproPago/Webhook/controllers/WebhookController.php similarity index 84% rename from app/code/community/Compropago/CpPayment/controllers/IndexController.php rename to app/code/local/ComproPago/Webhook/controllers/WebhookController.php index 07de31a..c77ac6d 100644 --- a/app/code/community/Compropago/CpPayment/controllers/IndexController.php +++ b/app/code/local/ComproPago/Webhook/controllers/WebhookController.php @@ -1,50 +1,37 @@ - */ -$libcp = Mage::getBaseDir('lib') . DS . 'Compropago' . DS . 'vendor' . DS . 'autoload.php'; - -require_once $libcp; +require_once Mage::getBaseDir('lib') . DS . 'ComproPago' . DS . 'vendor' . DS . 'autoload.php'; use CompropagoSdk\Factory\Factory; use CompropagoSdk\Client; use CompropagoSdk\Tools\Validations; - -class Compropago_CpPayment_IndexController extends Mage_Core_Controller_Front_Action +class ComproPago_Webhook_WebhookController extends Mage_Core_Controller_Front_Action { protected $_model = null; + /** + * ComproPago_Cash_IndexController Constructor + */ public function _construct() { - $this->_model = Mage::getModel('cppayment/Standard'); + $this->_model = Mage::getModel('ComproPago_Cash_Model_Cash'); } + /** + * Main webhook action + * @throws Exception + */ public function indexAction() { + header('Content-Type: application/json'); + $request = @file_get_contents('php://input'); - if (!$respWebhook = Factory::getInstanceOf('CpOrderInfo', $request)) { + if (empty($request) || !$respWebhook = Factory::getInstanceOf('CpOrderInfo', $request)) { die(json_encode([ 'status' => 'error', - 'message' => 'invalid request', + 'message' => 'Invalid request', 'short_id' => null, 'reference' => null ])); @@ -54,7 +41,6 @@ public function indexAction() $privatekey = $this->_model->getConfigData('compropago_privatekey'); $live = (int)trim($this->_model->getConfigData('compropago_mode')) == 1 ? true : false; - if (empty($publickey) || empty($privatekey)) { die(json_encode([ 'status' => 'error', @@ -66,7 +52,6 @@ public function indexAction() try { $client = new Client($publickey, $privatekey, $live); - Validations::validateGateway($client); if ($respWebhook->short_id == "000000") { @@ -79,7 +64,6 @@ public function indexAction() } $response = $client->api->verifyOrder($respWebhook->id); - if ($response->type == 'error') { die(json_encode([ 'status' => 'error', @@ -99,8 +83,7 @@ public function indexAction() $ioin = base64_encode(serialize($respWebhook)); $ioout = base64_encode(serialize($response)); - $date = Mage::getModel('core/date')->timestamp(); // time standart function - + $date = Mage::getModel('core/date')->timestamp(); $sql = "SELECT * FROM " . $prefix . "compropago_orders where compropagoId = '{$response->id}'"; $res = $DBread->fetchAll($sql); @@ -118,58 +101,44 @@ public function indexAction() /* Rutinas de aprovación ------------------------------------------------------------------------*/ + $_order = Mage::getModel('sales/order')->loadByIncrementId($response->order_info->order_id); switch ($response->type) { case 'charge.pending': $state = Mage_Sales_Model_Order::STATE_NEW; $status = "pending"; - $_order->setData('state', $state); - $_order->setStatus($status); - $_order->save(); - $nomestatus = 'COMPROPAGO_PENDING'; break; - case 'charge.success': $state = Mage_Sales_Model_Order::STATE_PROCESSING; $status = "processing"; - $_order->setData('state', $state); - $_order->setStatus($status); - $message = 'ComproPago automatically confirmed payment for this order.'; $history = $_order->addStatusHistoryComment($message); - $history->setIsCustomerNotified(true); - $_order->save(); - $nomestatus = 'COMPROPAGO_SUCCESS'; break; - case 'charge.expired': $state = Mage_Sales_Model_Order::STATE_CANCELED; $status = "canceled"; - $_order->setData('state', $state); - + $_order->setStatus($status); - + $message = 'The user has not completed the payment and the order was cancelled.'; $history = $_order->addStatusHistoryComment($message); - + $history->setIsCustomerNotified(false); - - $_order->save(); + $_order->save(); $nomestatus = 'COMPROPAGO_EXPIRED'; break; - default: $_order->save(); die(json_encode([ @@ -191,9 +160,9 @@ public function indexAction() $DBwrite->update($prefix."compropago_orders", $updateData, 'id='. $res[0]['id']); - /* TABLE compropago_transactions ------------------------------------------------------------------------*/ + $dataInsert = array( 'orderId' => $storedId, 'date' => $date, @@ -221,4 +190,4 @@ public function indexAction() ])); } } -} +} \ No newline at end of file diff --git a/app/code/local/ComproPago/Webhook/etc/config.xml b/app/code/local/ComproPago/Webhook/etc/config.xml new file mode 100644 index 0000000..4def110 --- /dev/null +++ b/app/code/local/ComproPago/Webhook/etc/config.xml @@ -0,0 +1,41 @@ + + + + + 1.0.0.0 + + + + + + + ComproPago_Webhook_Model + + + + + + + + + webhook/observer + create + + + + + + + + + + + standard + + ComproPago_Webhook + compropago + + + + + \ No newline at end of file diff --git a/app/design/adminhtml/base/default/template/compropago/cppayment/info.phtml b/app/design/adminhtml/base/default/template/compropago/cppayment/info.phtml deleted file mode 100644 index 7908e71..0000000 --- a/app/design/adminhtml/base/default/template/compropago/cppayment/info.phtml +++ /dev/null @@ -1,2 +0,0 @@ -

ComproPago

-

Compropago Payment Extension

diff --git a/app/design/adminhtml/default/base/default/template/compropago/cash/info.phtml b/app/design/adminhtml/default/base/default/template/compropago/cash/info.phtml new file mode 100644 index 0000000..1844a11 --- /dev/null +++ b/app/design/adminhtml/default/base/default/template/compropago/cash/info.phtml @@ -0,0 +1,4 @@ +

+ ComproPago + ComproPago Cash +

\ No newline at end of file diff --git a/app/design/frontend/base/default/layout/cash.xml b/app/design/frontend/base/default/layout/cash.xml new file mode 100644 index 0000000..386afc0 --- /dev/null +++ b/app/design/frontend/base/default/layout/cash.xml @@ -0,0 +1,19 @@ + + + + + + compropago/compropago.css + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/design/frontend/base/default/layout/cppayment.xml b/app/design/frontend/base/default/layout/cppayment.xml deleted file mode 100644 index 17e4839..0000000 --- a/app/design/frontend/base/default/layout/cppayment.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - compropago/compropago.css - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/design/frontend/base/default/template/compropago/cash/form.phtml b/app/design/frontend/base/default/template/compropago/cash/form.phtml new file mode 100644 index 0000000..e167f36 --- /dev/null +++ b/app/design/frontend/base/default/template/compropago/cash/form.phtml @@ -0,0 +1,33 @@ +getMethodCode(); +$_model = $this->getMethod(); +$_getProviders = $_model->getProviders(); +?> + +
+ +
\ No newline at end of file diff --git a/app/design/frontend/base/default/template/compropago/cash/info.phtml b/app/design/frontend/base/default/template/compropago/cash/info.phtml new file mode 100644 index 0000000..6077f23 --- /dev/null +++ b/app/design/frontend/base/default/template/compropago/cash/info.phtml @@ -0,0 +1,24 @@ + + +

escapeHtml($this->getMethod()->getTitle()) ?>

+ +getSpecificInformation()):?> + + + $_value):?> + + + + + + + + +
escapeHtml($_label)?>:
getValueAsArray($_value, true), "\n"))?>
+ + +getChildHtml()?> \ No newline at end of file diff --git a/app/design/frontend/base/default/template/compropago/cash/mark.phtml b/app/design/frontend/base/default/template/compropago/cash/mark.phtml new file mode 100644 index 0000000..7fba013 --- /dev/null +++ b/app/design/frontend/base/default/template/compropago/cash/mark.phtml @@ -0,0 +1,5 @@ + + +ComproPago \ No newline at end of file diff --git a/app/design/frontend/base/default/template/compropago/cppayment/success.phtml b/app/design/frontend/base/default/template/compropago/cash/success.phtml similarity index 99% rename from app/design/frontend/base/default/template/compropago/cppayment/success.phtml rename to app/design/frontend/base/default/template/compropago/cash/success.phtml index 51f65e4..eaecfc1 100644 --- a/app/design/frontend/base/default/template/compropago/cppayment/success.phtml +++ b/app/design/frontend/base/default/template/compropago/cash/success.phtml @@ -48,7 +48,6 @@ iframe.style.height=height + 'px'; } } - window.onload = function(event) { resizeIframe(); }; @@ -73,7 +72,3 @@ getAbsoluteFooter() ?> - - - - diff --git a/app/design/frontend/base/default/template/compropago/cppayment/.DS_Store b/app/design/frontend/base/default/template/compropago/cppayment/.DS_Store deleted file mode 100644 index 32e6530415391c096a195351485ce1f2c2ed29c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKF-`+95Zr}GM50Ma=`Z95R&=}|9{}YL6dbuCDbo29{DJ@EF=?6cF6fS&L143~t{-go3!~dMO}pQ1M2@G|x5_(XwBIoLC#p1BWw2nlp+G1Q3WNfoz>g__ zJDWDYHjFwH2n9lcPX%~BBotzHEQa;yKvh!!AfM6I;4_zCOmfVQ#SkMfwNRjis;3xg z;pk7!%Z|m+!bLs#P+$2YdC|H$=1-L_nhm241ww(b0+-fY@czHWFEg3sk3*sr3WNgx zOaYxW>t=getMethodCode(); -$_model = $this->getMethod(); -$_getProviders = $_model->getProviders(); -?> - -
- -
diff --git a/app/design/frontend/base/default/template/compropago/cppayment/info.phtml b/app/design/frontend/base/default/template/compropago/cppayment/info.phtml deleted file mode 100644 index 365641b..0000000 --- a/app/design/frontend/base/default/template/compropago/cppayment/info.phtml +++ /dev/null @@ -1,45 +0,0 @@ - - */ -?> - -

escapeHtml($this->getMethod()->getTitle(true)) ?>

- -getSpecificInformation()):?> - - - $_value):?> - - - - - - - - -
escapeHtml($_label)?>:
getValueAsArray($_value, true), "\n"))?>
- - -getChildHtml()?> - diff --git a/app/design/frontend/base/default/template/compropago/cppayment/mark.phtml b/app/design/frontend/base/default/template/compropago/cppayment/mark.phtml deleted file mode 100644 index 2434e3a..0000000 --- a/app/design/frontend/base/default/template/compropago/cppayment/mark.phtml +++ /dev/null @@ -1,25 +0,0 @@ - - */ -?> -
- Compropago-Logo -
- diff --git a/app/etc/modules/Compropago_CpPayment.xml b/app/etc/modules/ComproPago_Cash.xml similarity index 51% rename from app/etc/modules/Compropago_CpPayment.xml rename to app/etc/modules/ComproPago_Cash.xml index 703043d..bf3d730 100644 --- a/app/etc/modules/Compropago_CpPayment.xml +++ b/app/etc/modules/ComproPago_Cash.xml @@ -1,13 +1,13 @@ - + true - community + local - + - + \ No newline at end of file diff --git a/app/etc/modules/ComproPago_Webhook.xml b/app/etc/modules/ComproPago_Webhook.xml new file mode 100644 index 0000000..73c358b --- /dev/null +++ b/app/etc/modules/ComproPago_Webhook.xml @@ -0,0 +1,9 @@ + + + + + true + local + + + \ No newline at end of file diff --git a/js/compropago/compropago.js b/js/compropago/compropago.js deleted file mode 100644 index 670a4c9..0000000 --- a/js/compropago/compropago.js +++ /dev/null @@ -1,21 +0,0 @@ -function seleccionar(elem){ - allproviders = document.querySelectorAll(".cp-provider"); - for(var x = 0; x < allproviders.length; x++){ - allproviders[x].classList.remove("cp-selected"); - } - elem.classList.add("cp-selected"); - provider = elem.getAttribute('data-provider'); - document.getElementById('store_code_selected').value = provider; -} - - -window.onload = function(){ - $$("#co-payment-form input[type=radio]").each(function(input){ - input.observe("click", function(t){ - if(t.getAttribute("id") == "cp-provider"){ - seleccionar(t); - } - }); - }); -}; - diff --git a/lib/Compropago/vendor/autoload.php b/lib/Compropago/vendor/autoload.php index 9a7e2c1..b243f40 100644 --- a/lib/Compropago/vendor/autoload.php +++ b/lib/Compropago/vendor/autoload.php @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInit2b60ea650b6fe94196e9edf96da0ea03::getLoader(); +return ComposerAutoloaderInitc787b932291f142c6974c19e5a38dc22::getLoader(); diff --git a/lib/Compropago/vendor/composer/ClassLoader.php b/lib/Compropago/vendor/composer/ClassLoader.php index 2c72175..dc02dfb 100644 --- a/lib/Compropago/vendor/composer/ClassLoader.php +++ b/lib/Compropago/vendor/composer/ClassLoader.php @@ -379,9 +379,9 @@ private function findFileWithExtension($class, $ext) $subPath = substr($subPath, 0, $lastPos); $search = $subPath.'\\'; if (isset($this->prefixDirsPsr4[$search])) { + $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); foreach ($this->prefixDirsPsr4[$search] as $dir) { - $length = $this->prefixLengthsPsr4[$first][$search]; - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) { + if (file_exists($file = $dir . $pathEnd)) { return $file; } } diff --git a/lib/Compropago/vendor/composer/autoload_real.php b/lib/Compropago/vendor/composer/autoload_real.php index a88442f..f9d3e8f 100644 --- a/lib/Compropago/vendor/composer/autoload_real.php +++ b/lib/Compropago/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit2b60ea650b6fe94196e9edf96da0ea03 +class ComposerAutoloaderInitc787b932291f142c6974c19e5a38dc22 { private static $loader; @@ -19,15 +19,15 @@ public static function getLoader() return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit2b60ea650b6fe94196e9edf96da0ea03', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInitc787b932291f142c6974c19e5a38dc22', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInit2b60ea650b6fe94196e9edf96da0ea03', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInitc787b932291f142c6974c19e5a38dc22', 'loadClassLoader')); $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); if ($useStaticLoader) { require_once __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit2b60ea650b6fe94196e9edf96da0ea03::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInitc787b932291f142c6974c19e5a38dc22::getInitializer($loader)); } else { $map = require __DIR__ . '/autoload_namespaces.php'; foreach ($map as $namespace => $path) { diff --git a/lib/Compropago/vendor/composer/autoload_static.php b/lib/Compropago/vendor/composer/autoload_static.php index 1cf7e0f..c2dedba 100644 --- a/lib/Compropago/vendor/composer/autoload_static.php +++ b/lib/Compropago/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit2b60ea650b6fe94196e9edf96da0ea03 +class ComposerStaticInitc787b932291f142c6974c19e5a38dc22 { public static $prefixLengthsPsr4 = array ( 'C' => @@ -23,8 +23,8 @@ class ComposerStaticInit2b60ea650b6fe94196e9edf96da0ea03 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit2b60ea650b6fe94196e9edf96da0ea03::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit2b60ea650b6fe94196e9edf96da0ea03::$prefixDirsPsr4; + $loader->prefixLengthsPsr4 = ComposerStaticInitc787b932291f142c6974c19e5a38dc22::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInitc787b932291f142c6974c19e5a38dc22::$prefixDirsPsr4; }, null, ClassLoader::class); } diff --git a/media/cppayment/compropago-logo.png b/media/cppayment/compropago-logo.png deleted file mode 100644 index ab0afbdd6152dfa98b994922fe1a041affb33ade..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20968 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 baG3FbWG^>ioO%Ul00000NkvXXu0mjf6TFqE diff --git a/package.xml b/package.xml index 8b8fc21..bc4ef83 100644 --- a/package.xml +++ b/package.xml @@ -3,16 +3,16 @@ Compropago_Payment_Extension 2.2.0.0 stable - Apache License 2.0 + OSL V3.0 community - Compropago Payment - Make cash payments in Mexico - * Change SDK to 4.0.0 - Eduardo Aguilar danteaydante.aguilar41@gmail.com - 2017-09-08 - - + ComproPago gateway + ComproPago payment gateways and services + Refactor dependencies and modules configuration + Eduardo Aguilardanteaydante.aguilar41@gmail.com + 2018-03-28 + + - 5.4.0.08.0.0.0 + 5.6.0.08.0.0.0 diff --git a/skin/frontend/base/default/compropago/compropago.css b/skin/frontend/base/default/compropago/compropago.css deleted file mode 100644 index b5a4472..0000000 --- a/skin/frontend/base/default/compropago/compropago.css +++ /dev/null @@ -1,42 +0,0 @@ -#cppayment_store { - background: url(https://compropago.com/assets/terminal/select-input.png) no-repeat; - width: 298px; - height: 39px; - position: relative; - background-size: 100% auto; - max-width: 100% -} -#payment_form_cppayment h2 { - font-size: 16px; - margin: .5em 0 -} -#cppayment_store.stores-compact { - background: none; - width: 100%; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - height: auto -} -#cppayment_store.stores-compact .cp-provider { - display: block; - width: 75px; - margin-right: 12px; - margin-bottom: 12px; - border-radius: 3px; - position: relative; - transition: all .2s linear; - box-shadow: none -} -#cppayment_store.stores-compact .cp-provider.cp-selected { - box-shadow: 0 0 6px 3px #00aaef -} -#cppayment_store.stores-compact .cp-provider img { - display: block; - margin: 0 auto; - float: none; - width: 100% -}