STM Smart Checkout for WooCommerce – free checkout with legal information for Germany, Austria, and Switzerland (DACH region).
join forFree and fully functional. STM Smart Checkout transforms the standard WooCommerce checkout into a streamlined, legally compliant checkout process—without replacing your payment methods, legal plugin, or theme. Even without a legal plugin, the checkout isn't left bare: the plugin automatically provides consent, button labeling according to § 312j BGB, VAT display, and delivery time information.
Headband with progress indicator, numbered steps, order overview as a card
One, two, or three columns; colors and font size in the backend, without CSS
Consent, § 312j button text, VAT invoice, delivery time per item
Germanized and German Market will continue deliveries — we will then withdraw.
DE, AT and CH from supplied data — no external service
Required checkboxes will be checked again after submission.
Proper keyboards, accurate fields, payment methods always in one line
Fully translated, formal "Sie" form, HPOS and block compatible
A cash register that sells — and brings the mandatory information with it
WooCommerce's standard checkout is functional, but it doesn't guide the customer. STM Smart Checkout changes that: a header with progress and trust indicators, numbered steps, a clear order summary card, and a buy button positioned where the decision is made.
- Layouts: One, two, or three columns — switchable in the backend.
- Design via tokens: Colors, font size in pixels, borders and areas. Without
!important-Struggles with the theme. - Field management with instant verification and the correct keyboards on your mobile phone.
- Postcode autocomplete for DE, AT and CH from supplied data — no external service, no customer data in transit.
- Legal texts in the overlay Readable without leaving the checkout.
Legally compliant even without a legal plugin
According to one rule: If a legal plugin provides the required information, the plugin is deactivated. If it doesn't provide any information, the cash register still doesn't remain blank. This is determined not by whether a plugin is installed, but by whether it actually outputs any data.
- Consent to the terms and conditions and cancellation policy, with the exact wording stored on the order form.
- Button labeling according to § 312j BGB, where no legal plugin sets it.
- VAT is shown in the order summary for gross prices.
- Delivery time per item — determined on a product-by-product basis, not a general rule.
- Server-side verification of mandatory checkboxes after submission.
What the Pro version adds
The free version is fully functional and will remain so. STM Smart Checkout Pro adds seven components: the online cancellation form ( mandatory in the EU since June 19, 2026 ) including backend management , the express zone for wallet buttons, mandatory fields depending on the payment method , customization of payment methods (name, note, symbol, order), a security mode against checkout failures, the mobile sticky order bar , and the ultra-compact layout.
Classic cash register and block cash register
WooCommerce has two checkout systems: the classic one with a shortcode and the newer one using blocks. Both are supported—but not with the same scope, and the settings page clearly states which setting applies where, instead of leaving you to figure it out later.
- Classic cash register: Complete — column layouts, field management, postcode autocomplete, all legal components.
- Block cash register: The legal core and the design. Mandatory consent, which WooCommerce checks server-side, mandatory notice and legal text links above the button, button labeling according to § 312j BGB, delivery time per item, trust row below the button, and reassurance message below the checkboxes. Column layouts and field management remain reserved for the classic checkout for now.
- One click back: Switching back to the classic pages is reversible — and the plugin never changes your pages on its own.
Show trust — and try it out beforehand
- Trust headband with your logo, three short statements including symbols and a "Already a customer?" sign-up pill that opens the sign-up form that WooCommerce already displays.
- Trust badges from a curated set of symbols and a Reassurance note directly between consent and the purchase button — where doubt arises.
- Voucher notice and comments field can be deactivated: Two of the most common reasons why customers leave the checkout to look for something elsewhere.
- Right footer below the checkout, populated from pages of your choice, from a menu, or automatically from the legal pages that your site already registers.
- Preview mode: Try it out on the live site while customers continue to see the standard checkout.
- Verified by WordPress. Every plugin in the directory undergoes a security and code review by the volunteer plugin review team before being released — an external opinion, not self-praise.
- Our source code is publicly available. Every line is visible in the directory — the same care we use in client projects, only this time publicly accessible.
- Developed in Tornesch near Hamburg. Built for German shop law: mandatory information, Germanized-compatible, formal address (Sie) — not translated afterwards.
technical
- WordPress 6.5+, WooCommerce 8.3+, PHP 7.4+.
- HPOS compatible, compatibility with the cart/checkout blocks explained.
- No external requests, no foreign fonts, no tracking.
- German (formal "Sie" form) and English, plus
.potfor other languages. - GPLv2 or later.
Who is behind it
STM Smart Checkout is developed by Storetown Media , an e-commerce agency from Tornesch near Hamburg . We have been building online shops since 2012 and know the checkout system from maintaining real shops in Germany, Austria, and Switzerland—not from the documentation. The same checkout is also available as a One Page Checkout for Magento 2.
Don't want to set up the POS system yourself? Our WooCommerce agency in Hamburg will handle the setup, customization, and integration with your inventory management system — request a free consultation.








