Description
Easycheckout module - one page checkout module for PrestaShop 1.7, as an one page checkout page, it has all features that an one page checkout module must have and some fancy features, beside that it has nice looking which can make customers feel pleasant during the checkout process. All in a reasonable price.
20$ discount for panda theme and transformer theme users.
If you've bought our panda theme / transformer theme, you will get $20 discount, enjoy it.
Main features:
- Nice looking OPC module, it can make your customers feel pleasant during the checkout process.
- Flexible layout 1, 2 or 3-column layout.
- Customizable checkout page design to match with your existing website design.
- Manage shopping cart on the checkout page.
- Compatible with all themes.
- Social login.
- Google address auto suggestion with geolocate feature to detect customer location.
Easy customizable design.
This module has like a lot of options to make you be able to change colors, background colors, fonts(Google fonts included), shadows for all major elements, you can easily create a checkout page which which matches your existing site design.

Flexible layout - 1, 2 or 3-column layout.
- The width of columns is adjustable.
- Blocks like "Cart summary", "Delivery" can be moved from one column to another.
- Each column has its own color settings.
- There is an extra more column is under 2nd and 3rd columns.

Custom carrier logo.
- Custom carrier logo .
- Display different numbers of carriers per row on different devices.
- Possibility to hide carrier logo.
- Possibility to use Google fonts on carrier title.

Custom payment method logo/title/subtitle.
- Several ways of displaying payment methods.
- Custom payment method logo.
- Custom payment method subtitle.
- Option to show/hide payment method description.
- Possibility to use Google fonts on payment method title.
Manage addresses on the checkout page.
- Ability to edit/add/remove addresses.
- Display different numbers of addresses per row on different devices.
- Google address auto suggestion with geolocate feature to detect customer location, a fast way to enter address, SAVE TIME.
Customizable block title.
- Block title with step numbers.
- Block title with icons.
- Block title.

Free integration service.
Most payment modules and carrier modules can work with Easy checkout module be default. If you have a payment module or a carrier module which works fine on the default checkout page, but not working on the Easy checkout page, then contact us, we can help you make it work for free. Check the "Compatibility" tab above for more info.
Edit shopping cart on the checkout page.
This module has 3 ways to display shopping cart on the checkout page.
- Native shopping cart summary.
- Compact shopping cart.
- Full shopping cart.
Customers can manage their shopping cart on the checkout page, like change quantity, remove items, no need to go back to the shopping cart, SAVE TIME.
Beside that you can control some other things.
- Hide/show product image.
- Hide/show product name & combination.
- Hide/show Remove button.
- How to display quantity: text or input with +-.

Social login.
Social login feature is built-in to minimize the registration time, increase convince rate.
- Facebook.
- Google.
- Amazon.
- Paypal.
Guest checkout.
Allow guest make purchases without creating an account.
Address form editor.
- Drag & drop to sort address form fields.
- Show/hide unrequired address form fields.
- Disable/enable js verification for address form fields.
- Set some address form fields as required.

Content loading placeholder .
Facebook like modern content loading placeholder. Content loading placeholder gives anticipation for the content that is going to appear, that's why it's the best solution for the first screen.

Customizable ticks.
Applying a different color for selected items is not enough, using a tick is the most reliable way to let customers knows clearly what they have chosen.

Information.
This module will gives out information to guide customers finishing checkout process.

AJAX based checkout with nice spinning loader.
Spinning loaders to show that a request is processing, overlays will be added to some blocks to prevent clicks which may cause confusions.

