Description
Easycheckout module - one page checkout module for PrestaShop 1.7, as a one page checkout page, it has all features that a one page checkout module must have and some fancy features, besides that it has nice looking which can make customers feel pleasant during the checkout process. All at a reasonable price.
10$ discount for panda theme and transformer theme users.
If you've bought our panda theme / transformer theme, the price of this module for you will be $75.
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 and almost all modules.
- 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.

"Two buttons" model - A "Save" button in the address form.
You can set to show a "Save" button in the address form. Some people don't feel secure to click the "Checkout" button without saving the account info and the address info, another reason of adding a "Save" button is to make the easycheckout module be compatible with all carrier modules and payment modules. Since compatibility is a big issue for all one page checkout modules, because quite a lot carrier modules and payment modules are designed for logged in customers only, so they can't work fine with one page checkout. With the "Save" button people can save account information first, which makes sure that all carrier modules and payment modules work fine with the easycheckout module.
Check the Modules requires "Two buttons" model to run section under the compatibility tab for more info.
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 by 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. These fields are required, they must be in the Adress format field, otherwise erorrs would occur.
- firstname
- lastname
- address1
- country
- state
- city
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 (277 downloads)
This module is fully compatible with PrestaShop's translation system, you can translate it easily in 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" field 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.
The module is compatible with almost all payment modules and carrier modules, thanks to the "Two buttons" checkout feature. Check the "Two buttons" model section and the "Compatibility" tab for more info.
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;} |
31. Don't test payment methods on Maintenance mode.
Put your site on Live mode when you are working on testing your payment methods. Because some payment methods need to connect with your site, if your site is under maintenance mode, then payments will fail.
32. Compatibility with the "geolocation" feature.
If you are using the "geolocation" features, then you need to replace this line $country = new Country($ps_country_default); to $country = Context::getContext()->country; in the \classes\Carrier.php file. We will try to find a better solution without editing any files.
33. Doesn't compatible with 1.7.6.4.NOTE with the latest version of easycheckout module, no need to do this modification anymore. Keep this here for people who are running old versions of easycheckout.
The module doesn't compatible with 1.7.6.4, due to a issue of it, check here https://github.com/PrestaShop/PrestaShop/issues/18100
To fix it, you need to edit the \classes\form\CustomerAddressFormatter.php file, find this line
1
| 'back' => (new FormField()) |
And then put this code right above it.
1 2 3
| 'id_address' => (new FormField())
->setName('id_address')
->setType('hidden'), |
34. Have make buttons "Login", "Checkout" be full width.
Put this code to the custom css code field.
1
| .btn.steco_btn{width:100%;} |
If you want to make the progress bar to be full width too, then put this code to the custom css code field.
1
| #steco_progress {left: 12px;margin-left: 0;right: 12px;width: auto;} |
35. Why mandatory address filds get set back to optional automatically?
It may be caused by the "onepagecheckoutps" module, if you have it installed, then unintall it to check again. Note "uninstall", not "disable".
36. Why the carrier block doesn't change along with the change of country when I edit an address?
For logged-in customers, the carrier block won't be changed until the address form is saved. Consider these cases:
- If you have two addresses, one address is selected, when you edit the other one, the carriers shouldn't be changed.
- When you add a new address as the invoice address, the carriers shouldn't be updated.
We will soon add an option to overlay the carrier block and the payment block to avoid confusion.
37. How to change the color of placeholders?
Use this custom css code.
1
| .steco_container input.form-control::placeholder {color: #ff0000;} |
38. Can't create a new account / can't create a new address / can't edit an address?
Check if the "Do you need a tax identification number?" setting is enabled. If it's enabled and the DNI field isn't in the addree form, then new accounts can't be created.

39. Why the Alias filed doesn't show out?
The Alias field is majorly for logged in customers, showing it out for guests doesn't make much sense. See attached pic, if you do want to have it, remove that from the /modules/steasycheckout/views/templates/hook/address-form.tpl file.

Compatibility
Why I need to do these integration work?
It's common 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. We hope developers of payment modules and carrier modules can make their modules be more friendly to one page checkout modules and include necessary changes to their module, that's the only way to make payment modules and carrier modules work with one page checkout modules without editing any files.
If you have a module that 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 Analytics & Statistics modules
- If you are look for a module which can integrate Google Tag Manager in your site, then take a look at the Premium Google Tag Manager Module For PrestaShop By ReactionCode, the module is high rated and is fully compatible with the Easycheckout module.
Compatible modules without integration
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 by Inno-mods.io
- 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
- PayPal with fee by 4webs.es
- Cash on delivery with fee (COD + FEE) by Prestalia
- PayPal Payments Standard v2 - by ELEGANTAL
Integration-is-needed payment modules
This is a list of modules which can work fine with Easycheckout after integration.
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
- "Custom fields - registration form and checkout" by Globo Jsc
- Pago con tarjeta (redsysoficial) by REDSYS
Incompatible payment modules
- Culqi v3.0.4 - by Team Culqi. This module hasn't been updated for years, it even can't work fine on the default checkout page.
- Mi Cuenta Web by Lyra Network
- PrestaShop Checkout by PrestaShop
Modules requires "Two buttons" model to run
Here are a list of modules requires customer information to run, therefore you have to enable the "Two buttons" checkout model to make them work with the Easycheckout module.
- Mercado Pago by mercadopago v4
- Paylike v1.0.6 by DerikonDevelopment
- myOwnDeliveries v4 by laBulle
- PrestaShop Checkout by PrestaShop
- Knowband Store Locator And Pickup by knowband
- Adyen by Adyen
- Mondial Relay v3 by 202 ecommerce
- Klarna Payments Official by Prestaworks AB
- GLS Shipping by GLS
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
| if (Tools::getValue('controller') == "order" || $this->context->controller->getPageName()=='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');
}); |

