⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡
including 19% VAT
- Compatible with Magento 2.3.X - 2.4.8 - Hyvä Theme + Luma-based themes
- Product updates and a 12-month Pro Support plan
- Updates and support extensions: 30% discount more info
- 30-day money-back guarantee
- Book a live demo: demo@storetown-media.de
Your checkout process determines whether a shopping cart becomes a sale or disappears into thin air. This is precisely where the Smart One Page Checkout Extension for Magento 2 It brings address, shipping, payment and order summary onto a single page — fewer clicks, better overview, fewer abandoned orders. A fast one-page checkout is not a nice extra — it's a real revenue driver.
The entire ordering process is on one page — no more page changes.
Two Column, Reverse, One Column & Ultra Compact — switchable via backend
Mollie, Stripe, PayPal, Klarna, Adyen, PayOne, Unzer & Amazon Pay
Touch-optimized, sticky order bar & compact display
Translation base for DE, AT, CH, EN, FR, ES, IT, NL, PL, SE & US
Composer installation, all settings in the Magento backend
Shopping cart, shipping costs & total price always visible
Optimized for Hyvä Theme, Luma-based themes like Porto, etc.
Magento 2 One Page Checkout Extension
Faster checkout. Fewer abandoned carts. Increased revenue. The STM Smart One Page Checkout Extension replaces the multi-step Magento 2 standard checkout with a streamlined ordering process on a single page.
Hyvä Theme
Luma-based themes
PHP 8.1 – 8.4
Why do Magento 2 shops lose customers at checkout?
Magento 2's standard checkout spreads the order process across multiple pages. Every additional click is an opportunity for the customer to abandon the purchase. Studies show: Up to 70% of all shopping carts are abandoned before purchase is completed. — often because of a checkout process that is too long or confusing.
The STM Smart One Page Checkout Extension This solves that problem. Address, shipping method, payment method, and order summary are all displayed together on one page. Your customers immediately see what to expect—without switching pages or losing their bearings. The result: Shorter order times, fewer abandoned purchases, and a measurably higher conversion rate.
What is a One Page Checkout Extension for Magento 2?
A One Page Checkout Extension for Magento 2 This module replaces Magento 2's standard multi-step checkout process with a single, integrated checkout. Instead of entering their address, shipping method, and payment on separate pages, your customers see all steps simultaneously on one page—with a live order summary and clearly organized sections.
The Magento 2 standard checkout is considered two-stage process The process is structured as follows: first shipping and address data, then payment method and order confirmation. Each step is rendered in its own knockout component, which means additional waiting time, component loads, and clicks. Evaluations of the Baymard Institute show that each additional checkout step noticeably increases the abandonment rate — especially on mobile devices, where page changes are perceived as a loss of context.
A modern one-page checkout extension solves this technically. asynchronous data loading, compact wayfinding and a clearly structured layout. The STM Smart One Page Checkout Extension This is exactly where it comes in: It reduces the sources of abandonment without requiring you to change anything in Magento core code, theme templates, or your payment configuration — Composer installation, backend configuration, done.
The most important advantages of the One Page Checkout Extension
Complete checkout on one page
No more page changes. Address, shipping, payment and order review at a glance — fewer clicks to complete your order.
4 checkout layouts to choose from
Two Column, Reverse, One Column or Ultra Compact — choose the layout that suits your shop and target audience.
All major payment providers
Seamlessly compatible with PayPal, Mollie, Stripe, Klarna, Adyen, PayOne, Unzer and Amazon Pay.
Mobile-First Checkout
Touch-optimized input, sticky order bar and compact display — your customers can order just as comfortably on mobile as on the desktop.
11 languages pre-installed
Translations for DE, AT, CH, EN, US, FR, ES, IT, NL, PL and SE — ready for immediate use in international shops.
Installation in a few minutes
Install via Composer, configure in the backend — no core hacks, no template overrides, no conflicts with Magento updates.
💳
Which payment providers are supported?
A checkout change must not disrupt your existing payment processes. The STM Smart One Page Checkout Extension is compatible with the most used payment providers in the Magento ecosystem Tested and approved. Your customers will continue to pay using their preferred method — the checkout process will be optimized around it.
| Provider | Integration | Your advantage |
|---|---|---|
| PayPal | Directly integrated, ready for immediate use | Familiar payment method — highest acceptance among end customers |
| Mollie | Seamlessly integrated into the checkout process | Many payment methods from one provider — ideal for flexibility |
| Stripe | Neatly integrated into the payment area | Modern credit card processing, broad international acceptance |
| Adyen | professionally involved | Enterprise-ready for larger and international shops |
| PayOne | Clear presentation of methods | Wide range of payment methods from a single source |
| Unzer | Neatly integrated into the process | A powerful solution for the German-speaking market |
| Amazon Pay | Quickly recognized at checkout | Customers order using their Amazon account — minimal hurdle |
| Klarna | Customer-friendly integration | Purchase on account & installment payment — lowers the purchase threshold |
🎨
Which checkout layout suits your shop?
Not every target group responds to the same presentation. That's why the extension offers four checkout layouts, which you can switch directly in the Magento backend — without changing a single line of code. Test which layout achieves the highest conversion rate with your customers.
- Two Column: Form on the left, order overview on the right — the classic for clear orientation
- Two Column Reverse: Order overview on the left, form on the right — ideal if you want to keep an eye on the shopping cart.
- One Column: Everything neatly organized, compact and focused — perfect for fast ordering processes
- Ultra Compact: Modern card layout in three columns — for shops with high design standards
| Layout | Character | Especially suitable for |
|---|---|---|
| Two Column | Classic, clear, familiar | Most shops — a proven layout that works immediately |
| Two Column Reverse | Order focus, shopping cart in view | Higher shopping cart values or products requiring explanation |
| One column | Compact, direct, fast | Few products or recurring customers |
| Ultra compact | Modern, spacious, strong brand | Premium shops and brands with high design standards |
Hyvä vs. Luma: which variant is best for which theme?
Magento 2 is currently shipped on two very different theme architectures: Luma as the original, KnockoutJS-based Magento standard and Good as a modern, AlpineJS and Tailwind-based performance theme. Which version of Smart One Page Checkout is available for your shop depends directly on your theme base — and is automatically detected during Composer installation.
On one Hyvä-Shop The extension delivers a checkout fully rendered in AlpineJS — with the performance advantages that Hyvä is known for: no KnockoutJS Bootstrap, small JavaScript bundle size, and instant interaction. If you're already using Hyvä, you'll benefit from checkout speeds significantly faster than the Magento default — the mobile performance profile is particularly effective here.
On one Luma or Luma-based theme (Porto, Ultimo, Magento Blank) The extension integrates seamlessly into the existing KnockoutJS framework. You don't need to migrate your theme, your customizations are preserved, and the configuration is handled entirely through the Magento backend. This flexibility is precisely why the extension is ready to use immediately, even in established online stores.
| Theme Base | Technology | Suggestions |
|---|---|---|
| Hyvä Theme | AlpineJS, Tailwind | Maximum performance — ideal for modern and mobile-first shops |
| Luma (Standard) | KnockoutJS, RequireJS | Proven solution for classic Magento shops without changing themes |
| Porto / Ultimo | Luma-based | Fully compatible — no theme customization required |
| Custom themes | Variable | Verifiable upon request — we will assist with the adaptation. |
📊
How does a one-page checkout reduce shopping cart abandonment?
Many checkout processes fail not due to technical issues, but due to a lack of clarity. Too many individual steps, too many page changes, too little guidance. The Smart One Page Checkout Extension solves this problem with a visibly ordered structure, which builds trust and speeds up the ordering process:
- Numbered steps — Your customers can see where they are in the checkout process at any time.
- Live order overview — Shopping cart contents, shipping costs and total price are always visible
- Sticky progress indicator — stays in view while scrolling, no loss of orientation
- Clear visual sections — Address, shipping, payment and confirmation immediately distinguishable
📱
Magento 2 Checkout on your smartphone
Over 60% of all online orders are now placed via mobile devices. This is precisely where it's decided whether a checkout process is truly well-designed. The standard Magento checkout was developed for desktop computers—on smartphones, it often appears cluttered and cumbersome. The Smart One Page Checkout Extension is optimized for mobile devices from the ground up.
- Compact overview of all checkout steps without horizontal scrolling
- Sticky order bar at the bottom of the screen — order button always accessible
- Touch-optimized Input fields, dropdowns and selection elements
- Automatic adjustment to any screen size — from the iPhone SE to the iPad Pro
🌍
Magento 2 Checkout in 11 languages
International shops need a checkout that works in every language. The extension is provided with prepared translation files for 11 markets Delivered. If you operate multiple Magento Store Views, the checkout is ready to use immediately — without any additional translation work.
Technical Details & System Requirements
system requirements
| Magento | 2.4.x (Open Source & Adobe Commerce) |
| PHP | 8.1, 8.2, 8.3, 8.4 |
| Themes | Hyvä, Luma-based (Porto, Ultimo and others) |
| Installation | Composer (recommended) |
Deliverables
| layouts | 4 variants (switchable in the backend) |
| Languages: | 11 translation packages are included |
| Payment | 8 providers natively supported |
| Configuration | Stores → Configuration, no CSS needed |
Installing the Magento 2 Checkout Extension
The extension is installed via Composer and can be fully configured in the Magento backend. No core hacks, no template overrides, no conflicts with Magento updates. After completing your order, you will receive your personal access data for our Composer repository via email.
$ composer requires storetown/module-smart-onepage-checkout
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile
$ bin/magento cache:flush
Frequently Asked Questions about the Magento 2 One Page Checkout Extension
Use cases: for whom is the Smart One Page Checkout worthwhile?
Not every Magento extension is suitable for every shop. The Smart One Page Checkout unfolds its greatest benefits in four typical scenarios—if one of these use cases suits your shop, the ROI is usually measurable within a few weeks.
Shops with a high checkout abandonment rate
If your analytics show that more than 60% of shopping carts are abandoned before the order is placed, the cause almost always lies in the checkout flow. The Smart One Page Checkout significantly shortens the path to completion—and is therefore the most direct lever for increasing revenue from existing traffic.
B2C with a high mobile share
When over half of your orders come in via mobile devices, a mobile-first checkout is no longer a luxury. Touch-optimized fields, a sticky order bar, and a compact layout without horizontal scrolling are crucial here—exactly what the Smart One Page Checkout offers right out of the box.
International multi-store setups
If you operate Magento Store Views in multiple countries, 11 pre-installed language packs and consistent checkout logic offer a significant efficiency advantage. You maintain a single checkout stack—and your customers in Vienna, Zurich, or Stockholm can order in their respective local language without you having to build a new solution for each market.
Magento agencies and developers
When building Magento shops for clients, you need reliable building blocks. This extension is updateable, theme-compatible, and integrates seamlessly without core hacks — and it fits perfectly with our other products. Magento 2 Extensions one, if you also require B2B functions, surcharges or product attachments.
Who is the One Page Checkout Extension the right choice for?
Questions about integration or individual customizations?
Our Magento expert team We support you with installation, configuration or individual adjustments — quickly and reliably.