Basic validation for personal information.
Email verification, birthdate verification, phone number verification and postcode verification. To avoid having troubles with wrong personal information.
- Simple installation, no override files.
- Go to checkout page directly when the customer clicks on shopping cart button on other page.
- Custom content on the top and bottom of main section.
- Able to make Terms of service be checked by default.
- This one page checkout module is compatible with Free products and Virtual products.
- Able to disallow PO box addresses.
- Fully translatable.
- Compatible with GDPR.
- RTL support.
- Google fonts.
- Responsive design.
- Custom CSS code.
- One click upgrade.
- Unlimited colors.
- All major browsers support.
- Multi-shop support.
- Multi-languages.
- Default carrier(PrestaShop's native feature).
- Sort carriers(PrestaShop's native feature).
- Default payment method.
- Display payment methods according to the selected carrier(PrestaShop's native feature).
All feature requests are more than welcomed, you can send us your request via the support forum or the contact us page.
About Easycheckout module.
Don't be surprised if you find another module also called Easycheckout module on Max conversions, it's Easycheckout v1 for PrestaShop 1.6. The owner of the Easycheckout v1 is a partner of us (ST-themes), we created this Easycheckout module v2 for PrestaShop 1.7 based on some features and design of v1. This Easycheckout module v2 for PrestaShop 1.7 is selling on both ST-themes and Max conversions.
How to install and upgrade.
This one page checkout module can be installed easily without editing any files.
How to install? Use the "Upload a module" button on "BO > Modules" page to install the module. Here is a video guide: Easycheckout module for PrestaShop 1.7 installation guide.
How to upgrade? Two ways:
- This one page checkout module has one-click upgrade feature. Click on "Upgrade" button under the "About ST-themes" tab to upgrade your module.
- Use the "Upload a module" button on "BO > Modules" page to upload the new version to your site, it's the same as how to install, don't worry all your data will be safe, prestashop will just upload updated files to your site, it won't reinstall this module.
Documentation.
1. How to use this module.
Basically 3 steps:
- Add carriers to your site.
- Install payment modules.
- Configure the easycheckout module to have a nice checkout page to display login form, carriers, payment modules and cart summary.
The first two steps is the same as what you do with the default checkout page.
3. Is Easycheckout compatible with my theme.
Yes, Easycheckout module doesn't have any override files, so it would not conflict with your theme. It has a lot color settings, you can make it match with your theme design.
4. Can I use different settings for different stores on a multi-store site.
Yes, the module support prestashop's multi-store feature, most demos of the module were built on a multi-store site.
5. How to manage address format.Address format is different from country to country, so go to BO > International > Locations > Countries page to manage address format, go to a country's detail page to manage its address format.
You can do things like sorting form fields, disabling some form fields in the "Address form" section under the "Address block" tab. Changes there apply for all country. NOTE if you set to show "Company" out, but it's not showing on the front office, then you need to check if the "Company" field is added to the address format of your country on the "BO > International > Locations > Countries" page.
6. How to have one column layout.
You can find options to set the width of each column under the "Layout" tab, set a column to the with you want and set others to 0.
7. Why the install/upgrade process lasts so long.
In some cases, due to network interruptions, the install/upgrade process may get stuck, the popup does not disappear and it keeps spinning, because the installation page is over 1M. When that happens, you can reload the "Modules" page to re-install/re-upgrade this module. Don't worry, it's okay to stop the install/upgrade process if it lasts for several minutes.
8. Why some payment methods don't show out.
Check the "CARRIER RESTRICTIONS" section the on "BO > Payment > Preferences" page to see if they are selected there.
9. How to change url of this module to something like this https://www.yourdomain.com/checkout.
You can check the
Orange demo, its url is http://transformer2.sunnytoo.com/seventeenth/en/checkout
You can use prestashop's native feature to achieve that. Go to "BO > Shop parameters > Traffic & SEO > SEO & URLs" page to set a "Rewritten URL" for "module-steasycheckout-default".
11. How to achieve centered one column layout like the demo #5.
For transformer theme or panda theme, just set the width of other columns to 0/12, the column with a certain width will be automatically centered.
For all other themes, it's recommended to set a width to the 2nd column like 6/12, move all blocks to the 2nd column, now the first column is an empty, but don't set it to 0/12, set it to 3/12 to push the 2nd column to be in center.
12. Why step numbers go like this 1, 3, 4.
The reason why 2 is missing is that you placed an empty "Customer reassurance block" module to your checkout page. Check the "Customer reassurance block" setting under the "Layout" tab.
13. Why this module doesn't work 100% fine on my prestashop 1.7.2.4.
That's because of some problems in old versions of PrestaShop, it's highly recommended to install the module on 1.7.4.0 and above.
14. How to set some fields in the address form to be mandatory.
You can do that in the "Address form" section under the "Address block" tab.
15. How to translate.
Spanish and French translations are available.
Easycheckout translations (136 downloads)
This module is fully compatible with PrestaShop's translation system, you can translate it easily on the back office.
16. How to have a full width Order-to-pay button.
Put this code to the custom css code field.
1
| .steco_confirmation_btn {width: 100%; height: 42px; line-height: 36px; font-size: 18px;} |
17. Hide the password when in guest checkout model.
To hide the password field when guest checkout is allowed, to show as less fields as possible, to make checkout to be as easy as possible. Put this code to the custom css code field.
1
| #steco_customer_form_register .st_form_item_password, .steco_password_guest_note{display:none;} |
19. Hide the login form on the checkout page.
Hide the login form, so users can only order as guests. You need to set the "Default form" setting to "New customer" under the "Personal information" tab, and then put this code to the custom css code field.
1
| #acc_heading_login{display:none;} |
20. How to have the same header on the checkout page as the header on all other pages.
For transformer theme and panda theme users, enable the "Use the same header as other pages" setting under the "Checkout page" tab in the Theme editor module. For other theme users you need to edit one theme file, contact us for more information.
21. Can't save addresses.
Check if you have the code below in the "Address format" field for active countries. It's wrong to use fields for the customer form in the address form, They shouldn't be listed out there, because with them you can't save addresses either in the easycheckout module or in the PrestaShop's native checkout process.
1 2
| Customer:firstname
Customer:lastname |
Changing that to the code below can fix the problem.
22. How to sort payment methods.
Change sort order of payment modules in the "paymentOptions" section on the "BO>Positions" page, you may need to check the "Display non-positionable hooks" at the top right corner to see the "paymentOptions" section.
23. How to hide the "Country" field.
Set the "Country" file to hide in the "ADDRESS FORM" section under the "ADDRESSES BLOCK" tab in the Easycheckout module. Don't remove the "Country:name" from the "Address format" fields of countries, which may cause logged in customers not able to add new addresses.
24. Why the "State" field doesn't show out on the checkout page.
Check if "State:name " is in the "Address format" field for countries.
25. Why I get a message saying "Your address is incomplete".
Check the "Set required fields" section on the "BO > Customers > Addresses" page to see if any fields are set to be required, but in the "Address format" field of countries.

26. How do I know if my payment modules and carrier modules can work with the Easycheckout module.
Check the "Compatibility" tab above.
27. How to use Easycheckout's social login feature on the login page.
Transplant Easycheckout module to the "displayCustomerLoginFormAfter" hook.
28. How to have thick "missing info" borders.
Put this css code to the "Custom css code" field.
1
| .steco_container .form-group.has-error input.form-control, .steco_container .form-group.has-error select.form-control{-webkit-box-shadow:0 0 2px #ff0000;box-shadow:0 0 2px #ff0000;} |
29. How to add new icons to this module.
Check the "Easycheckout module" section on this page
How to add new icons.
30. If your site runs on Transformer theme or Panda theme, you don't want to use sticky header on the checkout page.
Put this code to the Custom css code field.
1
| #module-steasycheckout-default #st_header.stuck{position:static;} |
Compatibility
Why I need to do these integration work?
It's a common issue for all one page checkout modules to have compatibility issues with some carrier modules and payment modules, that's not just a problem of this easycheckout module, it's a problem existing in all one page checkout modules, because of most carrier modules and payment modules were created based on the default 4 steps checkout process, that's we need to do some integration work to make them work with one page checkout process.
If you have a module which isn't listed out here, you can still install it to see if it can work fine. If it can't work, then contact us, we provide free integration service to make it work along with the easycheckout module.
Compatible payment modules
This is a list of modules which are compatible with Easycheckout by default.
- Wire payment by PrestaShop v2.0.4
- Payments by check by PrestaShop v2.0.3
- Openpay SPEI by Openpay SAPI de CV v2.7.0
- Openpay Offline by Openpay SAPI de CV v2.7.0
- Cash on delivery with fee by idnovate
- Cash on delivery with fee (COD) PLUS v1.1.8 by Sakis Gkiokas
- Dobírka v2.0.1 (dm_cashondelivery) by David Mrózek
- MegaReembolso, cash on delivery shipments with surcharge
- Multibanco / Payshop by LUSOPAY
- Quickpay by Kjeld Borch Egevang v4.0.42
- Payline by Monext v2.2.4
May-be-compatible payment modules
This is a list of modules we've seen being used with Easycheckout, but we don't if are 100% compatible with Easycheckout, please let me know if you know any of them are compatible with Easycheckout. If you find any of them are not compatible with Easycheckout, please let us know details with your ftp login information, so we can help you do free intergrations, prestashop module support forum.
- Payever by payever GmbH v1.3.12
- Redsys 17 by Prestashop v1.0.11
- Sequra - Fraccionar tu pago by SeQura Engineering v3.1.0
- Mercado Pago by Mercado Pago v1.0.14
Incompatible payment modules
Integration-is-needed payment modules
This is a list of modules which can work fine with Easycheckout after integration.
Follow guides bellow to do integrations.
PayPal & Braintree official Module by PrestaShop team v4.4.1.
1. Edit the /modules/paypal/paypal.php file for a little bit, see the picture below.

1 2
| $page = Context::getContext()->smarty->getTemplateVars('page');
if (Tools::getValue('controller') == "order" || $page['page_name']=='module-steasycheckout-default') { |
It's recommended to keep the "Enabled In context" option off, because of Firefox may block popup windows, which may cause customers not being able to checkout.
If you are going to use "BrainTree", then you need to do two more steps.
2. Add this code to the /modules/paypal/views/js/payment_bt.js file.
1 2 3
| prestashop.on('steco_event_updated', function(){
initBraintreeCard();
}); |

3. Add this code to the /modules/paypal/views/js/payment_pbt.js file.
1 2 3
| prestashop.on('steco_event_updated', function(){
initPaypalBraintree('checkout');
}); |

PayPal official by PrestaShop team v5.
1. Edit the /modules/paypal/paypal.php file to replace this code in the hookHeader function.
1
| if (Tools::getValue('controller') == "order") { |
With
1 2
| $page = Context::getContext()->smarty->getTemplateVars('page');
if (Tools::getValue('controller') == "order" || $page['page_name']=='module-steasycheckout-default') { |
2. Edit the /paypal/views/js/payment_ppp.js to repalce this code.
1
| $(document).ready(function(){if($("#checkout-payment-step").hasClass("js-current-step")){ |
With
1
| prestashop.on('steco_event_updated', function(){ |
And to remove a closing } from it, see the screenshot below.

Openpay by Openpay SAPI de CV v2.7.0.
1. Edit the /modules/openpayprestashop/openpayprestashop.php file.

1
| $page = Context::getContext()->smarty->getTemplateVars('page'); |
1
| $page['page_name']=='module-steasycheckout-default' || |
2. Edit the /modules/openpayprestashop/views/templates/front/payment_infos.tpl file.

I don't why the Openpay module loads jQuery again, jQuery is loaded by PrestaShop, so this more like a problem of the Openpay module.
PayPal AW by AlabazWeb Pro.
Edit the /modules/paypal/paypal.php file, replace this code.
1
| if($this->context->controller->php_self == 'order' |
By this one
1 2
| $page = Context::getContext()->smarty->getTemplateVars('page');
if($this->context->controller->php_self == 'order' || $page['page_name']=='module-steasycheckout-default' |
ITC Payeezy Payment.
1. Edit the /modules/itcpayeezy/itcpayeezy.php file, replace this code.
1
| if (in_array($page_name, array('checkout', 'order-confirmation'))) { |
By this one
1 2 3 4
| if (in_array($page_name, array('checkout', 'order-confirmation', 'module-steasycheckout-default'))) {
$this->context->controller->addJS($this->_path .'vendor/js/jquery.validate.min.js');
$this->context->controller->addJS($this->_path .'vendor/js/payeezy_us_v5.1.js');
$this->context->controller->addJS($this->_path .'views/js/'.$this->name.'.js'); |
2. Remove this code from the /modules/itcpayeezy/views/templates/hook/common.tpl file.
1 2 3 4
| <script src="{$itcpayeezy_module_dir|escape:'html':'UTF-8'}vendor/js/jquery.min.js"></script>
<script src="{$itcpayeezy_module_dir|escape:'html':'UTF-8'}vendor/js/jquery.validate.min.js"></script>
<script src="{$itcpayeezy_module_dir|escape:'html':'UTF-8'}vendor/js/payeezy_us_v5.1.js"></script>
<script src="{$itcpayeezy_module_dir|escape:'html':'UTF-8'}views/js/{$itcpayeezy_module_name|escape:'html':'UTF-8'}.js"></script> |
Stripe payment module v1.
1. Edit the /modules/stripe_official/stripe_official.php file, replace this code.
1
| if ($this->context->controller->php_self == 'order' && $currencyAvailable === true) |
By this one
1 2
| $page = Context::getContext()->smarty->getTemplateVars('page');
if (($this->context->controller->php_self == 'order' || $page['page_name']=='module-steasycheckout-default') && $currencyAvailable === true) |
2. Edit the /modules/stripe_official/views/js/payment_stripe.js file, replace this code.
1 2 3 4 5 6
| if (!stripe_isInit && $('section#checkout-payment-step').hasClass('js-current-step')) {
if (StripePubKey && typeof stripe_v3 !== 'object') {
stripe_v3 = Stripe(StripePubKey);
}
initStripeOfficial();
} |
By this one
1 2 3 4 5 6
| prestashop.on('steco_event_updated', function(){
if (StripePubKey && typeof stripe_v3 !== 'object') {
stripe_v3 = Stripe(StripePubKey);
}
initStripeOfficial();
}); |
Stripe payment module v2.
1. Edit the /modules/stripe_official/stripe_official.php file, replace this code.
1
| if (!in_array($this->context->controller->php_self, ['order', 'order-opc'])) { |
By this one
1 2
| $page = Context ::getContext()->smarty->getTemplateVars('page');
if (!in_array($this->context->controller->php_self, ['order', 'order-opc']) && $page['page_name']!='module-steasycheckout-default') { |
2. Add this code to the hookPaymentOptions function in the /modules/stripe_official/stripe_official.php file.
1 2 3 4 5
| $amount = $params['cart']->getOrderTotal();
$amount = $this->isZeroDecimalCurrency($currency) ? $amount : $amount * 100;
$this->context->smarty->assign(array(
'stripe_amount' => $amount,
)); |

3. Add this code to the very bottom of the /modules/stripe_official/views/templates/front/payment_form_card.tpl file.
1
| <script>var stripe_amount = {$stripe_amount};</script> |
Amazon Pay by patworx multimedia GmbH
1. Add this code to the /modules/amzpayments/amzpayments.php file.
1 2 3 4
| $page = Context::getContext()->smarty->getTemplateVars('page');
if ($page['page_name']=='module-steasycheckout-default') {
$need_script = true;
} |

2. Remove this code from the /modules/amzpayments/views/js/amzpayments.js file.
1
| setTimeout(function() { jQuery(element).find("img").attr('data-tip', jQuery("#amazonpay_tooltip").html()).tipr(); }, 2000); |
Braintree by Bellini Services
1. Add this code to the /modules/braintreejs/braintreejs.php file above this line "// if checkout, hosted and paypal is enabled".
1
| $page = Context::getContext()->smarty->getTemplateVars('page'); |
2. Replace all $controller == 'order' with this code in the /modules/braintreejs/braintreejs.php file.
1
| ($controller == 'order' || $page['page_name']=='module-steasycheckout-default') |
3. Replace this code in the /modules/braintreejs/views/js/braintree-setup.js file
1
| $(".payment-options .payment-option input:radio[data-module-name='braintreejs']").on('click', function(e) { |
With
1
| $(document).on('click', ".payment-options .payment-option input:radio[data-module-name='braintreejs']", function(e) { |
4. Replace this code in the braintreejsviewstemplatesfrontbraintree-dropin-prestashop.tpl file.
1
| form.addEventListener('submit', function (event) { |
With this one
1
| $(document).on('submit', '#braintree-dropin-form', function (event) { |
Postfinance payment modules
Repalce this code in the /modules/postfinancecw/js/frontend.js file, the code appears two times, repalce the one which is at about the end of this file.
With
1 2 3
| prestashop.on('steco_event_updated', function(){
attachEventHandlers();
}); |
Cash on delivery with order summary by MyPresta.eu
Add these two lines to the /modules/codpro/codpro.php
1
| use PrestaShopPrestaShopAdapterCartCartPresenter; |
1
| 'cart' => (new CartPresenter )->present(isset($params['cart']) ? $params['cart'] : $this->context->cart), |


So Colissimo Flexibilite - Officiel by Common-Services
1. Edit the /modules/soflexibilite/soflexibilite.php file, to replace this code
By this one.
1 2
| $page = Context ::getContext()->smarty->getTemplateVars('page');
if (in_array(get_class($this->context->controller), $allowed_controllers) || $page['page_name']=='module-steasycheckout-default') { |

2. Do several some modifications to the /modules/soflexibilite/views/js/front_flexibilite.js file, see screenshots below, here are codes you need.
1 2 3 4 5 6 7 8 9
| var easycheckout_forms = $('.steco_container');
if ((onepagecheckoutps_forms.length || easycheckout_forms.length) && engine_try_counter < 3) {
if (onepagecheckoutps_forms.length || easycheckout_forms.length) {
if (!onepagecheckoutps_forms.length && !easycheckout_forms.length &&
return false; |





Sagepay UK by Presto-Changeo
1. Edit the /modules/sagepay/sagepay.php file to replace
1
| if (in_array($controller, ['order', 'newPagePayment', 'orderFailed'])) { |
With
1 2
| $page = Context ::getContext()->smarty->getTemplateVars('page');
if (in_array($controller, ['order', 'newPagePayment', 'orderFailed']) || $page['page_name']=='module-steasycheckout-default') { |
To replace
1
| if ('order' == $controller && 0 == $this->sgp_payment_page) { |
With
1 2
| $page = Context::getContext()->smarty->getTemplateVars('page');
if (('order' == $controller || $page['page_name']=='module-steasycheckout-default') && 0 == $this->sgp_payment_page) { |
2. Add this code to the "custom css code" field.
1
| #new-page-checkout .col-xs-12{width:100%;} |
Bitcoin x Crypto - Safe Direct Payments by motionSeed
1. Put this code to the Custom css code field.
1 2 3 4 5 6 7 8 9 10 11 12
| .material-icons.check-selected-icon,#address-copy.btn .material-icons, #amount-copy.btn .material-icons, #explorercash-payment-modal .modal-body>.row>div>.col-lg-12>.input-group>.input-group-btn>a.btn:first-child .material-icons{display:inline-block;overflow:hidden;white-space: nowrap;width:20px;}
.material-icons.check-selected-icon:before,#address-copy.btn .material-icons:before, #amount-copy.btn .material-icons:before, #explorercash-payment-modal .modal-body>.row>div>.col-lg-12>.input-group>.input-group-btn>a.btn:first-child .material-icons:before{font-family: "fontello"; font-style: normal; font-weight: normal; speak: none; display: inline-block; text-decoration: inherit; text-align: center; font-variant: normal; text-transform: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;font-size:18px; margin:0 6px 0 2px;content: 'e807';}
#address-copy.btn .material-icons:before, #amount-copy.btn .material-icons:before{content: 'e884';}
#explorercash-payment-modal .modal-body>.row>div>.col-lg-12>.input-group>.input-group-btn>a.btn:first-child .material-icons:before{content: 'e895';}
#payment-form-explorercash .definition-list .col-lg-4{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;margin-bottom:10px;}
#explorercash-payment-modal .modal-body>.row{display:block!important;}
#explorercash-payment-modal .modal-header button{order:2;}
#explorercash-payment-modal .modal-body>div>.row>h3.text-sm-center,#explorercash-payment-modal .modal-body>div>.row.text-sm-center img{margin:0 auto;}
#explorercash-payment-modal .modal-body>.row>.col-lg-12>.row.col-lg-7{float:left;margin-bottom:12px;}
#explorercash-payment-modal .modal-body .btn{color:#fff;border:none;padding:0 6px;}
#explorercash-payment-modal .modal-body .input-group-btn{-ms-flex-flow:row nowrap;flex-flow:row nowrap;}
#explorercash-payment-modal .modal-header{padding:15px!important;} |
2. Fine this line "$('#payment-confirmation button').attr('disabled', false);" in the /modules/explorercash/views/js/explorercash.js file, add this code below it.
Openpay by Openpay SAPI de CV v3.0.3.
1. Edit the /modules/openpayprestashop/openpayprestashop.php file.

1
| $page = Context::getContext()->smarty->getTemplateVars('page'); |
1
| $page['page_name']=='module-steasycheckout-default' || |
2. Edit the /modules/openpayprestashop/views/templates/front/payment_infos.tpl file.

I don't why the Openpay module loads jQuery again, jQuery is loaded by PrestaShop, so this more like a problem of the Openpay module.
3. Edit the /modules/openpayprestashop/views/templates/front/cc_form.tpl file. Replace this code
1
| $("#payment-confirmation > .ps-shown-by-js > button").click(function(event) { |
With this one.
1
| $(document).on('click',"#payment-confirmation button",function(event) { |
Find this line
1
| var error_callbak = function(response) { |
Add this code below it.
Find this line
1
| $(document).ready(function() { |
Add this code below it.
1 2 3 4 5 6 7 8
| $(document).on('hidden.bs.modal', '#card-points-dialog', function (e) {
steco.loading(false);
$('#steco_progress').addClass('steco_display_none');
var submitBtn = $("#payment-confirmation > .ps-shown-by-js > button");
submitBtn.prop('disabled', false);
$('#openpay-payment-form').show();
$('#openpay-ajax-loader').hide();
}); |
4. Add this code to the custom css code field in this module.
1
| #module-steasycheckout-default .modal-backdrop.show{display:none;} |
5. Add openpayprestashop to the "Payment methods which don't need the native submit method" field under the "Payment method block" tab.
Presta Speed by RSI
In order to make the the social login feature work fine, you need to edit the /modules/prestaspeed/prestaspeed.php file to replace this code in the displayHeader function
With
1 2
| $page = Context::getContext()->smarty->getTemplateVars('page');
if ($speed == 1 && $page['page_name']!='module-steasycheckout-default') { |
Colissimo v1.0.6+ by Colissimo
1. Replace this code in the /modules/colissimo/colissimo.php file.
1
| if ($this->context->controller->php_self == 'order' || $this->context->controller->php_self == 'order-opc') { |
With
1 2
| $page = Context::getContext()->smarty->getTemplateVars('page');
if ($this->context->controller->php_self == 'order' || $this->context->controller->php_self == 'order-opc' || $page['page_name']=='module-steasycheckout-default') { |
2. Put this code to the Custom css code field.
1 2 3 4 5 6 7 8 9 10 11 12 13
| .colissimo-front-widget{background:rgba(0,0,0,.5);}
body#module-steasycheckout-default .modal-backdrop.fade{display:none;}
body#module-steasycheckout-default .modal.show .modal-dialog {-webkit-transform: translate(0);transform: translate(0);}
.colissimo-pickup-point-address{margin-left:15px;}
.colissimo-pickup-point-address .material-icons.edit, .colissimo-pickup-point-phone .material-icons.phone_iphone{display:inline-block;overflow:hidden;white-space: nowrap;}
.colissimo-pickup-point-phone .material-icons.phone_iphone{width:32px;}
.colissimo-pickup-point-phone span,.colissimo-pickup-point-phone .material-icons.phone_iphone{vertical-align: middle!important;}
.colissimo-pickup-point-address .material-icons.edit{width:20px;}
.colissimo-pickup-point-phone .material-icons.phone_iphone:before, .colissimo-pickup-point-address .material-icons.edit:before{font-family: "fontello"; font-style: normal; font-weight: normal; speak: none; display: inline-block; text-decoration: inherit; text-align: center; font-variant: normal; text-transform: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
.colissimo-pickup-point-address .material-icons.edit:before{font-size:18px; margin:0 6px 0 2px;content: 'e866';}
.colissimo-pickup-point-phone .material-icons.phone_iphone:before{font-size:38px; margin:0 10px 0 2px; content: 'e840';}
div#colissimo-container .row:after, div#colissimo-container .row:before{display: none!important;}
div#colissimo-container .colissimo_widget_text-gris{margin-bottom:0;} |
3. Repalce this code in the /modules/colissimo/views/js/widget.js file.
1
| iti = initMobileField(); |
with
1
| prestashop.on('steco_event_updated', function(){iti = initMobileField();}); |
4. If you want to make the module be able to remember phone number, then you need to add this code to right below this line in the /modules/colissimo/views/js/widget.js file.
1
| $('.js-colissimo-is-mobile-valid').val('1'); |
Here is the code you need to add.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| jQuery.ajax({
type: 'POST',
dataType: 'json',
url: colissimoAjaxWidget + 'index.php',
data: {
fc: 'module',
module: 'colissimo',
controller: 'widget',
ajax: 1,
action: 'saveMobilePhoneOpc',
mobilePhone: iti.getNumber(),
isMobileValid: 1,
}
}).fail(function (jqXHR, textStatus) {
}).success(function (data) {
}); |
Delivery Dates Wizard Pro by Musaffar Patel
1. Replace this code in the /modules/deliverydateswizardpro/controllers/front/DDWFront.php.
1
| if (Tools::getValue('controller') == 'order' || Tools::getValue('controller') == 'supercheckout' || Tools::getValue('controller') == 'amzpayments' || Tools::getValue('controller') == 'default') |
With
1 2
| $page = Context::getContext()->smarty->getTemplateVars('page');
if (Tools::getValue('controller') == 'order' || Tools::getValue('controller') == 'supercheckout' || Tools::getValue('controller') == 'amzpayments' || Tools::getValue('controller') == 'default' || $page['page_name']=='module-steasycheckout-default') |
2. Open up the /modules/deliverydateswizardpro/views/js/front/ddw.js file to check line 31 to see self.one_page_checkout is true, if it's false, then change it to be ture, like this
1
| self.one_page_checkout = true; |
3. Replace this code in the /modules/deliverydateswizardpro/views/js/front/ddw.js file.
1
| $("input[name='shipping_method'], .delivery-options-list .custom-radio input:radio, input.supercheckout_shipping_option").change(function() { |
With
1
| $("input[name='shipping_method'], .delivery-options-list .custom-radio input:radio, input.supercheckout_shipping_option, .delivery-options-list .delivery-option :radio").change(function() { |
4. Replace this code in the /modules/deliverydateswizardpro/views/js/front/ddw.js file.
1
| if (self.$input_ddw_order_date.val() == '' || self.$input_ddw_order_date.val() == '0000-00-00 00:00:00') perror = true; |
With
1
| if (self.$input_ddw_order_date.val() == '' || self.$input_ddw_order_date.val() == '0000-00-00 00:00:00' || self.$input_ddw_order_date.val() == '1970-01-01 00:00:00') perror = true; |
European VAT number by MassonVincent
1. Replace this code in the /modules/vatnumbercleaner/views/js/verif_fo_17.js.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| var vat_number = $( "input[name$=vat_number]" ).val();
var id_country = $( "[name$=id_country]" ).val();
verification_vat_number(vat_number, id_country);
$( "input[name$=vat_number]" ).focusout(function() {
var vat_number = $( "input[name$=vat_number]" ).val();
var id_country = $( "[name$=id_country]" ).val();
verification_vat_number(vat_number, id_country);
});
$( "[name$=id_country]" ).focusout( function() {
var vat_number = $( "input[name$=vat_number]" ).val();
var id_country = $( "[name$=id_country]" ).val();
verification_vat_number(vat_number, id_country);
}); |
With
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| prestashop.on('steco_event_updated', function(){
var vat_number = $( "input[name$=vat_number]" ).val();
var id_country = $( "[name$=id_country]" ).val();
verification_vat_number(vat_number, id_country);
});
$(document).on('focusout',"input[name$=vat_number]",function() {
var vat_number = $( "input[name$=vat_number]" ).val();
var id_country = $( "[name$=id_country]" ).val();
verification_vat_number(vat_number, id_country);
});
$(document).on('focusout',"input[name$=id_country]",function() {
var vat_number = $( "input[name$=vat_number]" ).val();
var id_country = $( "[name$=id_country]" ).val();
verification_vat_number(vat_number, id_country);
}); |
2. Open up the /modules/steasycheckout/controllers/front/default.php file to add two lines to it.
1
| use PrestaShop\PrestaShop\Adapter\Cart\CartPresenter; |
1
| $this->cart_presenter = new CartPresenter(); |


Force Currency at Checkout by idnovate
If you've not installed this module yet, then edit the /modules/forcecurrency/override_17/classes/controller/FrontController.php file, and then install this module. If you've already installed it, then edit the /override/classes/controller/FrontController.php file, to replace this code
With
1
| 'PrestaAdapter', 'steasycheckout' |
Payment With Fee by ETS-Soft
Remove this line from the /modules/ets_payment_with_fee/ets_payment_with_fee.php file.
1
| $this->context->controller->addJS($this->_path . 'views/js/order.js'); |
PayPal PLUS by terracode
1. Edit the /modules/paypalplus/paypalplus.php file to repalce this code.
1
| if (!$this->isPaymentStep() && Configuration::get(PAYPALPLUS_UI) == 'iframe') { |
By this one
1 2
| $page = Context::getContext()->smarty->getTemplateVars('page');
if ((!$this->isPaymentStep() && $page['page_name']!='module-steasycheckout-default') && Configuration::get(PAYPALPLUS_UI) == 'iframe') { |
2. Edit the /modules/paypalplus/views/js/paypalplus.js file to repalce this code.
1
| $(document).ready(function ($) { |
By this one
1
| prestashop.on('steco_event_updated', function(){ |
3. Make sure the "Show description of payment methods" setting under the "PAYMENT METHODS" tab in the Easycheckout module is enabled.
Correos Official Module
Edit the /modules/correos/correos.php file to repalce this code.
1
| if (in_array($file, array('order-opc', 'order', 'orderopc', 'history', 'supercheckout', 'amzpayments'))) { |
By this one
1 2
| $page = Context ::getContext()->smarty->getTemplateVars('page');
if ((in_array($file, array('order-opc', 'order', 'orderopc', 'history', 'supercheckout', 'amzpayments'))) || $page['page_name']=='module-steasycheckout-default') { |
Payin 7 - Pago fraccionado by Payin7
Find this line in the hookHeader function in the /modules/imaxpayin7/imaxpayin7.php file.
Put this code to right above it.
1 2 3 4 5 6 7
| $page = Context::getContext()->smarty->getTemplateVars('page');
if($page['page_name']=='module-steasycheckout-default'){
$identifier = 'paymentProcess';
$jsIdentifier[] = 'payinProduct';
$cssIdentifier[] = $identifier;
$cssIdentifier[] = 'product';
} |

Pago con tarjeta by REDSYS
Users can pay even without login, so we say it's not compatible with the easycheckout module.
1. Remove these lines from the the /modules/redsysoficial/views/templates/front/paymentform.tpl file.
1 2 3 4
| <!-- Petición de carga de iframes con estilos para el input-->
getInSiteForm('insite-form-container','{$btn_style}','{$body_style}','{$form_style}','{$form_text_style}','{l s=$btn_text mod='redsys'}','{$merchant_fuc}','{$merchant_term}','{$merchant_order}');
<!-- Listener de recepción de ID de operacion-->
loadRedsysForm(); |
2. Replace this code in the /modules/redsysoficial/views/templates/front/paymentform.tpl file.
1
| <script src="{$redsys_domain}"></script> |
With
1 2 3 4 5 6 7 8
| <script>
$.getScript("{$redsys_domain}", function() {
getInSiteForm('insite-form-container','{$btn_style}','{$body_style}','{$form_style}','{$form_text_style}','{l s=$btn_text mod='redsys'}','{$merchant_fuc}','{$merchant_term}','{$merchant_order}');
$("#redsys-hosted-pay-button").on('load', function () {
loadRedsysForm();
});
});
</script> |
I will keep updating this list.
Changelog
Easycheckout one page checkout module 2.4.3 (November 20, 2019)
- Fixed a problem of shipping address may not get saved for guests.
Easycheckout one page checkout module 2.4.2 (October 21, 2019)
- Added an option to show to show the terms and conditions on the payment methods section.
- Added compatibility with the latest codfee module.
Easycheckout one page checkout module 2.4.1 (September 29, 2019)
Easycheckout one page checkout module 2.4.0 (September 11, 2019)
- Fixed a small problem in the "Customer type" feature.
- Fixed a problem carriers not updating when tax is set to base on invoice address.
Easycheckout one page checkout module 2.3.9 (September 2, 2019)
- Fixed a problem of setting address fields as required.
Easycheckout one page checkout module 2.3.8 (August 22, 2019)
- Added compatibility with "Cash on delivery with fee (COD) PLUS".
- Improved the module to show a warning of not setting any fields as required on the "BO > Customers > Addresses" page.
Easycheckout one page checkout module 2.3.7 (August 11, 2019)
- Added a "Customer type" feature to don't show "Company name" and "Vat" for individuals.
Easycheckout one page checkout module 2.3.6 (August 2, 2019)
- Improved the "Default payment" setting, so it can have more chances to work.
- Improved the social login feature to make it work on the login page.
Easycheckout one page checkout module 2.3.5 (July 27, 2019)
- Added compatibility with "Paylin" and "Delivery Dates Wizard Pro".
Easycheckout one page checkout module 2.3.4 (July 2, 2019)
- Added compatibility with the Colissimo module created by Colissimo.
Easycheckout one page checkout module 2.3.3 (June 9, 2019)
- Fixed an php notice from v2.3.2, the error could cause this module not working fine when debug mode is on.
Easycheckout one page checkout module 2.3.2 (May 23, 2019)
- Improved performance for guests to speed the checkout page up.
Easycheckout one page checkout module 2.3.1 (May 5, 2019)
- Fixed a mistake I made in v2.2.8, which cased hidden fields still showing out on the address form.
Easycheckout one page checkout module 2.3.0 (April 26, 2019)
- Update the user info block of Panda theme and Transformer theme after a user logins in on the checkout page.
- Fixed: wrong return urls for social login feature in multilingual sites.
Easycheckout one page checkout module 2.2.9 (April 15, 2019)
- Fixed: "Reorder" feature not working.
Easycheckout one page checkout module 2.2.8 (April 3, 2019)
- Fixed a problem which started from v2.2.4, the problem was that when editing the country of an address, a new address would be created.
Easycheckout one page checkout module 2.2.7 (March 29, 2019)
- Fixed a js validation problem which occurs when there are extra required fields in the address from.
Easycheckout one page checkout module 2.2.6 (March 16, 2019)
- Added a feature to make birthday be a mandatory field.
- Added a feature to disallow PO Box addresses.
- Fixed a problem of js validation.
Easycheckout one page checkout module 2.2.5 (March 11, 2019)
- Fixed a problem in the google address auto suggestion.
- Added compatibility with the quickpay module.
Easycheckout one page checkout module 2.2.4 (January 23, 2019)
- Added address form manage feature.
Easycheckout one page checkout module 2.2.3 (January 9, 2019)
- Added an option to show both tax included and tax excluded total prices.
Easycheckout one page checkout module 2.2.2 (December 28, 2018)
- Fixed a problem of showing wrong shipping methods.
Easycheckout one page checkout module 2.2.1 (December 20, 2018)
- Compatibility with 1.7.5.0.
- Did a samll improvement to scroll to the first error message if there is any.
Easycheckout one page checkout module 2.2.0 (December 12, 2018)
- Fixed the problem of payment methods not updating after making changes to address.
Easycheckout one page checkout module 2.1.9 (December 10, 2018)
- Fixed the wrong delivery problem which didn't be completely fixed in v2.1.7.
Easycheckout one page checkout module 2.1.8 (November 29, 2018)
- Fixed a minor problem, the problem occured when the width of first column was 12.
Easycheckout one page checkout module 2.1.7 (November 22, 2018)
- Fixed a problem of the wrong delivery when using guest checkout.
Easycheckout one page checkout module 2.1.6 (November 15, 2018)
- Fixed a problem of address items changing from 2 per row back to 1 per row sometimes.
Easycheckout one page checkout module 2.1.5 (November 13, 2018)
- Fixed a problem of shipping not getting updated.
Easycheckout one page checkout module 2.1.4 (November 8, 2018)
- Fixed a compatibility with IE.
- Added compact layout for address forms.
- Added a feature to auto fill Firstname and lastname in address with the data in new customer form.
Easycheckout one page checkout module 2.1.3 (November 4, 2018)
- Fixed a compatibility with some payment modules.
Easycheckout one page checkout module 2.1.2 (October 31, 2018)
- Added compatibility with "Cash on delivery with order summary by MyPresta.eu", "Cash on delivery with fee by idnovate", "Paypal AW" and "MegaReembolso, cash on delivery shipments with surcharge"
- Fixed a problem of carriers not getting update when change countries.
Easycheckout one page checkout module 2.1.0 (October 22, 2018)
- Merged register form and address form to achive FAST CHECKOUT.
- Added email verification, birthdate verification, phone number verification and postcode verification.
- Added checkout progress bar.
- Added a field to set modules which don't use the native submit method, with the field the module can be integrated with 3rd party modules more easily.
- Added a field to edit/add address name/title for logged in customers.
- Added possibility to make the checkbox of newsletter be checked by default.
Easycheckout one page checkout module 2.0.2 (September 22, 2018)
- Fixed a problem of order note not saving.
Easycheckout one page checkout module 2.0.1 (July 23, 2018)
- Added Spanish translation.
- Fixed a problem of custom logo/title/subtitle not working for some payment modules.
- Fixed a translation problem.
- Fixed a problem of removing button not working correct on cart summary.
- Fixed a compatibility problem with old versions of prestashop 1.7, like prestashop 1.7.2.4.
Easycheckout one page checkout module 2.0.0 (July 20, 2018)
Excelente complemento para un sitio Prestashop
incredibly smooth end result for a user friendly check out experience. easy step-by-step customizable configuration
I highly recommend! Beautiful module, very customizable, looks clean and chick! Customer service is very quick and helpful! Thank you so much!!
Really a great checkout module with an easy to use back office and very important customization possibilities. The after-sales service is very responsive, I had to ask for help for the integration of a payment system and in less than 24 hours I already had the code used in my payment solution for which is compatible. you can also find it in the compatibility tab. Well done, it's a very good job!
Super, content module which I found under prestashop 1.7 and only third which works and looks smart and modern.
This is exactly what I wanted! Super module with fantastic support, they are always free to help you. Keep doing the great job
Muy buen módulo, sencillo de configurar y con el buen soporte de Jonny y Yobo, siempre estan dispuestos ayudarte. Por 55 USD no hay nada más barato en el mercado! GRACIAS!
Super nice module, all are what I wanted, I enjoyed it.
This is the best OPC module I've never seen before. Simply amazing. I can do almost anything I want with the structure and design of my checkout page. And the extras they added, wow... no words. I supose it has to be tested yet with so many modules, but I totally trust on this team, Jonny and Yobo are fixing all possible errors in a few hours, this support team is awsome!