Braintree by PrestaShop team v1.2.
1. Repalce place this code in the /modules/braintreeofficial/braintreeofficial.php file.
1
| if (Tools::getValue('controller') == "order") { |
With
1
| if (Tools::getValue('controller') == "order" || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
2. Repalce place this code in the /modules/braintreeofficial/views/js/payment_bt.js file.
1
| $("#checkout-payment-step").hasClass("js-current-step")&&(initBraintreeCard(),0==use3dVerification&&initBraintreeCvvField()), |
With
1 2 3 4 5 6 7 8
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.payment) == 'undefined')
return;
initBraintreeCard();
if (use3dVerification == false) {
initBraintreeCvvField();
}
}); |
3. Repalce place this code in the /modules/braintreeofficial/views/js/payment_pbt.js file.
1
| $("#checkout-payment-step").hasClass("js-current-step")&&c("checkout"), |
With
1 2 3 4 5
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.payment) == 'undefined')
return;
c('checkout');
}); |
4. Enable the "Don't show overlay when the checkout button is checked" setting under the "Payment method" tab in the easycheckout module to make error messages show out correctly.
PayPal official by PrestaShop team v5.
1. Enable the "Show description of payment methods" setting under the "Payment method block" in the Easycheckout module.
2. Add paypal_plus to the "Payment methods which don't need the native submit method" under the "PAYMENT METHODS BLOCK" tab in the easycheckout module.
3. Set the "PayPal Checkout" to "Redirect" under the "Experience" in the Paypal module.
4. Do two modifications to the the /modules/paypal/paypal.php file.
4.1) Replace this code in the hookHeader function.
1
| if (Tools::getValue('controller') == "order") { |
With
1
| if (Tools::getValue('controller') == "order" || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
4.2) Replace this code also in the hookHeader function.
1
| $method->assignJSvarsPaypalPlus(); |
With
1 2
| if(!Tools::isSubmit('action'))
$method->assignJSvarsPaypalPlus(); |
5.
If you are using v5.2.0 and later, then put this to the /modules/paypal/views/js/payment_ppp.js file to replace it's content.
1
| !function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=5)}({5:function(e,t){var n={},o=!0;prestashop.on('steco_event_updated', function(){var e=!1;"sandbox"==modePPP&&(e=!0),n=PAYPAL.apps.PPP({approvalUrl:approvalUrlPPP,placeholder:"ppplus",mode:modePPP,language:languageIsoCodePPP,country:countryIsoCodePPP,buttonLocation:"outside",useraction:"continue",showPuiOnSandbox:e})});prestashop.on("steco_submit_confirm", function(){var t=$("input[name=payment-option]:checked").attr("id");$("#".concat(t,"-additional-information .payment_module")).hasClass("paypal-plus")&&(r())});var r=function(){o&&(o=!1,$.fancybox.open({content:'<div id="popup-ppp-waiting"><p>'.concat(waitingRedirectionMsg,"</p></div>"),closeClick:!1,height:"auto",helpers:{overlay:{closeClick:!1}}}),$.ajax({type:"POST",url:ajaxPatchUrl,dataType:"json",data:{idPayment:idPaymentPPP},success:function(e){e.success?n.doCheckout():window.location.replace(e.redirect_link)}}))}}}); |
If you are using v5.1.2, v5.1.3 and v5.1.5, then put this to the /modules/paypal/views/js/payment_ppp.js file to replace it's content.
1
| !function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=4)}({4:function(e,t){var n={},o=!0;prestashop.on('steco_event_updated', function(){var e=!1;"sandbox"==modePPP&&(e=!0),n=PAYPAL.apps.PPP({approvalUrl:approvalUrlPPP,placeholder:"ppplus",mode:modePPP,language:languageIsoCodePPP,country:countryIsoCodePPP,buttonLocation:"outside",useraction:"continue",showPuiOnSandbox:e})});prestashop.on("steco_submit_confirm", function(){var t=$("input[name=payment-option]:checked").attr("id");if($("#".concat(t,"-additional-information .payment_module")).hasClass("paypal-plus")){r();return false;}});var r=function(){o&&(o=!1,$.fancybox.open({content:'<div id="popup-ppp-waiting"><p>'.concat(waitingRedirectionMsg,"</p></div>"),closeClick:!1,height:"auto",helpers:{overlay:{closeClick:!1}}}),$.ajax({type:"POST",url:ajaxPatchUrl,dataType:"json",success:function(e){e.success?n.doCheckout():window.location.replace(e.redirect_link)}}))}}}); |
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
| if($this->context->controller->php_self == 'order' || $this->context->controller->getPageName()=='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
| if (($this->context->controller->php_self == 'order' || $this->context->controller->getPageName()=='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,
a. The module version number is less than or equal to 2.1.0, replace this code.
1
| if (!in_array($this->context->controller->php_self, ['order', 'order-opc'])) { |
By this one
1
| if (!in_array($this->context->controller->php_self, ['order', 'order-opc']) && $this->context->controller->getPageName()!='module-steasycheckout-default') { |
b. The module version number is 2.1.0 and 2.1.1, replace this code.
1
| if (!in_array(Tools ::getValue('controller'), $orderPageNames)) { |
By this one
1
| if (!in_array(Tools ::getValue('controller'), $orderPageNames) && $this->context->controller->getPageName()!='module-steasycheckout-default') { |
c. The module version number is 2.2.0 and later, replace this code.
1
| if (!in_array(Dispatcher ::getInstance()->getController(), $orderPageNames)) { |
By this one
1
| if (!in_array(Dispatcher ::getInstance()->getController(), $orderPageNames) && $this->context->controller->getPageName()!='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,
)); |

Replace this code in the hookPaymentOptions function
1
| $stripeCustomer->getCustomerById($this->context->customer->id); |
With
1
| $stripeCustomer->getCustomerById($this->context->customer->id?:0); |
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> |
4. Do two replacements to the /modules/stripe_official/views/js/paymment.js file.
Replace the e(); or e(), in front of this code $(".payment_module.pointer-box") with
1
| prestashop.on('steco_event_updated', function(){e();}); |
You need to do another replacement in the payment.js file.
For verstion 2.2.1 users, replace this code D(n,t.error) with
1
| steco_payment.cancle_confirm(),D(n,t.error) |
For verstion 2.2.0 users, replace this code G(n,t.error) with
1
| steco_payment.cancle_confirm(),G(n,t.error) |
For verstion 2.1.0 users, replace this code R(n,t.error) with
1
| steco_payment.cancle_confirm(),R(n,t.error) |
For verstion 2.0.8 users, replace this code I(n,t.error) with
1
| steco_payment.cancle_confirm(),I(n,t.error) |
5. Uncheck the "Save customer cards" setting in the Stripe module.
6. Put this code to the custom css code field in the easycheckout module.
1 2
| #stripe-card-number img.img-card{top:6px;}
.stripe-card-cardholdername input, #stripe-card-number, #stripe-card-expiry, #stripe-card-cvc, #stripe-card-postalcode{padding: 8px 5px;height: 32px;} |
7. If you want to use ApplePay, then need to enable the "Two buttons" mode to let customers save their information before they click on the ApplePay button.
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; |
NOTE see the first screenshot below, add those backslashes to the code.
1
| 'cart' => (new CartPresenter )->present(isset($params['cart']) ? $params['cart'] : $this->context->cart), |


So Colissimo Flexibilite - Officiel v3 by Common-Services
1. Edit the /modules/soflexibilite/soflexibilite.php file, to replace this code
By this one.
1
| if (in_array(get_class($this->context->controller), $allowed_controllers) || $this->context->controller->getPageName()=='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; |





Colissimo - Domicile et Points de Retrait v4 by Common-Services
1. Do three replacements in the /modules/soflexibilite/soflexibilite.php file.
Replace this code
1
| if (in_array(get_class($this->context->controller), self::$allowed_controllers_fo) && !$this->context->cart->isVirtualCart()) { |
By this one.
1
| if ((in_array(get_class($this->context->controller), self::$allowed_controllers_fo) || $this->context->controller->getPageName()=='module-steasycheckout-default') && !$this->context->cart->isVirtualCart()) { |
Replace this code
1
| if (!in_array(get_class($this->context->controller), self::$allowed_controllers_fo)) { |
By this one.
1
| if (!in_array(get_class($this->context->controller), self::$allowed_controllers_fo) && $this->context->controller->getPageName()!='module-steasycheckout-default') { |
Replace this code
1
| return $this->display(__FILE__, 'views/templates/front/displayaftercarrier.tpl'); |
By this one.
1 2 3 4
| $this->context->smarty->assign(array(
'sf_img_dir' => $this->_path .'views/img/'
));
return $this->display(__FILE__, 'views/templates/front/displayaftercarrier.tpl'); |
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; |





3. Replace this code in the /modules/soflexibilite/views/js/front.js file.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| setTimeout(function () {
if (document.readyState !== 'loading') {
initSoFlexibiliteEngine();
} else if (document.addEventListener) {
document.addEventListener('DOMContentLoaded', initSoFlexibiliteEngine);
} else {
/** @typedef function document.attachEvent */
document.attachEvent('onreadystatechange', function () {
if (document.readyState !== 'loading') {
initSoFlexibiliteEngine();
}
});
}
}, 700); |
With
1 2 3 4 5
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.delivery) == 'undefined')
return;
initSoFlexibiliteEngine();
}); |
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;} |
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.4.0+ 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
| if ($this->context->controller->php_self == 'order' || $this->context->controller->php_self == 'order-opc' || $this->context->controller->getPageName()=='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 14 15 16 17
| .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;}
#colissimo-widget-container{height:auto!important;}
.colissimo-front-widget .modal-content {margin-left: 0; margin-right: 0; }
.colissimo-front-widget .modal-dialog {margin-left: auto; margin-right: auto; }
.colissimo-front-widget .modal-body { padding-left: 0; padding-right: 0; } |
3. Do two modifications tothe /modules/colissimo/views/js/widget.js file.
Repalce this code
1
| $(document).ready(function(){ |
with
1 2 3
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.delivery) == 'undefined')
return; |
Replace
1 2 3 4
| colissimoFrontWidget17.appendTo('body');
if (colissimoFrontWidget17.size() > 0) {
iti = initMobileField();
} |
With
1 2 3 4 5 6 7 8 9
| if($('body > .colissimo-front-widget-17').length == 0){
colissimoFrontWidget17.appendTo('body');
if (colissimoFrontWidget17.size() > 0) {
iti = initMobileField();
}
}else{
$('#st-checkout-delivery-step .colissimo-front-widget-17').remove();
} |
4. Disable the "Use default Colissimo widget" setting under the " Configuration Front-Office" tab in the Colissimo module. The option may not be able to be disabled, due to an issue of the Colissimo module, in that case, edit the /modules/colissimo/colissimo.php file to replace all this code
1
| if (!Configuration::get('COLISSIMO_WIDGET_REMOTE')) { |
with
5. Replace this code in the /modules/colissimo/views/js/jquery.plugin.colissimo.js file.
1
| data.replace('var colissimojQuery = jQuery.noConflict();', 'var colissimojQuery = jQuery;') |
with
1
| data.replace('var colissimojQuery = jQuery.noConflict();', 'var colissimojQuery = jQuery;').replace("colissimojQuery('html, body')", "colissimojQuery('.colissimo-front-widget')").replace("colissimo_widget_showInfoBulle(' + i + ')","colissimo_widget_showInfoBulle(' + (colissimo_widget_markersS.length-1) + ')") |
For people who are using old versions, skip the #3, #4 and #5 above, you need to do these two modifications.
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
| if (in_array($file, array('order-opc', 'order', 'orderopc', 'history', 'supercheckout', 'amzpayments')) || $this->context->controller->getPageName()=='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> |
GLS Parcel Shop by Kjeld Borch Egevang
1. Repalce this code in the /modules/glsparcel/views/js/carrier17.js file.
1
| oldRow = label.find('div.row:first'); |
With
2. Find this code in the getShopList function in the /modules/glsparcel/glsparcel.php file.
1
| if (!$iso_code || !$postcode) { |
Change it to
Also in this file, find this code in the displayTpl function
1
| $country = new Country($address->id_country); |
Change it to
1
| $country = new Country($address->id_country ?:$this->context->country->id); |
Advanced Shipping cost by motionSeed
Repalce this code in the /modules/steasycheckout/views/js/front.js file.
1
| .st_form_item_id_state select[name="id_state"],.steco-country |
With
1
| .st_form_item_id_state select[name="id_state"],.steco-country,.steco_new_address_form input[name="postcode"] |
Custom Payment by Webkul
1. Repalce this code in the hookActionFrontControllerSetMedia function in the /modules/wkcustompayment/wkcustompayment.php file.
1
| if($this->context->controller->php_self == 'order') { |
With
1
| if($this->context->controller->php_self == 'order' || $this->context->controller->_prefix_st=='STECO_') { |
2. Do 3 replacements in the /modules/wkcustompayment/views/js/wkcustompayment.js file.
1
| $('#checkout-payment-step .payment-options input[name="payment-option"]').on('click', function() { |
With
1
| $(document).on('click', '#st-checkout-payment-step .payment-options input[name="payment-option"]', function() { |
Repalce this code.
1
| $('#promo-code button, .cart-voucher a[data-link-action="remove-voucher"]').on('click', function(){ |
With
1
| $(document).on('click', '#promo-code button, .cart-voucher a[data-link-action="remove-voucher"]', function(){ |
Repalce this code.
With
Romanian Carriers - Fan Courier by George B.
1. Repalce this code in the /modules/steasycheckout/views/js/front.js file.
1
| $(document).on('change', '.st_form_item_id_state select[name="id_state"],.steco-country', function() { |
With
1
| $(document).on('change', '.st_form_item_id_state select[name="id_state"],.steco-country, select[name="city"]', function() { |
2. Repalce this code in the /classes/Cart.php file.
1
| $cache_id = 'getPackageShippingCost_' . (int) $this->id . '_' . (int) $address_id . '_' . (int) $id_carrier . '_' . (int) $use_tax . '_' . (int) $default_country->id . '_' . (int) $id_zone; |
With
1
| $cache_id = 'getPackageShippingCost_' . (int ) $this->id . '_' . (int ) $address_id . '_' . (int ) $id_carrier . '_' . (int ) $use_tax . '_' . (int ) $default_country->id . '_' . (int ) $id_zone.'_'.rand(0,1000); |
This is very unsusal to edit a PrestaShop file, but have to, becasue of the Romanian Carriers module calculates shipping fee based on the city, PrestaShop don't re-calculate shipping fee when the city is changed, so have to do the change to force PrestaShop re-calculate shipping fee when the city is changed.
Paycomet by Paycomet
Do two repalcements to the /modules/paytpv/views/js/paytpv.js file.
Repalce this
With
1 2 3
| prestashop.on('steco_event_updated', function(){
paytpv_initialize();
}); |
Replace all
With
1
| steco-conditions-to-approve |
Personal Pickup at Store by ModuleFactory
1. Edit the /modules/fspickupatstorecarrier/fspickupatstorecarrier.php file to replace this
1
| 'module-bestkit_opc-checkout' |
With
1
| 'module-bestkit_opc-checkout','module-steasycheckout-default' |
2. Find this line in the /modules/fspickupatstorecarrier/view/js/front.js file to replace this
1
| $(window).load(function() { |
Add this line right below it.
1
| prestashop.on('steco_event_updated', function(){FSPASC.initUI();}); |
Invoice Payment by silbersaiten
Remove this code from the /modules/invoicepayment/invoicepayment.php file.
1
| || !$this->getUserPermissions($params['cart']) |
Cash on delivery with fee (COD) PLUS v1.1.8 by Sakis Gkiokas
If you set to apply Tax for payment fee, then you need to do this integration work. Search for this line in the /modules/codwfeeplus/controllers/front/ajax.php file.
Add this line to be right above it.
1
| 'subtotals_tax' => isset($cart['subtotals']['tax']) ? $cart['subtotals']['tax']['value'] : 0, |
ASM Transporte Urgente by ASM
Find this line in the getOrderShippingCost function in the /modules/asmcarrier/asmcarrier.php file.
1
| if (empty($usuario_datos[0])) return false; |
Replace it with this
1 2 3 4 5
| if (empty($usuario_datos[0])) {
$usuario_datos[0]['id_country'] = Context ::getContext()->country->id;
$usuario_datos[0]['postcode'] = 0;
$usuario_datos[0]['iso_code'] = '';
} |
iyzico Payment Module v1.0.1 by iyzico
1. The module requires an address to run, so you've to enable the Save button for the address form in the Easycheckout module to make people be able to save an address to see the payment form.
2. Make sure your easycheckout module is v2.5.2 and later.
3. Repalce the /modules/iyzipay/views/templates/front/iyzico.tpl file with the one in this .zip file.
iyzico Payment (41 downloads)
Paylike v1.0.6 by DerikonDevelopment
1. Set the Model to "Two buttons, a Save button for people to save the account form and the address form".
2. Repalce the /modules/paylikepayment/views/templates/hook/payment.tpl file with the one in this .zip file.
paylikepayment (36 downloads)
myOwnDeliveries v4 by laBulle
The module can work fine if you enable the "Two buttons, people have to save the account form and the address form to see carriers and payment methods" model, expecet the error message not showing out if no time slots are selected. To fix that, you need to do these changes.
1) Add this code to the /modules/steasycheckout/views/js/front.js file, put it right above this line $('.js-payment-binary').hide();
1 2 3 4
| if(complete){
if(typeof(lastReservationCarrier)!='undefined' && checkPayment(lastReservationCarrier, deliveryLabel, null, null)===false)
show =false;
} |
2. Replace this code in the /modules/myowndeliveries/views/js/myowndeliveries.js file.
1
| } else if ((typeof (link)!='undefined' && link!=null) || $ (event .target ).is ('.stripe-submit-button')) |
With
1
| } else if ((typeof (link)!='undefined' && link!=null) || (event && $ (event .target ).is ('.stripe-submit-button'))) |
TN Western Union and MoneyGram Payment by Terranet
Replace this code in the /modules/tnwuandmg/views/js/payment.js file
With
1
| prestashop.on('steco_event_updated', function(){ |
PrestaShop Checkout by PrestaShop
NOTE it's not possible to make the Prestashop Checkout v2 be compatible with the easycheckout module anymore, because the main js file (/modules/ps_checkout/views/js/front.js) of ps_checkout is compressed, and source files are not provided.
1. Enable the "Two buttons" mode in the Easycheckout module.
2. Do two modifications to the /modules/ps_checkout/ps_checkout.php file.
a) Replace this code
1
| if (Tools::getValue('controller') !== 'order') { |
With
1
| if (Tools::getValue('controller') !== 'order' && $this->context->controller->getPageName()!='module-steasycheckout-default') { |
b) Remove this code from the hookPaymentOptions function.
1 2 3
| if (false === $this->isPaymentStep()) {
return false;
} |
3. Do two modifications to the /modules/ps_checkout/views/js/initPaypalAndCard.js file.
a) Replace this code
1
| document.addEventListener('DOMContentLoaded', () => { |
With
1 2 3 4 5
| var steco_ps_checkout = 0;
prestashop.on('steco_event_updated', function(resp){
if(steco_ps_checkout == 1 || typeof(resp.payment) == 'undefined')
return;
steco_ps_checkout = 1; |
b) Find this this line
Add this code right below it.
1
| if(typeof(steco_payment)!='undefined')steco_payment.cancle_confirm(); |
If you may need to do the same modifcations to the /modules/ps_checkout/views/js/initCardPayment.js file.
4. Repalce all this in the /modules/ps_checkout/views/templates/front/paymentOptions/paypal.tpl file.
With
Knowband Store Locator And Pickup by knowband
1. Enable the "Two buttons" mode.
2. Do three repalcements in the /modules/kbstorelocatorpickup/views/js/front/kb_front.js file.
Replace
1
| if (page_name == 'checkout') { |
With
1
| if (page_name == 'checkout' || page_name == 'module-steasycheckout-default') { |
And then remove this code right below the above line.
1
| var id_address = prestashop.cart.id_address_delivery; |
Replace
1
| $(document).ready(function () { |
With
1 2 3
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.delivery) == 'undefined')
return; |
Replace
1 2
| if(page_name == 'checkout'){
if(is_enabled_date_selcetion == '0'){ |
With
1 2
| if(page_name == 'checkout' || page_name == 'module-steasycheckout-default'){
if(is_enabled_date_selcetion == '0'){ |
3. If you are going to use the Easycheckout module's Google address feature, then you need to remove this code from the moduleskbstorelocatorpickupviewstemplateshookpickup_stores.tpl file to avoid loading google map api for twice.
1 2 3
| <script async defer
src="https://maps.googleapis.com/maps/api/js?key={$map_api|escape:'htmlall':'UTF-8'}&callback=initialize&senser=false">
</script> |
IQITFREEDELIVERYCOUNT by iqit-commerce.com
Find this code {block name='cart_summary_voucher'} in the /modules/steasycheckout/views/templates/hook/cart-summary.tpl file. Add this code right above it.
1
| {hook h='displayCartAjaxInfo'} |
Advanced date of delivery by Créatym
1. Repalce this code in the /modules/advanceddateofdelivery/advanceddateofdelivery.php file.
1
| if (($this->context->controller->php_self == 'order') || ($this->context->controller->php_self == 'order-opc')){ |
With
1
| if (($this->context->controller->php_self == 'order') || ($this->context->controller->php_self == 'order-opc' || $this->context->controller->getPageName()=='module-steasycheckout-default')){ |
2. Repalce this code in the /modules/advanceddateofdelivery/views/js/cart.js file.
1 2 3
| jQuery(document).ready(function ($) {
// Only for Prestashop 1.7
if (($('body').attr('id') == 'checkout')) |
With
1 2 3
| prestashop.on('steco_event_updated', function(){
// Only for Prestashop 1.7
if (1) |
Correos Chile by Rolige
The module requires the country field to run, so you keep the country field be shown.
1. Do two replacements in the /modules/rg_correoschile/rg_correoschile.php file.
Replace
With
1
| 'checkout', 'address','module-steasycheckout-default' |
Replace
With
1
| 'order-opc', 'checkout', 'module-steasycheckout-default' |
2. Do two reaplcement in the /modules/rg_correoschile/views/js/front.js file.
Reaplce this code
1
| $(document).ready(_rg_correoschile.ready); |
With
1 2 3 4 5
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.delivery) == 'undefined')
return;
_rg_correoschile.ready();
}); |
Reaplce this code
1 2 3
| $(window).on('load',function() {
_rg_correoschile.onCountryChange();
}); |
With
1
| _rg_correoschile.onCountryChange(); |
Adyen by Adyen
1. Enable "Two button" checkout in the Easycheckout module.
2. Enable the "Don't show overlay when the checkout button is checked" setting under the Payment tab in the Easycheckout module.
3. Do to replacement in the /modules/adyenofficial/adyenofficial.php file.
Replace
1
| if (in_array($controller->php_self, $frontControllers)) { |
ith
1
| if (in_array($controller->php_self, $frontControllers) || $controller->getPageName()=='module-steasycheckout-default') { |
Replace
1
| if ($controller->php_self == 'order') { |
ith
1
| if ($controller->php_self == 'order' || $controller->getPageName()=='module-steasycheckout-default') { |
4. Edit the /modules/adyenofficial/views/js/checkout-component-renderer.js file.
Reaplce this code
1
| jQuery(document).ready(function () { |
With
1 2 3
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.payment) == 'undefined')
return; |
5. Do these repalcements to the /modules/adyenofficial/views/js/payment-components/checkout-component-renderer.js, /modules/adyenofficial/views/js/payment-components/payment-components/stored-payment-method.js and /modules/adyenofficial/views/js/payment-components/payment-components/local-payment-method.js.
Reaplce this code
With
1 2 3
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.payment) == 'undefined')
return; |
Reaplce this code
1
| paymentForm.find('#errors').text(response.message).fadeIn(1000); |
With
1 2
| steco_payment.cancle_confirm();
paymentForm.find('#errors').text(response.message).fadeIn(1000); |
Reaplce this code
1
| console .log('Validation failed!'); |
With
1 2
| steco_payment.cancle_confirm();
alert('Your credit card information is invalid!'); |
You can't find this code console.log('Validation failed!'); in the local-payment-method.js file, what you need to do is fine this line
1
| if (!placeOrderAllowed && paymentMethod.details) { |
And then add this code right below it.
1 2
| steco_payment.cancle_confirm();
alert('Your credit card information is invalid!'); |
Stripe v3 by Bellini Services
1. Upgrade your easycehckout module to v2.8.2 and later.
2. Do several modifications to the modules/stripejs/stripejs.php file.
Replace this code
1
| if (in_array($controller, $controllers)) |
With
1
| if (in_array($controller, $controllers) || $this->context->controller->getPageName()=='module-steasycheckout-default') |
Replace all this code
1
| $redirect_url = $this->context->link->getPageLink($redirect_controller, true).(strpos($redirect_controller, '?') !== false ? '&' : '?').'step=3&stripe_error=1#s_error'; |
With
1
| $redirect_url = $this->context->link->getModuleLink('steasycheckout', 'default', array('stripe_error'=>1), (bool ) Configuration ::get('PS_SSL_ENABLED')); |
Remove this code.
1 2 3 4 5 6 7 8
| $steps = $this->context->controller->getCheckoutProcess()->getSteps();
$is_payment_step = false;
foreach ($steps as $step) {
if ($step->getTitle()=='Payment' && $step->isCurrent())
$is_payment_step = true;
}
if (!$is_payment_step)
return; |
3. Make sure the "stripejs" is not set as the "Default payment module" in the Easycheckout module.
4. Do several modifications to the /modules/stripejs/views/js/stripe-prestashop.js file.
Find this line
1
| $('#stripe-new #stripe-ajax-loader').hide(); |
Add this code right below it.
1
| steco_payment.cancle_confirm(); |
Remove all this code
5. If you've enabled "Enable Stripe Checkout", then you need to do two replacements in the /modules/stripejs/views/js/front.js file.
Replace this code
1
| $(document).ready(function() { |
With
1 2 3
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.payment) == 'undefined')
return; |
Replace this code
1
| if ($('#stripe-checkout-form #stripe_setup_complete').val()==0) |
With
1
| if ($('#stripe-checkout-form #stripe_setup_complete').val()==1) |
6. If you've enabed "Enable Custom Payment Form", then you need to edit the /modules/stripejs/views/js/stripe-setup.js file to repalce this code
1
| $(document).ready(function() { |
With
1 2 3
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.payment) == 'undefined')
return; |
7. If you've enabed "ApplePay ", then you need to do several modifications to the /modules/stripejs/views/js/applepay.js file.
Repalce this code
1 2
| $(document).ready(function()
{ |
With
1 2 3
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.payment) == 'undefined')
return; |
Replace all this code
With
1
| st-checkout-payment-step |
Remove all this code
8. Put this code to the custom css code field in the Easycheckout module.
1 2 3 4
| #stripe-new h3{font-size:14px;}
#stripe-payment-form .form-row{margin-bottom: 10px;}
#stripe-payment-form .custom-checkbox span{display:none;}
#stripe-payment-form .float-xs-left, #stripe-payment-form .condition-label{display:inline;} |
Mondial Relay v3 by 202 ecommerce
1. Enable the "Two buttons" model, because the module requires address inforamtion to run.
2. Replace this code in the /modules/mondialrelay/mondialrelay.php file.
With
1
| if (!in_array($controller, array('order', 'order-opc')) && $this->context->controller->getPageName()!='module-steasycheckout-default') { |
3. Replace this code in the /modules/mondialrelay/views/js/front/checkout/checkout-17.js file.
1
| $(document).ready(function(){ |
With
1
| prestashop.on('steco_event_updated', function(resp){if(typeof(resp.payment) == 'undefined')return; |
Mercado Pago by mercadopago v4
1. Enable "Two button" checkout in the Easycheckout module.
2. Enable the "Don't show overlay when the checkout button is checked" setting under the Payment tab in the Easycheckout module.
3. Add this code to the custom css code field.
1
| #mp_standard_checkout .mercadopago-button{display:none;} |
4. Do two modifications in the /modules/mercadopago/views/templates/hook/seven/standard.tpl file.
4.1 Remove this code.
1 2 3
| {if $modal == true && $preference != ""}
<script src ="{$modal_link|escape:'html':'UTF-8'}" data -public -key="{$public_key|escape:'html':'UTF-8'}" data -preference -id ="{$preference|escape:'html':'UTF-8'}"></script>
{/if} |
4.2 Replace this code
1 2 3 4 5 6 7 8
| <script>
var mercadopago_button = document.querySelector('.mercadopago-button');
mercadopago_button.style.display = 'none';
document.forms['mp_standard_checkout'].onsubmit = function () {
mercadopago_button.click();
return false;
}
</script> |
With
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <script>
prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.payment) == 'undefined')
return;
if($('#mp_standard_checkout script').length==0){
var s = document.createElement("script");
$("#mp_standard_checkout").append(s);
$(s).attr({
'src': "{$modal_link}",
'data-public-key': "{$public_key}",
'data-preference-id': "{$preference}",
});
}
document.forms['mp_standard_checkout'].onsubmit = function () {
var mercadopago_button = document.querySelector('.mercadopago-button');
mercadopago_button.style.display = 'none';
mercadopago_button.click();
return false;
}
});
</script> |
5. If you are going to use the first "Two buttons" checkout model, then you need to disable the "Mercado Pago" for "Visitors", otherwise an error emitted by this module will stop other payment methods showing out.
6. Find this line in the /modules/mercadopago/views/templates/hook/seven/ticket.tpl file
1
| window.onload = loadTicket(); |
Add this code right above it.
1 2 3 4 5
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.payment) == 'undefined')
return;
loadTicket();
}); |
7. Replace this code in the /modules/mercadopago/views/js/ticket.min.js file
1
| .childNodes[1].childNodes[1] |
With
Klarna Payments Official by Prestaworks AB
1. Replace this code in the /modules/klarnapaymentsofficial/klarnapaymentsofficial.php file.
1
| if (isset($this->context->controller->page_name) && $this->context->controller->page_name == 'checkout') { |
With
1
| if ((isset($this->context->controller->page_name) && $this->context->controller->page_name == 'checkout') || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
2. Do two replacements in the modules/klarnapaymentsofficial/views/js/front.js file.
2.1 Replace this code.
1
| $(document).ready(function () { |
With
1 2 3
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.payment) == 'undefined')
return; |
2.2 Replace this code
1
| $('#payment-confirmation > .ps-shown-by-js > button').click(function(event) { |
With
1
| prestashop.on('steco_submit_confirm', function(event) { |
3. Add this to the "Payment methods which don't need the native submit method" field under the "Payment method block" tab.
1
| klarnapayments_pay_now_module,klarnapayments_pay_later_module,klarnapayments_pay_over_time_module,klarnapayments_direct_debit_module,klarnapayments_card_module |
Mollie by Mollie B.V
1. Replace this code in the /modules/mollie/mollie.php file.
1
| if ($isOrderController || $isOPCController) { |
With
1
| if ($isOrderController || $isOPCController || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
2. Do two replacements in the modules/mollie/views/js/front/mollie_iframe.js file.
2.1 Replace this code.
1
| $(document).ready(function () { |
With
1 2 3
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.payment) == 'undefined')
return; |
2.2 Replace this code
1
| var methodId = $(this).find('input[name="method-id"]').val(); |
With
1
| var methodId = $('input[name="method-id"]').val(); |
Inpost Paczkomaty Poland v2.6.4 by Presta-Mod.pl
1. Find this code in the /modules/pminpostpaczkomaty/pminpostpaczkomaty.php file.
1
| !Module::isEnabled('thecheckout') && |
Add this code right below it.
1 2
| !Module::isInstalled('steasycheckout') &&
!Module::isEnabled('steasycheckout') && |
2. Find this code in the /modules/pminpostpaczkomaty/pminpostpaczkomaty.php file.
1
| Module::isEnabled('supercheckout') || |
Add this code right below it.
1 2
| Module::isInstalled('steasycheckout') &&
Module::isEnabled('steasycheckout') |
3. Replace this code
1
| Tools::getValue('controller') != 'supercheckout') { |
With
1
| Tools::getValue('controller') != 'supercheckout' && $this->context->controller->getPageName()!='module-steasycheckout-default') { |
4. Contact us to get a modified /modules/pminpostpaczkomaty/views/js/front-2.6.4.js file.
Estimated Delivery by Smart Modules
1. Do two replacements in the /modules/estimateddelivery/estimateddelivery.php file.
Repalce this code
1
| if (in_array($controller, $all_available) || Configuration ::get('ED_LOCATION') == 5) { |
With
1
| if (in_array($controller, $all_available) || Configuration ::get('ED_LOCATION') == 5 || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
Repalce this code
1
| } elseif (in_array($controller, $orders) && Configuration ::get('ED_ORDER')) { |
With
1
| } elseif ((in_array($controller, $orders) || $this->context->controller->getPageName()=='module-steasycheckout-default') && Configuration ::get('ED_ORDER')) { |
If you can find this code in the estimateddelivery.php file.
1
| $this->context->controller->addJs($path.'views/js/estimateddelivery-cart-line.js'); |
Replace it with
1
| $this->context->controller->addJs($this->_path.'views/js/estimateddelivery-cart-line.js'); |
2. Repalce this code in the /modules/estimateddelivery/views/js/estimateddelivery-cart-line.js file.
1
| #velsof_supercheckout_form |
With
1
| #velsof_supercheckout_form, #module-steasycheckout-default |
Repalce
1
| '#velsof_supercheckout_form' |
With
1
| '#velsof_supercheckout_form', '#module-steasycheckout-default' |
Omniva Shipping by Omniva.lt
1. Repalce this code in the /modules/omnivaltshipping/omnivaltshipping.php file.
1
| if (in_array(Context ::getContext()->controller->php_self, array('order-opc', 'order'))) { |
With
1
| if (in_array(Context ::getContext()->controller->php_self, array('order-opc', 'order')) || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
2. Repalce all this code in the /modules/omnivaltshipping/views/js/omniva.js file.
1
| $(document).ready(function(){ |
With
1 2 3
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.delivery) == 'undefined')
return; |
Additional Payment Fees by BVK Software
1. Repalce this code in the /modules/bvkpaymentfees/bvkpaymentfees.php file.
1
| if (isset($this->context->controller->php_self) && $this->context->controller->php_self == 'order') { |
With
1
| if ((isset($this->context->controller->php_self) && $this->context->controller->php_self == 'order') || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
2. Repalce all this code in the /modules/bvkpaymentfees/views/js/bvkpaymentfeesordersummary.js file.
With
1
| $('#cart-subtotal-shipping').after |
Chronopost v4 by Chronopost Official
1. Do two modifications to the /modules/chronopost/chronopost.php file.
Repalce this ocde
1
| elseif (!in_array($file, array('order-opc', 'order', 'orderopc'))) { |
With
1
| elseif (!in_array($file, array('order-opc', 'order', 'orderopc')) && $this->context->controller->getPageName()!='module-steasycheckout-default') { |
Remove this code from the
1
| $this->context->controller->addJS($module_uri.'/views/js/jquery-1.11.0.min.js'); |
2. Do quite several modifications to the /modules/chronopost/views/js/chronorelais-17.js file.
Replace all this code
1
| #js-delivery span.custom-radio > input[type=radio] |
With
1
| .steco_deliverys_form .delivery-option :radio |
Remove this code
1 2 3
| if (typeof CHRONORELAIS_ID === 'undefined') {
return false;
} |
Replace this code
1
| $('.steco_deliverys_form .delivery-option :radio, input[name=id_carrier]').click(function(e) { |
With
1
| $(document).on('click','.steco_deliverys_form .delivery-option :radio, input[name=id_carrier], ', function(e) { |
Remove this code
1 2 3 4 5 6 7
| if($("#chronorelais_container").length>0)
{
$('#chronorelais_dummy_container').remove();
} else {
$('#chronorelais_dummy_container').insertAfter($('#extra_carrier'));
$('#chronorelais_dummy_container').attr('id', 'chronorelais_container');
} |
Remove this code
1
| toggleRelaisMap($("#cust_address_clean").val(), $("#cust_codepostal").val(), $("#cust_city").val()); |
Replace this code
1 2
| $('#changeCustCP').on('click', postcodeChangeEvent);
$("#relais_codePostal").on('keypress keydown keyup', function(e) { |
With
1 2
| $(document).on('click', '#changeCustCP', postcodeChangeEvent);
$(document).on('keypress keydown keyup', "#relais_codePostal", function(e) { |
Replace this code
1
| if ($("#checkout-delivery-step").hasClass("-current")) { |
With
Add this coded to the very bottom of this file.
1 2 3 4 5 6 7 8 9 10 11 12 13
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.delivery) == 'undefined')
return;
if($("#chronorelais_container").length>0)
{
$('#chronorelais_dummy_container').remove();
} else {
$('#chronorelais_dummy_container').insertAfter($('#extra_carrier'));
$('#chronorelais_dummy_container').attr('id', 'chronorelais_container');
}
toggleRelaisMap($("#cust_address_clean").val(), $("#cust_codepostal").val(), $("#cust_city").val());
}); |
3. Add this code to the Custom css code field.
1 2 3 4 5 6
| #chronorelais_container .alert.col-lg-6,#chrono_postcode_controls{-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%}
#chrono_postcode_controls{margin-bottom:16px;}
#chrono_postcode_controls .input-group{display:block;}
#relais_codePostal{width:100%;}
#relais_txt_cont{font-size:12px;}
#relais_txt_cont h4, #chronorelais_container h3{font-size:14px;} |
Zip zipmoneypayment by Zip
1. Add zipmoneypayment to the "Payment methods which don't need the native submit method" under the "PAYMENT METHODS BLOCK" tab in the easycheckout module.
2. Do several modifications /modules/zipmoneypayment/views/templates/hooks/zipmoneypayment_intro.tpl file.
Remove this code
1 2
| e.preventDefault();
e.stopPropagation(); |
Replace
1
| var payment_options = document.querySelectorAll('#checkout-payment-step .payment-options input[name="payment-option"]'); |
With
1
| var payment_options = document.querySelectorAll('.payment-options input[name="payment-option"]'); |
And then add this code right below it.
1 2 3 4 5
| prestashop.on('steco_submit_confirm', function(event) {
if(zipHasBeenSet){
zipClick();
}
}); |
Repalce this code
1
| parentNode.querySelector('label span') |
With
1
| parentNode.querySelector('.steco_payment_option_title') |
Remove this line
1
| document.querySelector(purchaseButton).addEventListener("click", zipClick); |
Remove this line
1
| document.querySelector(purchaseButton).removeEventListener("click", zipClick); |
Find this code
1
| window.onload = function(){ |
Add this code right above it.
POLi Payments by POLi Payments
1. Do two modifications in the /modules/polipayment/polipayment.php file.
Find this line
Add this line right above it.
1
| ->setModuleName($this->name) |
Remove this line
2. Replace this code in the /modules/polipayment/views/templates/front/iframe.tpl file.
1 2 3 4 5 6 7 8 9 10
| document.addEventListener("DOMContentLoaded", function(event) {
jQuery('#processPoliPayment').on('click', function(e){
if (jQuery('#conditions_to_approve[terms-and-conditions]').is(':checked')) {
location.href='{/literal}{$poliurl|escape:'htmlall':'UTF-8'}{literal}';
return false;
} else {
alert('{/literal}{l s='Please agree to the terms of service to proceed' mod='polipayment'}{literal}');
}
});
}); |
With
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.payment) == 'undefined')
return;
jQuery('#processPoliPayment').on('click', function(e){
if(steco_payment.toggleOrderButton({complete:true})){
steco_payment.pre_confirm();
}
});
prestashop.on("steco_submit_confirm", function(){
if($("input[name=payment-option]:checked").data('module-name')=='polipayment'){
location.href='{/literal}{$poliurl|escape:'htmlall':'UTF-8'}{literal}';
}
});
}); |
Payment options by products by MyPresta.eu
Find this line in the /modules/steasycheckout/classes/StPaymentOptionsFinder.php file.
1
| foreach ($paymentOptions as $moduleName => $paymentOption) { |
Add this code right above it.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| require_once _PS_MODULE_DIR_ . 'pobp/models/pob.php';
$arrayToReturn = array();
foreach (Context ::getContext()->cart->getProducts() AS $cp => $cpk) {
foreach (pob ::returnByIdProduct($cpk['id_product']) AS $pov => $pob) {
$arrayToReturn[Module ::getInstanceById($pob['id_payment'])->name] = true;
}
if (count($arrayToReturn) > 0) {
foreach ($paymentOptions AS $pok => $pov) {
if (!isset($arrayToReturn[$pok])) {
unset($paymentOptions[$pok]);
}
}
}
} |
Cash on delivery plus (COD+) by PrestaHost.eu
1. Upgrade your easycheckout module to v2.8.2 and later.
2. Enable the "Show description of payment methods" setting under the "Payment method block" in the Easycheckout module.
3. Seach for this code in the /modules/cashondeliveryplus/views/templates/hook/payment.tpl file.
1
| {l s ='The COD fee is' mod ='cashondeliveryplus'} <span class="price">{$codfee|escape :'html':'UTF-8'}</span > {if isset($tax)}{$tax|escape :'html':'UTF-8'}{/if} |
Add this code right above it.
1 2 3 4
| <script language="JavaScript">
var cashondeliveryplus_codfee = "{$codfee}";
var cashondeliveryplus_total_price_cod = "{$total_price_cod}";
</script> |
4. If the tax is not included in the fee by default, then you need to edit the /modules/cashondeliveryplus/cashondeliveryplus.php file.
Repalce this code in the getFee function.
1 2 3
| if (isset($rate) && (float )$rate) {
$fee = $this->addTax($fee, $rate);
} |
By
1 2 3 4 5 6
| if (isset($rate) && (float )$rate) {
$fee = $this->addTax($fee, $rate);
}else{
$rate = $carrier->getTaxesRate(null);
$fee = $this->addTax($fee, $rate);
} |
Baliknapostu by prestahost.cz
Do several modifications to the /override/classes/ParcelshopCarrier.php file.
Replace
1
| if(Module::isInstalled('onepagecheckoutps') && Module::isEnabled('onepagecheckoutps')) { |
With
1
| if((Module::isInstalled('onepagecheckoutps') && Module::isEnabled('onepagecheckoutps')) || (Module::isInstalled('steasycheckout') && Module::isEnabled('steasycheckout'))) { |
Replace
1
| if(strpos($controller, 'order') === false) { |
With
1
| if(strpos($controller, 'order') === false && $this->context->controller->getPageName()!='module-steasycheckout-default') { |
Find this code
1
| public static function onepageactive() { |
Add this code right below it.
1 2 3
| if(Module::isInstalled('steasycheckout') && Module::isEnabled('steasycheckout')) {
return 1;
} |
GLS Shipping by GLS
1. Enable the "Two buttons" model in the Easycheckout module.
2. Edit the /modules/glsshipping/glsshipping.php file.
Replace
1
| if (in_array($file, array('order-opc', 'order', 'orderopc', 'history', 'supercheckout', 'amzpayments'))) { |
With
1
| if (in_array($file, array('order-opc', 'order', 'orderopc', 'history', 'supercheckout', 'amzpayments')) || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
DPD France by DPD France S.A.S.
1. Enable the "Two buttons" model in the Easycheckout module.
2. Edit the /modules/dpdfrance/dpdfrance.php file.
Replace
With
1
| if ($file == 'order' || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
Find this code also in the hookDisplayHeader function
1 2 3 4 5
| $this->context->controller->registerJavascript(
'module-dpdfrance-jquery',
'/js/jquery/jquery-1.11.0.min.js',
array('position' => 'head', 'priority' => 1)
); |
Add this line right above it.
if($this->context->controller->getPageName()!='module-steasycheckout-default')
[/cce]
3. Open up the /modules/dpdfrance/views/js/front/dpdfrance_532.js file.
Find this line.
1
| $(document).ready(function() |
Add this code right above it.
1 2 3 4 5 6 7 8
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.payment) == 'undefined')
return;
$(document).on('change', "input[name*='delivery_option[']", function() {
dpdfrance_display();
});
dpdfrance_display();
}); |
Replace this funcation
1 2 3 4 5 6 7 8
| function dpdfrance_allowOrder($status)
{
if ($status == true) {
$('[name=confirmDeliveryOption]').removeAttr('disabled');
} else {
$('[name=confirmDeliveryOption]').attr('disabled', 'disabled');
}
} |
With
1 2 3 4 5 6 7 8 9 10
| function dpdfrance_allowOrder($status)
{
if ($status == true) {
$('[name=confirmDeliveryOption]').removeAttr('disabled');
$('.steco_confirmation_btn').removeClass('steco_disabled');
} else {
$('[name=confirmDeliveryOption]').attr('disabled', 'disabled');
$('.steco_confirmation_btn').addClass('steco_disabled');
}
} |
This module can work on both the default checkout page and the easycheckout page after integration.
Olva Courier by Rolige
1. Edit the /modules/rg_olvacourier/rg_olvacourier.php file.
Replace
1
| if ($page_name && in_array($page_name, array('authentication', 'order', 'order-opc', 'checkout', 'address'))) { |
With
1
| if (($page_name && in_array($page_name, array('authentication', 'order', 'order-opc', 'checkout', 'address'))) || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
2. Edit the /modules/rg_olvacourier/views/js/front.js file.
Replace
1
| $(document).ready(_rg_olvacourier.ready); |
With
1 2 3 4 5 6 7 8
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.addresses) == 'undefined')
return;
_rg_olvacourier._onCountryChange();
});
prestashop.on('updatedAddressForm', function(resp){
_rg_olvacourier._onCountryChange();
}); |
EveryPay by Veebipoed.ee
1. Edit the /modules/everypay/everypay.php file.
Replace
1
| if (Tools::getValue('controller') == 'order') { |
With
1
| if (Tools::getValue('controller') == 'order' || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
2. Remove this code from the /modules/everypay/views/js/everypay.js file.
3. Remove this code from the /modules/everypay/views/templates/hook/payment_banklink.tpl file.
1
| <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.min.js"></script> |
4. Remove this code from the /modules/everypay/views/templates/hook/payment_redirect.tpl file.
1
| type="text/javascript" src="https://code.jquery.com/jquery-1.11.1.min.js" |
SEB payment gateway by Veebipoed.ee
1. Edit the /modules/sebpaymentgateway/sebpaymentgateway.php file.
Replace
1
| if (Tools::getValue('controller') == 'order') { |
With
1
| if (Tools::getValue('controller') == 'order' || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
2. Remove this code from the /modules/sebpaymentgateway/views/js/sebpaymentgateway.js file.
3. Remove this code from the /modules/sebpaymentgateway/views/templates/hook/payment_redirect.tpl file.
1
| <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.min.js"></script> |
Sogecommerce by Lyra Network
1. Enable the "Show description of payment methods" in the Easycheckout module.
2. Edit the /modules/sogecommerce/sogecommerce.php file.
Replace
1
| if ($controller instanceof OrderController || $controller instanceof OrderOpcController) { |
With
1
| if ($controller instanceof OrderController || $controller instanceof OrderOpcController || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
Razorpay by Lyra Team Razorpay
1. Edit the /modules/razorpay/razorpay.php file.
Replace
1
| if (Tools::getValue('controller') == "order" || Tools::getValue('controller') == "supercheckout" || $this->context->controller->getPageName()=='module-steasycheckout-default') |
With
1
| if (Tools::getValue('controller') == "order" || $this->context->controller->getPageName()=='module-steasycheckout-default') |
2. Do three modifications to the /modules/razorpay/script.js file.
Find this line
1
| document.addEventListener('DOMContentLoaded', function(event) { |
And then add this code right blow it.
1 2 3
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.payment) == 'undefined')
return; |
Find this line
1
| parent.addEventListener( |
Add this code right above it.
Replace this line at the very bottom of the file.
With
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| $(document).on('change', '.steco-payment-option input[name="payment-option"]', function(e) {
if ($('#st-checkout-payment-step input[data-module-name="razorpay"]').prop('checked')) {
newSubmitButton.className = baseClass + 'shown';
} else {
newSubmitButton.className = baseClass + 'not-shown';
}
newSubmitButton.disabled = !!document.querySelector(
'input[name^=conditions_to_approve]:not(:checked)'
);
});
if($('#st-checkout-payment-step input[data-module-name="razorpay"]').prop('checked') == true){
$('#st-checkout-payment-step input[data-module-name="razorpay"]').trigger('change');
}
});
}); |
Parcel locker by GreenMouseStudio.com
Edit the /modules/gmparcellocker/gmparcellocker.php file.
Replace
1
| if ($this->context->controller->php_self === 'order' || Tools::getValue('controller') == 'supercheckout' || Tools::getValue('controller') == 'checkout') { |
With
1
| if ($this->context->controller->php_self === 'order' || Tools::getValue('controller') == 'supercheckout' || Tools::getValue('controller') == 'checkout' || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
Starken (Turbus) by Rolige
1. Enable the "Two buttons" mode in the Easycheckout module.
2. Edit the /modules/rg_starken/rg_starken.php file.
Replace
1
| if (in_array($page_name, array('order', 'order-opc', 'checkout', 'address', 'authentication', 'product'))) { |
With
1
| if (in_array($page_name, array('order', 'order-opc', 'checkout', 'address', 'authentication', 'product')) || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
3. Edit the /modules/rg_starken/views/js/front.js file.
Replace
1
| $('select[name="id_country"]').change(); |
With
1
| $('.st_address_form_delivery select[name="id_country"]').change(); |
Add this code to the very end of this file.
1 2 3 4 5
| prestashop.on('steco_event_updated', function(resp){
if(typeof(resp.addresses) == 'undefined')
return;
_rg_starken.ready();
}); |
Shipmondo by Shipmondo
1. Enable the "Two buttons" mode in the Easycheckout module, the first "Two buttons" mode is recommended in this case.
2. Edit the /modules/shipmondo/shipmondo.php file.
Replace
1
| if (in_array($current_page, $order_pages)) { |
With
1
| if (in_array($current_page, $order_pages) || $this->context->controller->getPageName()=='module-steasycheckout-default') { |
3. Edit the /modules/shipmondo/views/js/shipmondo.js file.
Fine the very last line which is this.
And the put this code right above it.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| prestashop .on ('steco_event_updated', function(resp ){
if(typeof (resp .delivery ) == 'undefined')
return;
var carrier_code = getCarrierCodeByVal ($ ('.steco_deliverys_form .delivery-option :radio:checked').val ());
$ ('.shipmondo-shipping-field-wrap').remove ();
if (carrier_code != '') {
var dev_option = $ ('.steco_deliverys_form .delivery-option :radio:checked').closest ((window .Shipmondo && window .Shipmondo .deliveryOptionRowSelector ) ? window .Shipmondo .deliveryOptionRowSelector : '.delivery-option'); //row
var extra_content = $ (dev_option ).find ('.carrier-extra-content');
if ($ (extra_content ).length < 1) {
extra_content = $ (dev_option ).next('.carrier-extra-content');
}
$ (extra_content ).html (selection_button_html );
$ (extra_content ).find ('#shipmondo_find_shop_btn').data ("shipping-type", carrier_code );
if (frontend_type == 'radio') {
setTimeout (function () {
loadRadioButtons ();
}, 200);
}
if (current_shop && (carrier_code == current_shop .carrier_code )) {
shopSelected (current_shop );
} else {
showContinueBtn (false);
}
} else {
showContinueBtn (true);
}
}); |
We will keep updating this list.
Changelog
Easycheckout one page checkout module 2.8.1 (September 16, 2020)
- Removed the option to choose DNI or VAT for "Company", because DNI is for both Individual and Company, VAT is for company only.
Easycheckout one page checkout module 2.8.0 (September 15, 2020)
- Added a feature to add placeholder to every filed in the user info from and the addres form.
- Added a feature to add custom validation error messages to the user info form.
- Added an option to choose DNI or VAT for "Company".
- Added two custom content sections to every block.
- Added a feature to auto-fill the "Company" and "VAT/DNI" when B2B is enabled.
Easycheckout one page checkout module 2.7.0 (September 5, 2020)
- Sticky 2nd & 3rd column feature (Sticky cart summary).
- Added a feature to add custom validation error messages in the address forms.
Easycheckout one page checkout module 2.6.8 (August 4, 2020)
Easycheckout one page checkout module 2.6.7 (July 9, 2020)
- Added compatibility with the "PayPal with fee" module.
- Revert the modification to the item price option.
Easycheckout one page checkout module 2.6.6 (July 6, 2020)
- Fixed a issue in the feature of using 3 dropdown menus to display the birthday field.
Easycheckout one page checkout module 2.6.5 (June 27, 2020)
- Fixed a compatibility issue with 1.7.6.4 and 1.7.6.5.
Easycheckout one page checkout module 2.6.4 (June 24, 2020)
- A minor update to hide error messages in time to avoid confusion.
Easycheckout one page checkout module 2.6.3 (June 16, 2020)
- Added compatiblity with the Stripe module by Bellini Services.
- Improved the way of how to display product prices on the cart block.
Easycheckout one page checkout module 2.6.2 (June 11, 2020)
- Fixed an issue of some carriers requiring a refresh to show out.
Easycheckout one page checkout module 2.6.1 (June 7, 2020)
- Added the Save button for the address form back when in "Two buttons" checkout model.
Easycheckout one page checkout module 2.6.0 (June 4, 2020)
- Improved the process for logged in customers with no addresses, no need to a Save button to save an address to checkout anymore, just fill in all field and click the checkout button.
Easycheckout one page checkout module 2.5.5 (June 1, 2020)
- Added an option to use 3 dropdown menus for the birthday field.
- Stopped to show a hint for the postcode field all the time, to show the hit only when the field is invalid.
- Fixed the issue of not accept emails with long domain extension, like xx@xx.online
- Added an option to don't show the firstname and lastname fields when the type of customer is Company.
- Added an option to don't show overlay when the checkout button is checked.
- Fixed an issue of showing the wrong step number when an reassurance was added to the checkout page.
- Improved the progress bar to make it be animated.
Easycheckout one page checkout module 2.5.4 (May 26, 2020)
- Improved the "Type of customer" feature to don't show the firstname and lastname fields when the type is Company.
Easycheckout one page checkout module 2.5.3 (May 23, 2020)
- Fixed a terrible mistake made in 2.5.2, the mistake caused the addree form showing "Please save address first" meesage even when all fields were filled.
- Fixed an issue of the "Type of customer" feature.
Easycheckout one page checkout module 2.5.2 (May 20, 2020)
- Improved the address form.
Easycheckout one page checkout module 2.5.1 (May 14, 2020)
- Fixed a typo which could cause error during installation.
- Added a testing mode.
- Added an option to remember the selected payment option.
Easycheckout one page checkout module 2.5.0 (May 10, 2020)
- Added a save button to the address form to make people be able to save the account form and the address form, which this Save button, the module can be compatible with all carrier modules and payment modules.
- Added options to use placeholders instead of labels in the account form and the address form.
Easycheckout one page checkout module 2.4.7 (April 23, 2020)
- Added compatibility with prestashop 1.7.6.4 and 1.7.6.5.
Easycheckout one page checkout module 2.4.6 (April 8, 2020)
- Improved the easycheckout module to have better compatibility with the paypalplus module by terracode.
- Fixed an issue which stopped the address form working if the selected country requiring the DNI information.
Easycheckout one page checkout module 2.4.5 (March 14, 2020)
- Fixed a problem in the Google Geolocate feature.
Easycheckout one page checkout module 2.4.4 (December 23, 2019)
- Fixed a problem of tax might not get calculated correctly for guests.
Easycheckout one page checkout module 2.4.3 (November 20, 2019)
- Fixed a problem of shipping address might 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)
A module that started a bit unfinished at the beginning, but which today is a "must have" in any PrestaShop store. The best quality / price one step checkout module that you will find. In addition, its support and continuous updates and new features are perfect. Brilliant!
Замечательный модуль с широким функционалом который можно и расширить. Классно работает с темой panda, корзина стала менее перегружена и клиенту проще совершить покупку. Широкая возможность для кастомизации. A wonderful module with wide functionality that can be expanded. Works great with the panda theme, the shopping cart is less congested and the customer makes a purchase easier. Wide possibility for customization
Even though I have a paid module from prestashop.add-ons, I bought your module because of my website integrity and your service. And once again I am more satisfied with your module and service. A million thanks
Супер модуль. Всё работает быстро. Красивый.
Very good, you can configure the checkout page as you want, unlimited options.
EasyCheckout is the most useful checkout module, we us it in all our projects. And when occur problems with integrations in some cases, the team have a very quick response. 5 stars for all of them.
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!