This extension can be installed in two ways: via Composer (recommended) or manually via ZIP file.
Option 1: Installation via Composer Recommended
After completing your order, you will receive your confirmation by email. personal login data for our Composer repository.
1. Add repository
composer config repositories.storetown-media composer https://packages.storetown-media.de
2. Install the extension
composer require ia24/module-onepagecheckout
3. Run Magento Setup
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
💡 During the initial installation, you will be asked for your login details (username & password). These will be automatically stored in your account.
auth.json saved so that future updates can be conveniently accessed via
composer update possible are.
Option 2: Manual installation via ZIP file
After you place your order, the extension will be available for download as a ZIP file.
1. Download the ZIP file
Download the ZIP file via your account at My Account → Downloads .
2. Unzip and upload the files
Unzip the ZIP file and upload the contents via FTP/SSH to the following directory of your Magento installation:
app/code/IA24/OnePageCheckout/
3. Run Magento Setup
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
⚠️ Manual installation does not include automatic updates via Composer. We therefore recommend using the Composer method to ensure you always have the latest version.
Need help?
If you have any questions about the installation, please contact our support team at support@storetown-media.de.
Change Log
Version 1.5.1 — 2026-04-26
Fixed- Admin "Customize Payment / Shipping Methods" preview rendered without an icon —
Block\Adminhtml\System\Config\MethodCustomizer::getIconUrls()callsgetViewFileUrl('IA24_OnePageCheckout::images/method-icons/.svg')which resolves against the *adminhtml* area, but the 33 method-icon SVGs only existed underview/frontend/web/images/method-icons/, producing 404s on every preview-icon URL. Moved the entiremethod-icons/folder toview/base/web/images/method-icons/so the sameIA24_OnePageCheckout::images/method-icons/...view-file path resolves correctly in both frontend AND adminhtml. No PHP changes; static-content redeploy required after upgrade - Admin config page crash (TypeError) on Magento 2.4.8-p3 with PHP 8.4:
Model\MethodCustomizationnow catches\Throwable(not just\Exception) -TypeErrorextends\Errornot\Exception, so previous catch-Exception blocks let PayPal-VaultafterIsAvailable()TypeErrors bubble up and crash the Admin → Stores → Configuration → OPC page. All 6 defensive catch blocks inModel/MethodCustomization.phpwidened to\Throwable
Version 1.5.0 — 2026-04-15
Added- Ultra-compact layout (4th layout variant): float-based 3-column architecture with address left, shipping+payment right-stacked, sidebar below — hides progress bar, header icons, sidebar logo, trust badges (~250 lines CSS)
- Header logo for ultra-compact layout: visible only in ultra-compact, uses backend settings via
getLogoStyle() - Numbered section headings (1-4): CSS counter with white digit in primary-color circle, accent-colored heading text
- Configurable header icon bar: 46 payment + 36 shipping icons, 3 custom upload slots,
ICON_FILE_MAPwith 80+ mappings, multiselect backend fields, grayscale filter with hover effects, 3 responsive breakpoints - Typography backend fields: font family dropdown (13 options incl. Google Fonts), font size dropdown (7 options), font color picker
- Google Fonts loading:
getGoogleFontUrl()withtags (only when Google Font selected) - Font size scaling system: CSS variable
--ia24-font-scalewithcalc(Xpx * var(--ia24-font-scale, 1))on all ~55 hardcoded font sizes - Font-color cascading: 7x heading color, 4x section text, 4x label color made dynamic via
--ia24-font-color - 33 SVG method icons in
view/frontend/web/images/method-icons/(re-located toview/base/in 1.5.1) - Admin "Customize Payment Methods" / "Customize Shipping Methods" sections: per-method icon, custom title, subtext, and live preview rendering via
Block\Adminhtml\System\Config\MethodCustomizerwith background-image preview - Frontend method-card enrichment:
enrichPaymentMethods()/enrichShippingMethods()apply configured icons, subtexts, and custom titles to checkout cards on every AJAX response - Admin "About this module" section: version from
ComponentRegistrar(readscomposer.json), features grid, AJAX contact form viaTransportBuilder - Admin email template for support requests (
etc/email_templates.xml) - Admin route (
etc/adminhtml/routes.xml, frontName:ia24checkout) - State-based step progression in
sticky-progress.js(replaces scroll-based viewport detection, fixes wrong active step in ultra-compact layout where all sections are simultaneously visible) isAddressComplete()andisShippingMethodSelected()helpers with MutationObserver hooks on address-input and shipping-change events- Demo design refinements (CSS +600 lines, additional DOM selectors for header/footer substructure:
ia24-checkout__header-logo-img,ia24-checkout__header-icons-inner,ia24-checkout__footer-inner,ia24-checkout__footer-linksetc.). - Out-of-box design defaults in
etc/config.xml: ultra-compact layout,#0000a0primary /#ff8000accent, Open Sans typography, sidebar-top trust badges, "Developer Support" custom badge with headset icon - Progress bar enabled by default
- Logo dimensions admin config (
Logo Width (px)/Logo Height (px)) now actually affects checkout — previouslymax-height: 50px !importantwas hardcoded incheckout-layout.cssand silently overrode any admin value. Replaced with CSS variables--ia24-logo-max-width/--ia24-logo-max-heightpopulated fromConfig::getLogoWidth()/getLogoHeight()viaBlock\Checkout::getCssVariables()(sanity-capped: width ≤2000px, height ≤500px) - Logo overflow into step bar when configured larger than 50px —
header-innermin-heightnow scales with the logo viamax(50px, var(--ia24-logo-max-height, 50px)), keeping the progress bar below the logo regardless of configured size - Payment method cards in One-Column layout no longer break each title word onto its own line — grid
minmax(180px, 1fr)widened tominmax(260px, 1fr)so titles like "No Payment Information Required" and "PayPal Billing Agreement" fit on one or two lines instead of fragmenting per-word - Admin "Customize Payment Methods" section showed "No installed payment methods found" on Magento 2.4.8 with PayPal-Vault installed — root cause was a single
try/catchinModel\MethodCustomization::getAllPaymentMethodsInternal()wrapping bothpaymentHelper->getStoreMethods()(throws TypeError in admin context because PayPal-Vault plugin requires a quote) and the config-based fallback enumeration. Split into two isolatedtry/catchblocks so the admin-safepaymentHelper->getPaymentMethods()config walk runs even whengetStoreMethods()fails
Version 1.4.0 — 2026-03-09
Added- STM License Integration — license validation via
stm/module-licensemodule di.xml— Extension registration withSTM\License\Model\ExtensionRegistry(key:ia24_onepagecheckout)
composer.json— Added dependencystm/module-license: ^1.0module.xml— AddedSTM_Licenseto module sequence
Version 1.3.1 — 2026-03-05
Changed- Adobe Commerce Marketplace PHPCS Compliance: 0 ERRORS, 0 WARNINGS across all PHP/PHTML files
- Composer version constraints hardened (
>=to^(for all Magento dependencies) - Header logo repositioned to the left with centered title and back-link
- Server-based changelog sync via
sync-changelog.sh— automatic WooCommerce update on every Satis build - Updated
build-zip.ps1with changelog sync integration
- PHTML line-length and indentation warnings (
checkout.phtml,method-customizer.phtml) - Empty catch blocks, missing DocBlocks, and inline control structures across all PHP files
- PHPCS rule conflict for multi-line function calls resolved by variable extraction
Version 1.3.0 — 2026-02-27
Security- Restored CSRF protection — removed global CSRF bypass plugin (
CsrfValidatorSkip.php), Magento'sform_keyvalidation now active on all AJAX endpoints - Added brute-force protection via Magento's
AccountManagementlockout (UserLockedException) - Fixed XSS vulnerabilities — all
innerHTMLinjections now useescapeHtml()for server-supplied data - Removed debug data (exception class names, stack traces) from all API responses — generic user messages only
- Added CSS color sanitization via
sanitizeColor()for admin-configured theme colors - Hardened
CheckEmailendpoint — removed email from response, removed info-level logging of email addresses - Hardened
Loginendpoint — removed email logging, added generic error messages forLocalizedException - PII logging protection — 40+ log statements masked in
PlaceOrder.php(email: first 3 chars, name: first 2, phone/street: fully masked, VAT-ID: last 4 only) SaveAddress.phplogs only field names (array_keys()), not values- All user inputs type-cast to
(string)across all controllers — prevents PHP 8.1+TypeErrorattacks - Payment method regex validation (
preg_match('/^[a-z0-9_]+$/i')) beforesetMethod() - Shipping method validation with type casting and regex in
SaveShipping.php - Order comment sanitization:
trim()+ Length limit 5000 characters viamb_substr() - Custom icon path traversal protection:
basename($filename)+ check against.and.. - Font-scale range validation (10-24) prevents CSS injection via oversized/zero scale values
- Coupon action whitelist: only
applyandremoveallowed, fallback toapply - Double-submit protection:
isPlacingOrderflag prevents duplicate order placement - Fetch timeouts with
AbortControlleron all 5 fetch calls (10s email/zip code, 15s shipping/payment/login, 30s order) - XHR postcode lookup timeout:
xhr.timeout = 10000withonerror/ontimeouthandlers - Sensitive POST body logging removed from
PlaceOrder.php(GDPR/PCI compliance) - Coupon code reflection sanitized — error messages instead of generic user-input echo
showCouponMsg()type validation: whitelist check (success/erroronly)
- Virtual/downloadable products support (6 files): conditional shipping section, 2-step vs 3-step progress bar, auto-flow
SaveAddress->SaveShipping->PaymentMethods,is_virtualflag in API responses - Newsletter subscription functional: checkbox value sent in order payload,
PlaceOrder.phpsubscribes customer viaSubscriberFactoryafter successful order - Newsletter hint text with privacy policy link: "(Can be unsubscribed at any time, I have read the privacy policy.)"
- Separate agreement system: individual checkboxes for Terms, Privacy Policy, and Cancellation Policy with 9 config fields, required/optional toggle per agreement, bidirectional sync between sidebar and sticky bar
- Ultra-compact layout (4th layout variant): float-based 3-column architecture with address left, shipping+payment right-stacked, sidebar below — hides progress bar, header icons, sidebar logo, trust badges (~250 lines CSS)
- Header logo for ultra-compact layout: visible only in ultra-compact, uses backend settings via
getLogoStyle() - Numbered section headings (1-4): CSS counter with white digit in primary-color circle, accent-colored heading text
- Configurable header icon bar: 46 payment + 36 shipping icons, 3 custom upload slots,
ICON_FILE_MAPwith 80+ mappings, multiselect backend fields, grayscale filter with hover effects, 3 responsive breakpoints - Typography backend fields: font family dropdown (13 options incl. Google Fonts), font size dropdown (7 options), font color picker
- Google Fonts loading:
getGoogleFontUrl()withtags (only when Google Font selected) - Font size scaling system: CSS variable
--ia24-font-scalewithcalc(Xpx * var(--ia24-font-scale, 1))on all ~55 hardcoded font sizes - Font-color cascading: 7x heading color, 4x section text, 4x label color made dynamic via
--ia24-font-color - 33 SVG method icons created in
view/base/web/images/method-icons/(accessible in frontend and admin) - Admin "About this module" section: version from
ComponentRegistrar(readscomposer.json), features grid, AJAX contact form viaTransportBuilder - Admin email template for support requests (
etc/email_templates.xml) - Admin route (
etc/adminhtml/routes.xml, frontName:ia24checkout) - Admin payment/shipping icon preview: live preview with
background-imagerendering inMethodCustomizer - Only active payment/shipping methods shown in
MethodCustomizer(changed from all installed) - RequireJS stub for Hyva compatibility: minimal
require/definestubs to preventReferenceErrorfrom Magento core scripts prefers-reduced-motionmedia query: disables all animations/transitions for motion-sensitive users- Print stylesheet: hides progress bar, sticky bar, security hints, header icons; sidebar non-sticky
- Focus-visible styling on all interactive elements: place order button, back-link, coupon toggle/button, progress steps, login button, form inputs, selects, text area, terms and conditions links (WCAG 2.1 compliance)
- Checkbox touch targets:
min-height: 44px(WCAG) IntersectionObserverfor sticky order bar: smart detection of original button visibility:has()CSS fallback:updateMethodSelectedClass()JS function with.ia24-checkout__method--selectedclass toggle- Sidebar scrollbar styling:
scrollbar-width: thin+::-webkit-scrollbarcustom styling - Postcode autofill CSS class:
.ia24-checkout__input--autofilledwith dynamic primary-color background - Coupon toggle keyboard accessibility:
tabindex="0",role="button",aria-expanded, Enter/Space handlers - Coupon button touch target:
min-height: 44px IA24_DEBUGflag: externally activatable viawindow.IA24_DEBUG_ENABLED, protects all console output- Billing form: 5 input fields given
requiredattributes (firstname, lastname, street, postcode, city) - Missing
config.xmldefaults: all 7footer_linksfields and 4 trust badge custom fields Terms and Conditions for sticky bar chain:show_sticky_order_baradded as dependency- "Coming Soon" hint for
method_customizationbackend group composer.jsonfor Composer-based installation via Satis repositoryLICENSEfile with proprietary license termsCHANGELOG.mdwith full version historyi18n/de_DE.csvwith 155+ translation strings from all module filesBlock/Checkout::getTaxRateLabel()for dynamic tax rate displayBlock/Checkout::sanitizeColor()for CSS injection prevention- Distribution setup:
build-zip.shSatis server atpackages.storetown-media.de
- Moved CSS from inline styles to
checkout-layout.css(1377 lines extracted) - Deleted obsolete
checkout.css(replaced bycheckout-layout.css) - Hardcoded "plus VAT (19%)" label now shows dynamic tax rate from Magento Tax configuration
- Hardcoded 0.19 tax rate fallback replaced with 0.0 in all controllers (was incorrect for AT/CH stores)
- Removed 111
console.log/error/warnstatements from production JavaScript code - Updated
README.mdwith complete feature list, requirements, and PSP documentation - Backend admin panel restructured into 10 logical groups (from 11 unorganized): General, Design & Layout, Checkout Form, ZIP Code Autofill, Payment/Shipping Methods, Order Options, Coupon Code, Trust & Security, Footer & Legal, About this module
- Template restructuring: progress bar, messages, and login section moved above grid container — forms and sidebar now start at exactly the same height
- Sidebar restructured as single card with sticky action zone: cart items/coupon/comment in scrollable area, totals/agreements/place-order button always visible
- Order comment moved to sidebar (from left form area)
- Logo moved from header to sidebar
- Header made compact: single row (title left, "Back to cart" right), padding reduced
- Unified color system with dynamic CSS variables from backend:
--ia24-primary-rgb,--ia24-accent-rgbfor transparency support - 20+ hardcoded color values replaced with dynamic CSS variables (focus glow, validated fields, progress steps, customer account box)
- Validation colors (~30 places) changed from hardcoded red to
var(--ia24-accent)with RGB transparency - 29x
var(--ia24-primary)fallbacks unified from mixed values to#0078b3 - Accent fallback values standardized:
#ff8000to#e85e0c,#d96b00to#c44d0a - Footer inline styles moved to CSS classes:
.ia24-checkout__footer-inner,.ia24-checkout__footer-separator,.ia24-checkout__footer-links - Terms and Conditions link in sidebar uses
$block->getTermsUrl()(configured URL) instead of$block->getUrl('agb') - Agreement label fallbacks use own translated defaults instead of footer-link labels
- Agreement text joining uses proper German grammar (
und,und die) instead of comma separation - Sidebar totals moved from scrollable area to always-visible action zone
escapeHtml()enhanced with quote escaping ("to",'to')- All inline scripts wrapped in IIFE,
const/arrow functions converted tovar/function()(ES5 compatibility) checkout-core.js init(): each init step wrapped in try/catch (one error no longer other blocks)- Postcode autofill: XHR replaced with
fetchWithTimeout()(10s timeout) - Hardcoded German strings replaced with translation keys (
gateway_redirect,gateway_fallback,order_success,account_created_suffix) SaveAddress.php:RegionResourceDI injected, deprecatedload()replacementPlaceOrder.php:setCustomerDataAsLoggedIn()instead of deprecatedModel::load()ApplyCoupon.php:CouponResourceDI injected, deprecatedload()replacementConfig.php:DEFAULT_PRIMARY_COLOR+DEFAULT_ACCENT_COLORconstants added- PayPal logging reduced: ~40 info calls changed to 16 debug calls,
logRequestSummary()removed fromNvpPlugin system.xmlsortOrder fix:newsletter_checkbox20 changed to 25 (collision resolved)ConfigPlugin.php:mixedreturn type removed (PHP 7.4 compatibility)- Admin CSS: save-button style scoped to OPC page only
checkout-core.js handleLogin()null-checks addedrequirejs-config.jscleaned: all IIFE mappings removedsetup_versionattribute removed frometc/module.xml(deprecated since Magento 2.3)- 3 dead Block methods marked as
@deprecated:getCartItemCount(),getTrustBadgesStyle(),getFooterLinks() - Border colors unified:
#e0e0e0changed to#e5e7eb, footer separator#cccto#e5e7eb - Progress bar accent shimmer: static white/gray changed to dynamic accent gradient
- Method text overflow:
text-overflow: ellipsiswithmin-width: 0on method content (all layouts) Array.isArray()guards on all API response arrays (payment_methods,shipping_methods)- Two-column-reverse mobile:
flex-direction: column !importantat <=900px - Coupon button:
btn.disabled = true/falseduring AJAX requests overflow-wrap: break-wordadded to sidebar text elements
SaveShipping.phpline 245:$paymentHelpercorrected to$this->paymentHelper(DI migration bug causing payment methods to fail)PlaceOrder.php: 3x$orderRepositorycorrected to$this->orderRepository(DI migration bug)- Sticky bar Terms and Conditions config:
showAgreements()corrected toshowAgreementsStickyBar() - Logo debug leftover:
$block->hasLogo() || truechanged to$block->hasLogo() - Duplicate event observer:
PrepareQuoteForOrderremoved from globalevents.xml, kept infrontend/events.xml - Duplicate
window.ia24ReloadShippingassignment removed fromcheckout-core.js - Duplicate
window.IA24Progressassignment removed fromsticky-progress.js - Duplicate blur listener on email field removed
- Duplicate sticky-bar visibility CSS rule removed
- Duplicate
border-topon.ia24-checkout__totalsremoved - 4 orphaned/misassigned PHPDoc comments fixed in
Checkout.php - Virtual products: zero-safe container access in
loadShippingMethods(), 4 additional zero-safety fixes incheckAndLoadShipping()andinitIA24Checkout() - Initial payment message for virtual products: "Please fill in your address" instead of "Choose shipping method"
- Ultra-compact logo: CSS wildcard selector exception via
:not()preventsheight: auto !importantoverride :has()CSS fallback: selectors wrapped in@supports selector(:has(*))for older browsers- Footer/header wildcard CSS selectors:
:not([class*="ia24"])guards added (Porto/Ultimo theme compatibility) system.xmlXSD error: hyphen inpath violated Magento XSD patternsystem.xml:header-iconspath changed toheadericons(XSD compliance)
Plugin/CsrfValidatorSkip.php— CSRF bypass plugin (security fix)CsrfAwareActionInterfacefromLogin.php(redundant with global CSRF)- Debug data fields (
debug_error,debug_class) fromSaveAddressAPI response - All
console.log()statements fromcheckout.jsandcheckout.phtml Controller/Router/CustomUrl.php— dead code, not registered in any XMLetc/events.xml— empty after observer move tofrontend/events.xmlview/frontend/templates/js/button-fix-loader.phtml— orphaned, not in layout XMLview/frontend/web/js/checkout-button-fix.js— RequireJS dead codeview/frontend/web/js/checkout-json-fix.js— RequireJS dead codeview/frontend/web/js/checkout.js— RequireJS/jQuery legacy, duplicatedcheckout-core.jsBlock/Adminhtml/System/Config/BrandingHeader.php— replaced byAboutInfo.phpview/adminhtml/templates/system/config/branding-header.phtml— replaced byabout-info.phtml- Trust badge dead code from
Block/Checkout.php:TRUST_BADGE_ICONSconstant,getTrustBadges(),getTrustBadgeIcon(),getTrustBadgeContainerClasses()(~50 lines) - Internal
FEATURE_ROADMAP.mdfrom distribution - Accordion layout option (no working JS existed, CSS stubs deleted)
Version 1.2.0 — 2026-01
Added- Sticky sidebar button (desktop): sidebar restructured into scrollable summary zone and sticky action zone with place order button, terms, trust badges
- Dynamic color system: CSS variables
--ia24-primary-rgband--ia24-accent-rgbforrgba()transparency support - Configurable header icon bar: 46 payment icons, 36 shipping icons, 3 custom upload slots with grayscale filter and hover effects
- Backend admin panel restructured to 10 logical groups with clear separation of concerns
- Typography backend fields: font family (13 options), font size (7 options), font color picker with Google Fonts support
- CSS variable
--ia24-font-scalefor proportional font-size scaling across all ~55 hardcoded sizes - ARIA accessibility attributes:
role="alert",aria-live,role="button",tabindex,aria-expanded,aria-controls,aria-busy,role="radiogroup",aria-label,aria-hidden Block/Checkout.php:getJsTranslations()with 22 translation keys,getHeaderIcons()with deduplication- ObjectManager to DI migration (35 calls reduced to 8, remaining are PSP-specific)
- German text internationalization — 40+ strings wrapped in
__()/$t()
- 246
logger->info()calls changed tologger->debug()across 4 controllers - Sticky bar PHP conditionally removed (always visible now, matching HTML/CSS)
- Order comment moved from left form area to right sidebar
- Logo moved from header to sidebar with compact header design
- Sidebar merged into single card with sticky bottom action area
- Validation colors (~30 places) changed from hardcoded red to dynamic accent color
- 20+ hardcoded color values replaced with dynamic CSS variables
- Place order button accent color changed from
--ia24-primaryto--ia24-accent - Layout CSS rules added for
one-columnandtwo-column-reverse - Deprecated
isPayPalRedirectMethod()removed (replaced byGatewayHandler)
- Placeholder
'-'replaced with empty string''across 7 files (~40 places) beforeValidate()changed to no-op inAddressValidationPlugin.phpandAddressPlugin.php!importantreduction: 63 to 60 (3 removed from sticky-bar-btn + footer padding)
Version 1.1.0 — 2025-12
Added- JavaScript extraction from
checkout.phtml: createdcheckout-core.js(~1050 lines) as standalone IIFE module sticky-order-bar.js(~85 lines) extracted from inline script blocksticky-progress.jsextended with payment observation features- Hyva theme compatibility: all JS files converted from RequireJS
define()to IIFE pattern - Inline coupon JS in
checkout.phtml(replaces jQuery/RequireJS dependency) window.ia24ReloadShippingglobal function for manual shipping reload trigger- 2-second retry mechanism for shipping method loading
- Debug logging in
isAddressCompleteForLoading()showing which field is missing checkout-core.js init(): each initialization step wrapped in try/catch
checkout.phtmlreduced from 3154 to 919 lines (4 inline script blocks extracted)- All JS modules converted from RequireJS
define([], function() {...})to(function() {...})() requirejs-config.js:depsarray removed (no RequireJS on Hyva)json-fix-loader.phtmlandbutton-fix-loader.phtml:text/x-magento-initconverted to inline IIFE- Script loading changed from RequireJS to
Tags - Coupon code changed to jQuery event delegation (no re-binding after
replaceWith)
- PayPal Express Checkout: shipping method no longer lost during redirect
- Billing address handling for separate billing addresses
- Missing EAV form attributes for
adminhtml_customer_address SaveShipping.php:$paymentHelpercorrected to$this->paymentHelper(DI migration bug)PlaceOrder.php: 3x$orderRepositorycorrected to$this->orderRepository(DI migration bug)- Sticky bar Terms and Conditions config:
showAgreements()corrected toshowAgreementsStickyBar() :has()CSS fallback: selectors wrapped in@supports selector(:has(*))- Footer/header wildcard selectors:
:not([class*="ia24"])guards added
- Inline script Block 2 (coupon JS) deleted from
checkout.phtml(was duplicatingcheckout.js, causing double AJAX calls) text/x-magento-initblocks removed fromcheckout.phtml
Version 1.0.0 — 2025-11
Added- initial release
- Complete One Page Checkout with server-rendered PHP/PHTML architecture (no Knockout.js)
- AJAX validation for all form fields with real-time error feedback
- Admin configuration for design, form fields, and checkout behavior
- 4 layout variants: two-column (default), two-column-reverse, one-column, ultra-compact
- Responsive design for desktop, tablet, and mobile with sticky order bar
- Payment gateway handler with PSP auto-detection (PayPal, Stripe, Mollie, Adyen, Braintree, Unzer, Amazon Pay, Klarna, and more)
- Method icon customization system with 80+ icon mappings
- Trust badge system with configurable position and style
- Postcode autofill for DE/AT/CH (postcode database lookup)
- Guest checkout with optional customer registration
- Order comment field
- Coupon code application with AJAX
- Sticky progress bar with step indicators
- PHP-to-JS data bridge via
window.ia24CheckoutConfig - CSS variable color system:
--ia24-primary,--ia24-accentwith dark/light/RGB variants - Compatible with Luma, Blank, and Hyva themes
- 11 language translations (DE, EN, FR, IT, ES, NL, PL, PT, SV, DA, NO)
Frequently Asked Questions
Which Magento versions are supported?
Our extensions are compatible with Magento 2.4.x (Open Source & Adobe Commerce). You can find the exact version requirements in the respective product description.
Is the extension compatible with Hyvä Theme?
Yes, all our extensions are fully compatible with the Hyvä theme. The necessary frontend components are already included.
Will I receive automatic updates?
Yes – if you installed the extension via Composer, you will receive updates conveniently via composer update. With manual ZIP installation, you have to download and install new versions yourself.
What happens to my login details after I place an order?
You will automatically receive your personal Composer login details via email. These are linked to your order and entitle you to access our private Composer repository.
Can I use the extension on multiple shops?
Each license is valid for one Magento installation. For use on multiple shops, you will need additional licenses. Please contact us for volume discounts.
Where can I find support?
Write to us support@storetown-media.deWe usually respond within 24 hours.
Individual adjustments
Do you need additional features or to adapt this extension to your individual requirements? We offer custom development as an agency service.
Our offer includes:
- Functional enhancements & individual features
- Integration into existing workflows & third-party systems
- Adaptation to your corporate design & theme
- Performance optimization & code reviews
- Dedicated support & maintenance contracts
Interested? Briefly describe your requirements and we will create a non-binding offer for you.
6 reviews for ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible – Mollie, Ayden, Klarna, Paypal⚡
Frequently asked questions about ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡
- What is ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ And what is it used for?
- ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ Smart One Page Checkout is a professional digital product in the "Magento Extensions" category, developed and distributed by Storetown Media from Hamburg. Your checkout process determines whether a shopping cart becomes a sale or disappears into thin air. This is precisely where the Smart One Page Checkout Extension for Magento 2 comes in. It brings address, shipping, payment, and order summary onto a single page—fewer clicks, better overview, fewer abandoned carts. A fast one-page checkout isn't just a nice extra—it's a real sales driver. ⚡ One-Page Checkout: Complete order process on one page — no more page changes 🎨 4 Layout Variants: Two Column, Reverse, One Column &... The product is aimed at developers, agencies and shop operators who are looking for a reliable and professionally maintained solution.
- How much costs a ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡What editions and licensing models are available?
- ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ Available from €389,00 including VAT. Three editions are available: Community (€389,00), Enterprise (€649,00), and Magento Cloud (€729,00). Depending on the edition, you receive different features and support levels, allowing you to choose the optimal solution for your budget and requirements. The purchase price includes 12 months of free product updates and professional technical support. After the first year, you can optionally extend support and updates at a 30% discount on the original purchase price. The license itself is perpetual: you may continue using the product indefinitely without actively renewing.
- How does the download and installation of work? ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡?
- The download of ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ The download takes place immediately after purchase. You will automatically receive a confirmation email with the direct download link. The file will also be permanently available in your personal customer account under "My Downloads." Installation is straightforward: Detailed step-by-step instructions are included with the download. If you have any questions about the setup, our technical support team is available to assist you – in German, directly from Hamburg.
- What technical support and updates are available? ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ contain?
- Every purchase of ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ Includes 12 months of professional technical support in German, as well as all product updates. Specifically, the following services are included in the purchase price: Compatible with Magento 2.3.X - 2.4.8 - Hyvä Theme + Luma-based themes; product updates and Pro Support plan for 12 months; 30% discount on updates and support extensions; 30-day money-back guarantee; book a live demo: demo@storetown-media.de. Our development team, with over 10 years of e-commerce experience, is available via email and ticket system. After the first year, you can extend the support period with a 30% discount. Regular security and compatibility updates ensure that ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ It remains reliable and up-to-date. Critical security patches are provided within 48 hours.
- Is there a free demo or trial version of ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡?
- Yes, Storetown Media offers for ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ We offer a free live demo that you can try immediately without registration. The frontend demo showcases the full functionality from your customers' and visitors' perspective – including all UI elements, animations, and responsive behavior across various devices. The backend demo gives you access to the administration interface, allowing you to explore all settings, configuration options, and the dashboard in detail. You'll find the demo links directly on this page below the product gallery.
- Which versions and systems are compatible? ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ compatible?
- ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ Supports the following environments: Compatible with Magento 2.3.X - 2.4.8 - Hyvä Theme + Luma-based themes. Our development team thoroughly tests each update for compatibility with the latest stable versions before release. If you have any questions regarding compatibility with your specific server configuration or theme environment, we are happy to advise you beforehand – simply contact our support team before purchasing.
- What payment methods does Storetown Media accept? Is payment secure?
- The Storetown Media Shop accepts the following payment methods: PayPal, PayPal Pay Later, credit card (Visa, Mastercard, American Express), SEPA direct debit, and purchase on account. All transactions are protected by SSL encryption (256-bit). Sensitive payment data is not stored on our servers but is processed exclusively by PCI-DSS-certified payment service providers. Purchases are additionally protected by PayPal Buyer Protection and/or credit card protection.
- Does Storetown Media offer a money-back guarantee for ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡?
- Yes for ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ We offer a 30-day money-back guarantee, no questions asked. If the product doesn't meet your expectations, we'll refund the full purchase price. Simply send an email to our support team within 30 days of purchase. The refund will be processed to your original payment method within 5 business days. We stand for quality and want you to shop risk-free.
- What experiences have customers had with ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ made?
- ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ It has an average customer rating of 4,8 out of 5 stars, based on 6 verified reviews. Customers particularly highlight the easy installation, reliable functionality, and fast German-language support. All reviews are from verified buyers. You can find the full reviews in the Reviews tab at the top of this page.
- Who is behind ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡Who is Storetown Media?
- ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ This product is developed and distributed by Storetown Media, a specialized e-commerce service provider based in Hamburg (Tornesch). The company has over 10 years of experience developing professional shop solutions based on Magento, Adobe Commerce, and WooCommerce. All products are designed, programmed, and maintained in-house by experienced, certified developers – no third-party software is used. Further information can be found at storetownmedia.de.
- What other Magento extensions does Storetown Media offer?
- ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ This is part of the "Magento Extensions" category in the Storetown Media Shop, which comprises a total of 5 professional products. All products in this category are maintained by the same development team and are designed to work together seamlessly. Discover our full portfolio of e-commerce solutions that will make your online store more powerful, secure, and profitable.
- may I ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ Can it be used in multiple projects or shops?
- The standard license of ⚡STM Smart One Page Checkout Extension for Magento 2, fast checkout, Hyvä, Luma compatible - Mollie, Ayden, Klarna, Paypal⚡ This license authorizes use in a single project or production environment. For use in multiple shops or client projects, we offer agency licenses and volume discounts. Contact our sales team for a customized offer. Development and staging environments are included free of charge with every license.


Gesche Reimers (Verified buyer) -
As a Magento developer, I regularly work with various checkout extensions. The STM Smart One Page Checkout Extension stands out significantly in several ways. First, the Composer installation is truly clean. No overrides, no core hacks—unfortunately, this isn't a given with all providers. Second, the compatibility with the Hyvä Theme for Magento 2 It's natively built in. Thirdly: The configuration via Stores → Configuration is intuitive and complete. You really don't need to touch any CSS.
What I particularly like: The numbered steps and the clear visual separation of the areas. This builds trust with the end customer, and trust is the most important factor at checkout.
Thies Carstensen (Verified buyer) -
Extremely satisfied! Four layouts, all switchable in the backend. We're currently testing Two Column versus Ultra Compact. Initial findings: Ultra Compact is more popular with our younger target audience. 👍
Frauke Jessen (Verified buyer) -
I was initially skeptical about whether the investment would pay off. But after the first few weeks, the numbers speak for themselves. Our conversion rate has measurably increased—and you can see that directly in the revenue. For anyone wondering why customers abandon their purchase at checkout, I recommend the article about... Checkout abandonments and shopping cart abandonmentsThat's when you realize how much revenue you lose due to a poor checkout process. The STM Extension addresses precisely these pain points.
Sönke Martensen (Verified buyer) -
Quick feedback from the field: We installed the extension for a client in the electronics accessories sector. It's running stably on Magento 2.4.6-p7 with PHP 8.3. Mollie integration works flawlessly. The only minor issue we encountered was with address validation, as our address plugin uses its own hook. Storetown Media's support team responded within three hours and sent us a solution. That's how it should be.
Levke Brodersen (Verified buyer) -
Finally, a checkout that actually works on mobile! 📱 As the shop manager of an online cosmetics store, I know how important mobile checkout is. Over 70% of our customers order via mobile devices. Anyone interested in this topic... Mobile-First Optimization Anyone who uses a mobile device knows that every unnecessary click is twice as detrimental. The STM Extension solves this elegantly—compact display, no horizontal scrolling, and the order button is always accessible. Excellent!
Hauke Petersen (Verified buyer) -
We run a medium-sized online shop for outdoor clothing on Magento 2.4.7 with the Hyvä theme. The standard checkout was always our problem child—three pages, long loading times, and a consistently high abandonment rate of over 60%. Since installing the STM Smart One Page Checkout Extension, that has completely changed.
The installation via Composer went smoothly in under 10 minutes. There wasn't a single conflict with our existing extensions. What impressed me most was that the extension automatically detects whether Hyvä or Luma is running and adjusts accordingly. We're using the two-column layout, and the live order overview on the right gives customers exactly the transparency they were missing before.
After six weeks of use, we can report the following: The checkout abandonment rate has dropped from 63% to 38%. The average order time has decreased from 4 minutes and 20 seconds to 1 minute and 50 seconds. And what surprised me most—mobile conversions have increased by a whopping 27%. The sticky order bar at the bottom of the screen is invaluable on smartphones.
A clear recommendation for any Magento shop owner who takes their checkout seriously!