PrestaShop 9.2.0 was released on 30 September 2026.
This is a significant update in the 9.x branch, bringing an official One Page Checkout, the new Extra Properties system, additional product conditions, developer improvements, new CLI commands, and further migration of the Back Office to Symfony.
For live stores, the update looks useful, but it should still be tested on staging before being deployed to production.
One Page Checkout is now official
PrestaShop 9.2 introduces an official one-page checkout module:
ps_onepagecheckout
It combines the main checkout steps on a single page:
-
customer details;
-
address;
-
shipping;
-
payment.
For customers, this creates a more compact checkout flow. For developers, it provides an official implementation instead of relying entirely on third-party OPC modules.
However, checkout is also one of the most critical parts of any e-commerce store.
After updating, test:
guest checkout;
registered customer checkout;
address creation and editing;
shipping methods;
discount codes;
all payment methods;
pickup points;
3-D Secure;
order creation in Back Office.
If the theme overrides checkout templates or contains custom checkout JavaScript, compatibility should be tested separately.
Extra Properties: extending standard PrestaShop entities
One of the most interesting changes for developers is Extra Properties.
PrestaShop can now store additional data for standard entities without requiring a custom storage layer for every simple field.
Extra Properties can be used with entities such as:
Product
Combination
Customer
Order
Category
For example, a module may need to add a custom product property:
is_dangerous
Previously, developers often created a dedicated SQL table for this.
With Extra Properties, PrestaShop provides a built-in mechanism with support for Back Office, Grid, multilang, multistore and Admin API integration.
A simplified ObjectModel example:
$product = new Product($productId);
$product->extra_properties['mymodule']['is_dangerous'] = true;
$product->update();
The feature is still relatively new, so it should be used carefully in long-term module architecture.
For simple additional fields it is promising. For complex domain models and relationships, dedicated tables can still be the better solution.
New product conditions
PrestaShop 9.2 adds three new values to the product condition field:
open_box
damaged
new_with_defects
Previously, most integrations expected only:
new
used
refurbished
For merchants, this allows more precise product descriptions.
For developers, it can introduce compatibility issues.
Check any module that uses product->condition, especially:
exports;
marketplace connectors;
ERP integrations;
product feeds;
imports;
filters;
product page templates.
If custom code assumes only three possible values, it should be updated.
Structured Data is easier to extend
PrestaShop continues moving SEO-related logic away from templates and into application-level code.
Modules can now work more cleanly with structured data and add information such as:
AggregateRating
MerchantReturnPolicy
ContactPoint
without directly overriding templates.
For stores with custom JSON-LD implementations, it is worth checking for duplicated structured data after updating.
More Symfony in the Back Office
PrestaShop 9.2 moves more administration pages to Symfony.
For merchants, this change is mostly invisible.
For developers, the direction is clear:
Symfony Controllers
Dependency Injection
Commands / Queries
Services
Grid
are becoming increasingly important.
New modules should therefore minimise unnecessary dependencies on legacy Back Office architecture.
Improved service configuration for modules
In PrestaShop 9.2, module services can be configured not only through:
config/services.yml
but also through:
config/services.php
Version-specific definitions are also supported:
services-9.2.yml
services-9.yml
services.yml
This is useful for commercial modules that support several PrestaShop generations.
Existing modules using services.yml do not need to be rewritten simply because 9.2 is available.
New CLI commands
PrestaShop 9.2 introduces several useful Symfony Console commands.
List installed modules:
php bin/console prestashop:module:list
Create an administrator:
php bin/console prestashop:employee:create-admin
Change an employee password:
php bin/console prestashop:employee:change-password
Regenerate .htaccess:
php bin/console prestashop:htaccess:generate --force
These commands are useful for server administration, staging environments and automated deployments.
What should be checked before updating?
For a live store, a safer update process looks like this.
1. Create a full backup
Back up both:
files;
database.
2. Create a staging copy
Do not test only on a clean PrestaShop installation.
Use a copy of the real store with its actual theme, modules and data.
3. Check critical modules
Pay special attention to:
payment;
shipping;
ERP/CRM;
marketplace integrations;
import/export;
SEO modules;
search;
checkout.
4. Complete a full checkout
Test the complete flow:
product
→ cart
→ discount code
→ address
→ shipping
→ payment
→ confirmation
→ order in Back Office
5. Test integrations
Run real tests for:
cron;
API;
webhooks;
imports;
exports;
order synchronisation;
stock synchronisation.
6. Check logs
Review:
PrestaShop logs;
PHP logs;
Symfony logs;
browser console.
Not every compatibility issue causes an immediate visible error.
Should you update to PrestaShop 9.2.0?
If your store is already running PrestaShop 9.0 or 9.1 and your critical modules are compatible, 9.2 is a meaningful update.
The main improvements include:
official One Page Checkout;
Extra Properties;
new product conditions;
structured data improvements;
new CLI tools;
continued Symfony migration.
For production, the safest workflow remains:
backup
↓
staging
↓
module testing
↓
full checkout test
↓
integration testing
↓
production
Conclusion
PrestaShop 9.2.0 is an important update in the 9.x branch.
For merchants, the most visible change is the official One Page Checkout.
For developers, Extra Properties, improved service configuration, new CLI tools and the continued Symfony migration are especially relevant.
The update is worth considering, but only after testing the real store on staging, especially if it uses a custom theme, payment modules, shipping integrations, checkout customisations or external systems.