From c7183346eda1aa5473c4bf18b349e542178111e4 Mon Sep 17 00:00:00 2001 From: LucianDex Date: Thu, 26 Aug 2021 18:21:44 +0300 Subject: [PATCH 01/43] !! Upgraded js SDK version to 10.js Changed - upgraded js SDK version to 10.js - removed version from paylikepayment\api folder files & backoffice.js, currency-warning.tpl, modal.tpl - modified logic to work vith js SDK v10 - updated Readme.md Added paylikepayment.zip for install process --- README.md | 39 ++++++++++++------ paylikepayment.zip | Bin 0 -> 49473 bytes paylikepayment/api/Adapter.php | 1 - paylikepayment/api/Card.php | 1 - paylikepayment/api/Client.php | 1 - paylikepayment/api/Transaction.php | 2 - paylikepayment/paylikepayment.php | 8 ++-- paylikepayment/views/js/backoffice.js | 1 - .../templates/admin/currency-warning.tpl | 1 - .../views/templates/admin/modal.tpl | 1 - .../views/templates/hook/payment.tpl | 30 ++++++++++---- 11 files changed, 53 insertions(+), 32 deletions(-) create mode 100644 paylikepayment.zip diff --git a/README.md b/README.md index 3c1f64f..a1a4335 100755 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ You can also find information about the plugin here: https://paylike.io/plugins/ [![Last succesfull test](https://log.derikon.ro/api/v1/log/read?tag=thirtybees&view=svg&label=ThirtyBees&key=ecommerce&background=f7d43f)](https://log.derikon.ro/api/v1/log/read?tag=thirtybees&view=html) -* The plugin has been tested with most versions of Thirtybees versions at every iteration. We recommend using the latest version of Thirtybees, but if that is not possible for some reason, test the plugin with your Thirtybees version and it would probably function properly. +* *The plugin has been tested with most versions of Thirtybees versions at every iteration. We recommend using the latest version of Thirtybees, but if that is not possible for some reason, test the plugin with your Thirtybees version and it would probably function properly.* ## Installation @@ -20,9 +20,8 @@ Once you have installed Thirtybees, follow these simple steps: 1. Signup at [paylike.io](https://paylike.io) (it’s free) 1. Create a live account 1. Create an app key for your Thirtybees website -1. Log in as administrator and upload the release zip under modules/add a new module (plus icon in the top right corner). -1. You will be redirected to a list that contains the Paylike plugin. Click the green button that says install, and then in the confirmation popup, click proceed with the installation. -1. You will be redirected to the settings screen where you need to add the Public and App key that you can find in your Paylike account. +1. Log in as administrator and upload the release zip under "Modules and services" -> Add a new module (plus icon in the top right corner). +1. It will be installed and you will be redirected to a list that contains the Paylike plugin. Click the Config button to go to the settings screen where you need to add the Public and App key that you can find in your Paylike account (https://paylike.io/). ## Updating settings @@ -30,15 +29,29 @@ Under the extension settings, you can: * Update the payment method text in the payment gateways list * Update the payment method description in the payment gateways list * Update the credit card logos that you want to show (you can change which one you accept under the paylike account). - * Update the title that shows up in the payment popup + * Update the title that shows up in the payment popup * Update the popup description, choose whether you want to show the popup (the cart contents will show up instead) * Add test/live keys * Set payment mode (test/live) - * Change the capture type (Instant/Manual via Paylike Tool) - - - ## Refunding, voiding and capturing - - * To refund an order you can use the paylike tool box you can find on the order edit screen by selecting refund in the select and inputing the amount. - * To void an order you can use the paylike tool box by selecting Void. - * To capture an order in delayed mode, you can either use the status set in settings (move the order to that status), or you can use the tool. + * Change the capture type (Instant/Delayed via Paylike Tool) + + +## Refunding, voiding and capturing + +These actions are available in order view mode, PROCESS PAYLIKE PAYMENT box/section. + + * To refund an order you can use the PROCESS PAYLIKE PAYMENT box you can find on the order edit screen by selecting refund in the select and entering the amount. + * To void an order you can use the PROCESS PAYLIKE PAYMENT box by selecting Void. + * To capture an order in delayed mode, you can either use the status set in settings (move the order to that status), or you can use the PROCESS PAYLIKE PAYMENT box. + +## Available features + +1. Capture + * Thirtybees admin panel: full capture + * Paylike admin panel: full/partial capture +2. Refund + * Thirtybees admin panel: full/partial refund + * Paylike admin panel: full/partial refund +3. Void + * Thirtybees admin panel: full void + * Paylike admin panel: full/partial void \ No newline at end of file diff --git a/paylikepayment.zip b/paylikepayment.zip new file mode 100644 index 0000000000000000000000000000000000000000..6c4fbcb7b312527981ce0af766d938f1e509906c GIT binary patch literal 49473 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 * @copyright Copyright (c) permanent, DerikonDevelopment - * @version 1.0.0 * @link http://www.derikon.com/ * */ diff --git a/paylikepayment/api/Card.php b/paylikepayment/api/Card.php index f5c7556..c2eabed 100644 --- a/paylikepayment/api/Card.php +++ b/paylikepayment/api/Card.php @@ -3,7 +3,6 @@ * * @author DerikonDevelopment * @copyright Copyright (c) permanent, DerikonDevelopment - * @version 1.0.0 * @link http://www.derikon.com/ * */ diff --git a/paylikepayment/api/Client.php b/paylikepayment/api/Client.php index 95295bf..af06757 100644 --- a/paylikepayment/api/Client.php +++ b/paylikepayment/api/Client.php @@ -3,7 +3,6 @@ * * @author DerikonDevelopment * @copyright Copyright (c) permanent, DerikonDevelopment - * @version 1.0.0 * @link http://www.derikon.com/ * */ diff --git a/paylikepayment/api/Transaction.php b/paylikepayment/api/Transaction.php index 5b5286f..f96f7a7 100644 --- a/paylikepayment/api/Transaction.php +++ b/paylikepayment/api/Transaction.php @@ -3,7 +3,6 @@ * * @author DerikonDevelopment * @copyright Copyright (c) permanent, DerikonDevelopment - * @version 1.0.0 * @link http://www.derikon.com/ * */ @@ -15,7 +14,6 @@ * @package Paylike * Handles transaction operations. * - * @version 1.0.0 */ if (!class_exists('Paylike\\Transaction')) { class Transaction diff --git a/paylikepayment/paylikepayment.php b/paylikepayment/paylikepayment.php index 07fa0b5..b0a221e 100644 --- a/paylikepayment/paylikepayment.php +++ b/paylikepayment/paylikepayment.php @@ -4,7 +4,6 @@ * @author DerikonDevelopment * @copyright Copyright (c) permanent, DerikonDevelopment * @license Addons PrestaShop license limitation - * @version 1.0.4 * @link http://www.derikon.com/ * */ @@ -26,7 +25,7 @@ class PaylikePayment extends PaymentModule { public function __construct() { $this->name = 'paylikepayment'; $this->tab = 'payments_gateways'; - $this->version = '1.0.4'; + $this->version = '1.1.0'; $this->author = 'DerikonDevelopment'; $this->bootstrap = true; $this->module_key = '1d083bab290f652fb6fb7ae35f9f0942'; @@ -698,11 +697,12 @@ public function hookPayment( $params ) { $currency_multiplier = $this->getPaylikeCurrencyMultiplier( $currency->iso_code ); $amount = ceil( Tools::ps_round( $params['cart']->getOrderTotal(), $decimals ) * $currency_multiplier ); //paid amounts with 100 to handle $currency_code = $currency->iso_code; + $exponent = $this->getPaylikeCurrency($currency->iso_code)['exponent']; $customer = new Customer( (int) $params['cart']->id_customer ); $name = $customer->firstname . ' ' . $customer->lastname; $email = $customer->email; $customer_address = new Address( (int) ( $params['cart']->id_address_delivery ) ); - $telephone = ! empty( $customer_address->phone ) ? $customer_address->phone : ! empty( $customer_address->phone_mobile ) ? $customer_address->phone_mobile : ''; + $telephone = (! empty( $customer_address->phone ) ? $customer_address->phone : ! empty( $customer_address->phone_mobile )) ? $customer_address->phone_mobile : ''; $address = $customer_address->address1 . ', ' . $customer_address->address2 . ', ' . $customer_address->city . ', ' . $customer_address->country . ' - ' . $customer_address->postcode; $ip = Tools::getRemoteAddr(); $locale = $this->context->language->iso_code; @@ -725,10 +725,12 @@ public function hookPayment( $params ) { 'payment_method_creditcard_logo' => explode( ',', Configuration::get( 'PAYLIKE_PAYMENT_METHOD_LOGO' ) ), 'payment_method_desc' => $payment_method_desc, 'paylike_status' => Configuration::get( 'PAYLIKE_STATUS' ), + 'test_mode' => Configuration::get( 'PAYLIKE_TRANSACTION_MODE' ), 'popup_title' => $popup_title, 'popup_description' => $popup_description, 'currency_code' => $currency_code, 'amount' => $amount, + 'exponent' => $exponent, 'id_cart' => Tools::jsonEncode( $params['cart']->id ), 'products' => Tools::jsonEncode( $products_array ), 'name' => $name, diff --git a/paylikepayment/views/js/backoffice.js b/paylikepayment/views/js/backoffice.js index 5026be1..b2be406 100644 --- a/paylikepayment/views/js/backoffice.js +++ b/paylikepayment/views/js/backoffice.js @@ -2,7 +2,6 @@ * * @author DerikonDevelopment * @copyright Copyright (c) permanent, DerikonDevelopment - * @version 1.0.0 * @link http://www.derikon.com/ * */ diff --git a/paylikepayment/views/templates/admin/currency-warning.tpl b/paylikepayment/views/templates/admin/currency-warning.tpl index 64944a2..7f30dec 100644 --- a/paylikepayment/views/templates/admin/currency-warning.tpl +++ b/paylikepayment/views/templates/admin/currency-warning.tpl @@ -2,7 +2,6 @@ * * @author DerikonDevelopment * @copyright Copyright (c) permanent, DerikonDevelopment - * @version 1.0.0 * @link http://www.derikon.com/ * *} diff --git a/paylikepayment/views/templates/admin/modal.tpl b/paylikepayment/views/templates/admin/modal.tpl index 12f8c5e..7ffe818 100644 --- a/paylikepayment/views/templates/admin/modal.tpl +++ b/paylikepayment/views/templates/admin/modal.tpl @@ -3,7 +3,6 @@ * @author DerikonDevelopment * @copyright Copyright (c) permanent, DerikonDevelopment * @license Addons PrestaShop license limitation - * @version 1.0.0 * @link http://www.derikon.com/ * *} diff --git a/paylikepayment/views/templates/hook/payment.tpl b/paylikepayment/views/templates/hook/payment.tpl index 2523784..eb5c7df 100644 --- a/paylikepayment/views/templates/hook/payment.tpl +++ b/paylikepayment/views/templates/hook/payment.tpl @@ -18,10 +18,18 @@ height: 27px; } - + +