You install this WordPress plugin as a ZIP file – just like any other WordPress plugin.
Installation via ZIP file
After you place your order, the plugin will be available for download as a ZIP file.
1. Download the ZIP file
Download the ZIP file via your account under My Account → Downloads.
2. Upload the plugin in the WordPress admin area
In your WordPress admin, go to Plugins → Add New → Upload Plugin and select the downloaded ZIP file.
3. Activate the plugin
After uploading, click "Activate plugin" . The plugin is then ready to use. You can find the configuration under WooCommerce → Smart Checkout.
Need help?
If you have any questions about the installation, please contact our support team at support@storetown-media.de.
Change Log
version 0.1.47
- The trust row and the reassurance note reach the block checkout. The row of small trust items sits under the buy button, where the last doubt happens, and the reassurance note under the consent box it comments on — the same markup, the same settings and the same stylesheet the classic checkout uses, read from one place so the two can never drift apart.
- Measured first, because the reasonable guess was wrong: the block checkout offers no hook under its button and no slot either — the four Slot/Fill points WooCommerce exposes all sit in the order summary. What does work is appending markup after a block, and the checkout's React tree leaves it alone: through the first paint, and through re-renders while a customer types.
- The block stylesheet no longer depends on the legal module. A shop that lets a legal plugin handle consent kept its buy button, fields and cards unstyled on the blocks, because the whole layer hung on one switch. The design travels with the plugin now; the button label, the consent box and the legal line still stand down with the module they belong to.
version 0.1.46
- The block checkout carries the plugin's design. Every step of the Checkout block is a card now — the same background, border, radius and shadow as the classic sections — with the classic numbered title: a disc in the title blue counting contact, address, shipping and payment, and the accent rule beneath. The additional information block and the order notes keep the card and skip the number; they are addenda, not steps. The order summary heading speaks in the same voice. All of it is stylesheet only, hung on the block's own class names as measured on WooCommerce 11, and switched off with the plugin.
- Not attempted, and said so: the three-column choreography of the classic checkout. The block offers no wrapper for two independent columns of steps, and a grid would couple the address and payment columns row by row — a tall payment step forcing an equally tall blank next to it. The layout setting keeps applying to the classic checkout only, as the settings screen states.
version 0.1.45
- The legal core works on the Cart and Checkout blocks. A required consent box for terms and cancellation policy is registered through WooCommerce's additional checkout fields, so the Store API validates it on the server — a checkout request without the tick, or with it set to false, is refused before an order exists — and the order carries the moment of consent and the exact sentence agreed to, as it does on the classic checkout. The links to both texts stand one line above the buy button, in the place WooCommerce reserved for legal text, and open in the plugin's overlay. The buy button carries the label from your settings; the blocks never read the classic filter, and what looked compliant on German shops so far was WooCommerce's translation of "Place order" and nothing more.
- The design tokens reach into the block form: the buy button, the fields, the section titles and the order summary wear the same accent, radius and type scale as the shell around them. The shell itself — full-page template, trust band, step indicator, legal footer — has worked on the blocks all along; it hangs on page hooks, not on the classic checkout's rendering hooks, which is more than the previous FAQ answer allowed for.
- The mandatory notice and the delivery time follow. The notice from your settings — the essential order details the courts want readable right before the decision — shares the line above the buy button with the legal links, in body size where the links stay quiet. The delivery time under each item rides on WooCommerce's own item data, the mechanism the Store API and both blocks already render under a product name: it appears in the cart block and in the checkout's order summary, resolved from the same sources as on the classic checkout (the product's own value, a legal plugin's delivery term, the shop-wide default), stands down for virtual items and where a legal plugin labels the item, and is printed once even on a shop whose cart is classic while its checkout is a block.
- Not on the blocks yet, and said so on the settings screen: the column layouts, the field manager and postcode autofill, the trust row, the reassurance note, the coupon and order-note controls. Every piece above stays out on WooCommerce older than the additional-fields API; the classic checkout is unaffected there.
version 0.1.44
- The logo field no longer promises something the checkout does not do. Its help text said an empty field falls back to your site logo; the header band actually prints your site title as text, which is what the code has always done. A shop owner who left the field empty expecting a logo got a line of text and no explanation. Both help texts now describe the behavior, and say out loud that the site logo and this field are different places in WordPress.
- The German translation follows the WordPress glossary. The German polyglots team pointed at the glossary and the style guide when granting editor rights, and four terms did not match it: Knopf is Button, Kästchen is Checkbox, Fußbereich is Footer, and Site is Website. 38 places in each of the two German catalogs, with the article corrected wherever the gender changed with the word — a Kästchen is neuter, a Checkbox is not, and a blind replacement would have left "das Checkbox" behind in a dozen sentences. Translations are delivered by WordPress.org and are not part of this package.
version 0.1.43
- The links to our own pages sit at the end of the description instead of its second line. A shop owner opening a directory page wants to know what the plugin does; a link to the vendor's shop before the first feature reads as an advertisement, whatever it points at. Both language sections now describe the plugin in full first and name the pages afterwards, where someone who has read that far might actually want them. The first link is now halfway down the description rather than in its opening. No code changed.
version 0.1.42
- The links in the description are links. WordPress.org renders a readme with a Markdown subset — bold, lists and headings came through, but a bare URL stays plain text, so every address in the description sat there unclickable. They are written as proper links now, with the product's name as the anchor instead of the address, which is also what a search engine reads. The two attribution links in Credits had the same problem and are fixed with them. No code changed.
version 0.1.41
- The description says what the plugin actually does. It listed eight bullets for a checkout that has closer to twenty settings worth naming, and it described the paid add-on as "three things" when it has carried seven since the end of August — an understatement is as inaccurate as a promise, and this readme has been on the wrong side of that before. Both product pages are linked now, in the language of the section that links them, and the German half spells out the legal features under the words a German shop actually searches for: Button solution, § 312j BGB, cancellation form, general terms and conditions checkbox, VAT statement, delivery time. Two questions were added to the FAQ, one of them stating plainly that the online withdrawal form required since June 19, 2026 is in Pro and not in this plugin. No code changed.
version 0.1.40
- The plugin's own homepage link no longer leads to the paid version. The Plugin URI in the header pointed at a path that redirects to the Pro product page, and WordPress.org publishes that header field as this plugin's homepage — so the free plugin's link led to a sales page for a different product. It now points at this plugin's own page. Both header URLs are the English ones, because the directory listing is written in English; the German product pages are carried by the German translation of those fields, which is what translatable header URLs are for.
version 0.1.39
- The settings screen loads its stylesheet and its script as files. Both were printed into the page as a style and a script block, which renders the same but skips everything WordPress does around an asset: a version the caches can see, one place from which a site can dequeue or replace them, and markup that stays out of the middle of the form. The distraction-free module's extra hide rules take the same route and hang off the checkout stylesheet now instead of being written into the page head — and the child combinator survives their sanitizer, so "header > .bar" hides that bar rather than everything below the header.
- Values written into a style element are stripped of the characters that could leave it. The word between the express buttons and the form is translatable, and a translation is a string from outside the code: one carrying a closing style tag would have ended the element and turned the rest of the declaration into markup. The color and size tokens pass the same filter, applied late, where the value is written into the CSS rather than where it was read.
- Translations come from WordPress rather than from the package. The plugin no longer calls load_plugin_textdomain and no longer ships compiled .mo files: for a plugin in the directory, WordPress delivers translations into wp-content/languages/plugins/ and loads them on the first translated string without being asked, so a bundled copy would only give one language two sources — of which the packaged one is always the older. The Domain Path header goes with them, because it points to a folder the package no longer carries. The German translation stays maintained in the source repository and goes to translate.wordpress.org, where anyone who finds a better word can correct it.
version 0.1.38
- The shipping-address switch speaks in the checkout's voice. Its label carries the text, so a theme's label rules land there rather than on the heading around it — Basel sets 22px and uppercase on
.woocommerce-form__label, and that one line shouted at 66px while the rest of the checkout spoke normally. Font size, weight, letter spacing and casing now inherit from the row, stated on the label and on the span inside it, because which of the two a theme targets differs.
version 0.1.37
- Customers can enter a different shipping address again. The rule that steps the theme's own section headings aside — so the plugin's numbered titles can take their place — also caught the shipping block, and WooCommerce does not put a heading there: it puts the "Ship to a different address?" checkbox inside that h3. Hiding it removed the only control that opens the shipping address and left an empty card in its place, on every shop that offers shipping. The shipping block is now excluded from that rule and its heading is styled as what it actually is: a switch, in the body font, with a 44px tap target. Reported from a live shop; the two test shops had never rendered the section, one forcing shipping to the billing address and the other selling a virtual article.
version 0.1.36
- The plugin now says it when your cart and checkout are built from blocks. A stock WooCommerce install renders both pages from the Cart and Checkout blocks; this plugin extends the classic cart and checkout, and none of its hooks fire inside the blocks. Until now that combination was silent in every direction: the settings screen offered its full set of options, the checkout kept looking exactly as before, and WooCommerce said nothing either — because the plugin declares block compatibility, which is true (it breaks nothing) and which switches off Woo's own warning. The settings screen now names the affected pages above the tabs, states plainly that nothing below will change what customers see, and offers to switch those pages to the classic cart and checkout in one click. The block markup is kept in the page's meta, so the way back is one click as well and stays visible for as long as the switch is in place. The same note appears once on the plugins list, where it can be dismissed.
version 0.1.35
- Preview mode can be left again. Once a shop manager had opened the preview, every later visit showed the Smart Checkout while the settings screen kept saying "off" — which reads like a broken switch.
?stmc_preview=0(also "off", "no") clears the cookie and takes effect in the same request, and the settings screen now says out loud whenever the cookie is set: preview is on for you, this is why the checkout looks switched on, customers still see the standard checkout — with the link that ends it. Customers were never affected.
version 0.1.34
- Delivery time per line item — the last piece a shop without a legal plugin was missing in its checkout. Shown under every product in cart and checkout, resolved from the most specific source that knows one: a value typed onto this product (new field in the product's Shipping tab) wins, then Germanized's own delivery-time term (variation falling back to parent), then the shop-wide default. The
stmc_delivery_timefilter has the last word for shops that calculate it from stock, a supplier feed or the shipping zone. Where a legal plugin already states the delivery time for a product, this one stays away — decided per product, not per shop.
version 0.1.33
- The two blues become settings. The step-heading blue and the field-label blue were hardcoded in the token file, which made them the only colors a shop could not change; both are color settings on the Design tab now, with their current values as defaults, so nothing shifts visually. They stay deliberately separate from "Heading color" — labels are read while filling in, headings while orienting, and one color for both flattens the form into a gray block. The reassurance note moves back between the consent boxes and the buy button, where it comments on the consent right above it.
version 0.1.32
- The order summary states its VAT. With gross prices WooCommerce prints no tax row at all, reasoning that the price already contains it — so on a shop whose legal plugin has stopped rendering, the summary charges VAT and says nothing about it. The checkout now states it itself, one row per tax rate beside the other money lines, wherever no legal plugin is doing it. The percentage comes from the tax rate, never from its name: shops name their rates, and a legal statement must not depend on what someone typed into a settings field.
version 0.1.31
- Lite and Pro become two plugins. The withdrawal complex, the mobile sticky order bar and the ultra-compact layout move to a separate STM Smart Checkout Pro plugin, so the free plugin neither carries nor loads paid code. Lite grows the extension points that make an add-on possible instead of a fork:
stmc_settings_fields,stmc_admin_tab_fields,stmc_admin_tab_{slug},stmc_layouts,stmc_layout_labelsand public row helpers, so both plugins speak one visual language. NewSTMC_Settings::layout()resolves the effective layout from the raw option, so a stored layout whose provider is momentarily absent degrades to its nearest relative instead of silently falling back to the default.
version 0.1.30
- The checkout stands on its own legally. For shops with neither Germanized nor German Market, the plugin now owns the buy-button label wherever no legal plugin sets one (§ 312j BGB) — previously a compliant label arrived only by way of WooCommerce's German translation, which is accidental compliance, not compliance. Priority 5, so anything hooking later keeps the last word, and a setting for shops with their own wording. Plus a slot for the information that must be readable in the same glance as the button, printed inside the place-order row so it travels with the button wherever the layout moves it. The settings screen now says plainly what the plugin does not cover when no legal plugin is present.
version 0.1.29
- Font size in pixels. The type scale had one knob expressed as a percentage of rem, which handed the real size to the theme's root font size — the same setting rendered differently on two shops. It is a pixel value now, with every step a fixed ratio of it, chosen to reproduce the previous scale exactly at the 15px default; the old percentage is migrated rather than reset. Payment rows stay one row: a gateway setting
display:blockinline on its own rows made the block-level label start a new line, stranding the radio above it — an inline-flex label sits beside the radio there and is blocked back to flex where the row is flex, so nothing changes elsewhere. No!importantinvolved.
version 0.1.28
- The consent box detects the legal plugin itself. The switch becomes a three-way choice with Automatic as the default: the box asks the checkout whether a legal plugin is actually printing consent boxes, and only steps in when none is. Asked by hook, never by "is the plugin installed" — that distinction is the whole feature: a legal plugin can sit there active and configured and still render nothing, and a presence check would leave such a checkout with no consent at all. The decision is recorded and shown on the settings screen, because automatic behavior nobody can inspect is how a checkout ends up legally naked without anyone noticing.
version 0.1.27
- The checkout can carry its own legal consent — one required checkbox for terms and cancellation policy, seated between the grand total and the buy button, rendered with WooCommerce's own terms-wrapper class names so the existing card chrome, switch and invalid state apply. Links fill themselves from the pages the shop already registered; a placeholder whose page is unknown keeps its plain words instead of producing a dead link. Server-side validation reuses the existing required-checkbox path, and the acceptance is written onto the order together with the exact wording shown — a stored "yes" pointing at today's text proves nothing about last year's order. Order notes become a one-line disclosure at the end of the address column, so the field that hardly anyone fills stops costing a card and a step number.
version 0.1.26
- DHL preferred services join the payment column, right under the methods — the integration only re-prioritizes their hook, so everything Shiptastic built (its script, refresh behavior, conditions) keeps working untouched. And a new default makes the totals block third-party-proof: any unknown row a plugin prints into the totals now lands after the grand total automatically — extras can never interrupt the money story again.
version 0.1.25
- First member of the integration family: Shiptastic (+ DHL). The pickup-location offer ("Not at home?") no longer interrupts the address fields mid-flow — it closes the address block as a quiet card. DHL's preferred services (delivery-day tiles, drop-off location, neighbor) speak the checkout's design language now and settle after the grand total, where delivery fine-tuning belongs. The adapter is guarded (no-op without Shiptastic) and never forks the plugin's behavior — the pattern every future integration follows.
version 0.1.24
- Order summary thumbnails survive theme lazy loaders. Basel's lazy filter swapped the image source for its placeholder and lost the original along the way — the thumbnail rendered briefly, then stayed empty. The markup is now hand-built from the attachment URL, untouched by the attachment-image filter pipeline any lazy plugin hooks into; browser-native lazy loading still defers offscreen images, variations fall back to the parent image, missing images to the WooCommerce placeholder.
version 0.1.23
- The full-page checkout footer configures itself and bends to your will: pick the exact pages in the backend (multi-select), or a whole menu — and without any choice the line now fills itself with the legal pages your site already registered (Germanized's imprint, privacy and withdrawal pages, WooCommerce's terms page, WordPress' privacy page), published pages only, in reading order.
version 0.1.22
- Order summary round from the second-shop review. Product images now render reliably in the summary regardless of the legal plugin (when Germanized already provides one, no second image is added). Quantity steppers beside each product let customers fix amounts right at the checkout — changes run through WooCommerce's own refresh with all totals, stock limits and sold-individually respected; a setting turns them off. The coupon prompt is owner-switchable too: shops that never issue codes can retire the field that sends customers code-hunting.
version 0.1.21
- Distraction-free works on every theme now: on themes without a built-in adapter, cart and checkout render through the plugin's own minimal full page (template_include) — the theme's header, menus and footer are never built at all, while styles, analytics, consent tools and chat widgets keep working. A configurable legal-links line under the checkout keeps imprint, privacy and terms reachable (pick your legal menu in the backend; the WordPress privacy page is the minimum fallback). Adapter themes (The7, Storefront) stay on their native path; owners can force the template on or off.
version 0.1.20
- Theme-proof layout round, measured on a second shop (Basel theme, Bootstrap checkout template). Theme templates that wrap the billing and order anchors in their own grid markup (a .col-sm-6 gave the billing column 50% of its 50%) become layout-transparent — the checkout grid now always places the anchors themselves, whatever the template wraps them in. The default template's "Product / Subtotal" table head is retired (our column title already labels the area; as a re-flowed line its two cells overlapped). Gateway description boxes with intrinsically sized badges (Klarna) can no longer be pushed past the card edge. Themes without a server-side adapter get a narrow distraction-free CSS fallback: the page-title hero banner and the breadcrumb step aside while the screen-reader heading keeps the page named.
version 0.1.19
- Context translations restored: the rebuilt language files had silently lost every msgctxt entry (the page slug and the state-field labels fell back to English) — found on the first install on a second shop, where the withdrawal page appeared with a German title but an English slug. The build tool now writes GNU context keys correctly, and the page self-heal treats title and slug independently, so existing installs fix their slug on the next upgrade (WordPress keeps the old-slug redirect).
version 0.1.18
- Plugin Check green again: the help-icon markup escapes its id at the exact output spot (a pre-escaped variable is invisible to the reviewer's static analysis), and reading WooCommerce's order-notes switch carries its documented justification.
version 0.1.17
- Withdrawal round from the live review. The form pre-fills with the customer's data — logged-in customers get their billing details plus their most recent order suggested (number, date, address), everything editable. The address is entered as single fields exactly like the checkout (street, postcode, city) instead of one big blob. The form speaks the checkout's design language now: white card, label blue, 46px controls, choice cards for the scope, a full-width call-to-action. Fixed: German shops got a page literally titled "Withdrawal" — the text domain loaded after the page was created; the priority is corrected and existing untouched pages heal themselves (title and slug, WordPress keeps the old-slug redirect). The last untranslated strings are gone. New: the order-notes field ("Additional information") can be switched off in the backend.
version 0.1.16
- Every setting now explains itself: a "?" icon next to each label opens a plain-language help bubble — what the option does, the background, and when to use it. Hover, focus or tap; Escape closes. The help texts live in one map, so the short inline hints under the fields stay untouched. Fully translated.
version 0.1.15
- The one-column layout is actually one column now. Without its own rules the theme decided — The7 turns the checkout form into its own two-column flexbox, so "one column" silently rendered like "two columns". The layout is a centered 760px flex column: express buttons keep their order, then billing, then the order block, everything stacked.
version 0.1.14
- Compact review round: on shipping-free carts the "Additional information" section (order notes) moves under the payment methods instead of dangling as a lone card below the address — the numbering follows the story (payment becomes step 2, the notes read as a quiet sub-block). First/last name (and postcode/city) now sit on exactly the same line: WooCommerce's float-era
margin-topon.form-row-lastThe grid pair was tilted by 6px.
version 0.1.13
- Parity round with the live shop's proven checkout, plus a new layout. Step numbering now follows the form flow (1 billing details, 2 additional information, 3 payment — the order summary is the unnumbered constant); step heads grow to the measured 1.15rem in the title blue with the number in a matching disc. Field and payment-method labels speak in the label blue at content size. Consent boxes and "Create an account?" become modern switches on individual white cards. In the order column the totals table now leads, consents and the buy button follow, and the money lines re-order so the grand total closes the column with zebra rhythm on the quiet lines. Payment and order share ONE wide card split by a soft center line (three-column stage now starts at 1160px). The express area gets its measured title size and a translated "OR" divider. New: an ultra-compact layout — the three-column stage one type step down with tight cards and fields, modeled on the Magento edition; on touch screens density yields to reachability (16px field text, full-height targets).
version 0.1.12
- Plugin Check housekeeping — the remaining review warnings are resolved: request values in the withdrawal form and the postcode lookup are unslashed and sanitized before use, withdrawal table queries use the %i identifier placeholder (WordPress 6.2+), and the deliberate direct calls to the plugin's own table carry documented justifications. No functional change.
version 0.1.11
- One typographic system across all three checkout columns. Section titles now run in the body font instead of the theme display face (a checkout is one surface, not three widgets), payment method names drop from the theme reading size to content size so the middle column stops shouting, brand icons follow the type down, and the scale is down to five deliberate steps driven by tokens: fine print, secondary, content, controls, emphasis. Adds a --stmc-fs-xs token and raises content size to 15px.
version 0.1.10
- Consistent typography in the order summary. WooCommerce wraps every amount in its own price elements and themes style those wrappers directly, bypassing the cell — on The7 that meant a 13px tax label alongside an 18px amount, three different blues in one column, and a grand total rendered in a completely different font family. The price wrappers now inherit from their cell, so each amount matches its label in family, size and color, with weight alone marking the value and the grand total as the only emphasized line.
version 0.1.9
- Payment method rows are flex rows: a gateway with a wide brand icon strip (credit card) no longer pushes its label onto a second line, stranding the radio button above it — an inline-flex label is atomic and cannot break, so it dropped as a whole. Radio buttons now match the consent checkboxes at 18px. Order summary: rows get horizontal padding so labels and amounts no longer touch the card edge, the theme's gray table background is dropped in favor of the card surface, and row separators are drawn on the row instead of the cells (as flex items the cells were split by the column gap, breaking each line into two segments).
version 0.1.8
- Design round on the three-column layout: fixed column numbering 1 address / 2 payment / 3 order (the CSS counter told the story backwards because WooCommerce renders the order markup before the payment markup); the address and additional-information titles were accidentally hidden by our own heading rule. Consent boxes: consecutive cards merge into one quiet group, text flows as a normal block with hanging indent (WooCommerce core's inline label + line-height 2 gates it apart). Order summary: rows rebuilt as label-left/amount-right lines against The7's stacked block cells, product names wrap instead of truncating, tidy 44px thumbnails; Germanized's relocated duplicate "Your order" heading hidden.
version 0.1.7
- Legal round: server-side safety net for required consent boxes (an order without a required tick is rejected even when the browser check was bypassed — and stays silent when WooCommerce or Germanized already reported the same box, extendable via the
stmc_required_checkboxesfilter). Optional reassurance note under the consent boxes. "Create an account?" info tooltip whose wording is derived from your own registration settings.
version 0.1.6
- Postcode autofill for DE/AT/CH from bundled databases (no external service) — the city fills in automatically, multiple matches feed a native suggestion list. Mobile sticky order bar: total + buy button pinned while the real button is out of view; the proxy click runs every native validation.
version 0.1.5
- Three-column checkout layout (billing / payment / order) — the most compact arrangement, selectable under Design. Express area polish: WooPayments' English separator hidden, gateway description rhythm, theme content padding removed on checkout surfaces.
version 0.1.4
- Consumer rights: online withdrawal form (EU withdrawal function) — auto-created form page for guests and customers, automatic menu placement from the backend, "Withdraw this order" in My Account, soft order matching that never blocks a submission, merchant notification + customer receipt emails, and a management screen with status workflow under WooCommerce → Withdrawals.
version 0.1.3
- Legal module: terms and withdrawal texts open in an accessible overlay without leaving the checkout (native link behavior as fallback). Styled legal checkboxes, order table refinements, cart page round: tidy table columns, checkout button before wallet buttons, quiet update button.
version 0.1.2
- Design round on live The7 + Germanized shop: express payment areas stack tidily above the columns, theme percentage-width traps neutralized in the grid, field pair grid (name, postcode/city), payment method rows with contained brand icons, empty section shells lose their card chrome.
version 0.1.1
- Core checkout modules: header band with progress and login toggle, distraction-free mode with theme adapters, numbered section titles, two-column layout, field improvements (state handling, mobile input attributes), trust elements. German (formal and informal) translations.
version 0.1.0
- Initial foundation: settings framework, design token system, checkout context detection, module registry, HPOS and cart/checkout blocks compatibility declarations.
Frequently Asked Questions
Which WordPress versions are supported?
This plugin is compatible with WordPress 6.5 and higher. You can find the exact version requirements in the respective product description.
Will the plugin work with my theme?
Yes, our plugins are compatible with all standards-compliant WordPress themes – including Gutenberg and Classic Editor.
Will I receive automatic updates?
The plugin is located in the WordPress plugin directory : wordpress.org/plugins/stm-smart-checkout . Installed copies are automatically updated by WordPress from there, just like any other free plugin—you don't need to do anything. The download link here is for those who prefer to install a version manually.
Where can I find support?
Write to us at support@storetown-media.de . We usually reply 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.
Frequently asked questions about STM Smart Checkout for WooCommerce – free checkout with DACH legal information
- What is STM Smart Checkout for WooCommerce – a free checkout with legal information for Germany, Austria, and Switzerland – and what is it used for?
- STM Smart Checkout for WooCommerce – a free checkout with legal compliance for Germany, Austria, and Switzerland (DACH region) – is a professional digital product in the "WordPress / WooCommerce Plugins" category, developed and distributed by Storetown Media from Hamburg. It's free and fully functional. STM Smart Checkout transforms the standard WooCommerce checkout into a streamlined, legally compliant checkout process – without replacing your payment methods, legal plugin, or theme. Even if a legal plugin is missing, the checkout isn't left bare: the plugin automatically provides consent, button labeling according to § 312j BGB (German Civil Code), VAT display, and delivery time information. 🧹 Distraction-free checkout: Headband with progress tracking, numbered steps, order overview as a card. 🎨 Layouts and design tokens: One, two, or three columns; colors and font size in the backend, without CSS. ⚖️ Mandatory information... This product is aimed at developers, agencies and shop operators who are looking for a reliable and professionally maintained solution.
- Is STM Smart Checkout for WooCommerce – free checkout with DACH legal information – truly free? Are there any hidden costs?
- Yes, STM Smart Checkout for WooCommerce – a free checkout solution with legal information for Germany, Austria, and Switzerland (DACH region) – is completely free and open source. There are no license fees, subscription costs, or hidden charges. You can download the product freely, use it in your own projects, and benefit from regular updates. The download is available immediately after free registration in the Storetown Media shop.
- How do I download and install STM Smart Checkout for WooCommerce – a free checkout system with legal information for Germany, Austria, and Switzerland?
- The download of STM Smart Checkout for WooCommerce – a free checkout solution with legal information for Germany, Austria, and Switzerland (DACH region) – is available 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. Our technical support team is available to assist you with any setup questions – in German, directly from Hamburg.
- What technical support and updates are included with STM Smart Checkout for WooCommerce – free checkout with DACH legal information?
- Every purchase of STM Smart Checkout for WooCommerce – free checkout with DACH legal information – includes 12 months of professional technical support in German, as well as all product updates. Our development team, with over 14 years of e-commerce experience, is available via email and our ticketing system. After the first year, you can extend the support period at a 30% discount. Regular security and compatibility updates ensure that STM Smart Checkout for WooCommerce – free checkout with DACH legal information – 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 Checkout for WooCommerce – a free checkout with legal information for Germany, Austria, and Switzerland?
- Yes, Storetown Media offers a free live demo of STM Smart Checkout for WooCommerce – a free checkout with legal information for Germany, Austria, and Switzerland (DACH region) – which 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. You can find the demo links directly on this page below the product gallery.
- 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.
- Who is behind STM Smart Checkout for WooCommerce – a free checkout with legal information for Germany, Austria, and Switzerland? Who is Storetown Media?
- STM Smart Checkout for WooCommerce – a free checkout solution with legal information for Germany, Austria, and Switzerland (DACH region) – is developed and distributed by Storetown Media, a specialized e-commerce service provider based in Hamburg (Tornesch). The company has over 14 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 WordPress / WooCommerce plugins does Storetown Media offer?
- STM Smart Checkout for WooCommerce – a free checkout with legal information for Germany, Austria, and Switzerland (DACH region) – is part of the "WordPress / WooCommerce Plugins" category in the Storetown Media shop, which comprises a total of four 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 shop more efficient, secure, and profitable.
- Am I allowed to use STM Smart Checkout for WooCommerce – a free checkout with DACH legal information – in multiple projects or shops?
- The standard license for STM Smart Checkout for WooCommerce – free checkout with DACH legal information – 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.

















{% endif %} {% if title and title != "" %}
{{ title }}
{% endif %} {% if excerpt and excerpt != "" %}
Reviews
There are no reviews yet.