Title: STM Smart Checkout for WooCommerce
Author: Tatjana von Storetown-Media
Published: <strong>Сентябрь 1, 2026-ж.</strong>
Last modified: Сентябрь 5, 2026-ж.

---

Плагиндерди издөө

![](https://ps.w.org/stm-smart-checkout/assets/banner-772x250.png?rev=3676155)

![](https://ps.w.org/stm-smart-checkout/assets/icon-256x256.png?rev=3675888)

# STM Smart Checkout for WooCommerce

 Автору [Tatjana von Storetown-Media](https://profiles.wordpress.org/jobhunter99/)

[Жүктөө](https://downloads.wordpress.org/plugin/stm-smart-checkout.0.1.50.zip)

 * [Кенен маалымат](https://ky.wordpress.org/plugins/stm-smart-checkout/#description)
 * [Сын-пикирлер](https://ky.wordpress.org/plugins/stm-smart-checkout/#reviews)
 * [Development](https://ky.wordpress.org/plugins/stm-smart-checkout/#developers)

 [Колдоо](https://wordpress.org/support/plugin/stm-smart-checkout/)

## Сүрөттөө

**Your checkout is the most expensive page in your shop. This plugin makes it earn
its keep — without replacing your gateways, your legal plugin or WooCommerce itself.**

Install it, switch on preview mode, and look at your own checkout the way a customer
does. Your customers keep seeing the standard checkout while you do. If you do not
like it, deactivate the plugin and everything is exactly as it was — no pages changed,
no data locked in.

#### Four things that set it apart

 * **It stands down instead of fighting.** Before it prints a consent box, a button
   label or a VAT line, it asks the _rendered_ checkout whether another plugin is
   already printing one — not whether one happens to be installed. That is why it
   can run alongside WooCommerce Germanized and German Market without the duplicate
   texts shops usually get.
 * **The German and EU legal essentials are built in.** Run it with no legal plugin
   at all and the checkout is still complete: § 312j BGB button wording, consent
   with the exact text stored on the order, VAT statement, delivery time per item,
   the mandatory notice above the buy button.
 * **Postcode autofill for Germany, Austria and Switzerland — with the databases
   inside the plugin.** Type the postcode, the city fills itself. No external service,
   no API key, no customer address ever leaves your server.
 * **Nothing phones home.** No external fonts, no tracking, no remote requests. 
   HPOS compatible.

#### Turn a form into a buying experience

 * **Distraction-free layouts** — three columns, two or one, with a progress indicator
   across cart, checkout and confirmation. Theme header, menu, breadcrumbs and seals
   disappear where they only cost you orders.
 * **A trust header band** with your logo, three short trust claims with icons, 
   and an “Already a customer?” login pill that opens the login form WooCommerce
   prints anyway.
 * **Design tokens, not `!important`** — accent colour, heading colour, font size,
   corner radius, all from the settings screen. It adapts to your theme instead 
   of overruling it.
 * **Trust badges and a reassurance note** exactly where the hesitation happens:
   between the consent boxes and the buy button.
 * **Switch off the two classic leak points** — the coupon prompt that sends customers
   hunting for a code, and the “Additional information” notes field nobody reads.

#### Fewer mistakes, fewer abandoned carts

 * **Field manager with instant validation**, tidied field pairs (first and last
   name, postcode and city), state corrections, and the right touch keyboard on 
   every mobile field.
 * **Legal texts open in an overlay** — customers read your terms without leaving
   the checkout.
 * **A server-side safety net** re-checks every required consent box after submit.
   A request without the tick is refused, not merely hidden.
 * **Delivery time under every product**, in cart and checkout, taken from the most
   specific source that knows one.

#### Works with your stack, not around it

Your gateways keep rendering their own express buttons. Your legal plugin keeps 
owning its legal texts. Your theme keeps its typography. This plugin arranges what
is already there into a checkout that converts.

Classic cart and checkout are styled in full; the Cart and Checkout blocks get everything
except the column layouts and the field manager. The settings screen says exactly
which is which — no surprises — and a reversible one-click switch to the classic
pages is built in. The plugin never changes your pages on its own.

#### STM Smart Checkout Pro

The free plugin is complete in itself and stays that way. The paid add-on is for
shops that want the checkout to sell more and cost less work:

 * **Online withdrawal form** — the withdrawal function required EU-wide since 19
   June 2026 (directive 2023/2673): a public page reachable for guests, pre-filled
   for logged-in customers, with merchant notification, customer receipt and a full
   management screen under WooCommerce.
 * **Bundle discounts** — a percentage off the cart once it holds enough different
   products, needs no coupon form and reaches PayPal as a real discount instead 
   of an unexplained total, with a progress hint that tells customers how close 
   they are.
 * **Checkout offers** — a card above the buy button that adds one more product 
   to the order in a single click, with its own tax class, stock and delivery time.
 * **VAT ID field with live VIES check and reverse charge** — a confirmed EU VAT
   ID takes the tax off the order. An unreachable EU service never grants an exemption;
   the order goes through with VAT and says why.
 * **Express zone** — one defined band above the form for PayPal, Apple Pay and 
   Google Pay, steered there through the providers’ own filters, never rebuilt and
   never moved in the DOM.
 * **Payment-dependent required fields** — invoice purchase may ask for a phone 
   number, prepayment need not. Re-checked on the server.
 * **Method customizer** — your own name, note, symbol and sort order per payment
   method, through documented WooCommerce filters, with 33 bundled symbols.
 * **Safe mode** — a fatal error while the checkout renders no longer costs you 
   orders: the Smart Checkout steps aside and WooCommerce’s standard checkout takes
   over, visibly and reversibly.
 * **Mobile sticky order bar** and an **ultra-compact layout** for dense checkouts
   on small screens.

Pro requires this free plugin: [STM Smart Checkout Pro for WooCommerce](https://en.storetown-media.de/produkt/stm-smart-checkout-pro-woocommerce/).
This plugin has a page of its own as well: [STM Smart Checkout for WooCommerce](https://en.storetown-media.de/produkt/stm-smart-checkout-woocommerce/)

**Auf Deutsch: die rechtssichere WooCommerce-Kasse für Shops in Deutschland, Österreich
und der Schweiz**

**Ihre Kasse ist die teuerste Seite im Shop. Dieses Plugin sorgt dafür, dass sie
sich lohnt — ohne Ihre Zahlungsarten, Ihr Rechts-Plugin oder WooCommerce zu ersetzen.**

Installieren, Vorschau-Modus einschalten und die eigene Kasse einmal mit Kundenaugen
ansehen. Ihre Kundschaft sieht währenddessen weiter die Standard-Kasse. Gefällt 
es nicht, deaktivieren Sie das Plugin und alles ist wie zuvor — keine Seite verändert,
nichts eingesperrt.

#### Vier Dinge, die es auszeichnen

 * **Es tritt zurück, statt zu streiten.** Bevor es ein Pflichthäkchen, eine Button-
   Beschriftung oder eine MwSt.-Zeile ausgibt, fragt es die _gerenderte_ Kasse, 
   ob ein anderes Plugin das bereits tut — nicht, ob eines installiert ist. Deshalb
   läuft es neben WooCommerce Germanized und German Market, ohne die doppelten Texte,
   die Shops sonst bekommen.
 * **Die deutschen und EU-Pflichtangaben sind eingebaut.** Auch ganz ohne Rechts-
   Plugin ist die Kasse vollständig: Button-Lösung nach § 312j BGB, Einwilligung
   mit dem exakten Wortlaut auf der Bestellung, MwSt.-Ausweisung, Lieferzeit je 
   Artikel, Pflichthinweis über dem Kaufknopf.
 * **PLZ-Autovervollständigung für D, A und CH — mit den Datenbanken im Plugin.**
   Postleitzahl eintippen, der Ort füllt sich selbst. Kein externer Dienst, kein
   API-Schlüssel, keine Kundenadresse verlässt Ihren Server. DSGVO-konform, ohne
   Nachfrage beim Datenschutzbeauftragten.
 * **Nichts funkt nach Hause.** Keine externen Schriften, kein Tracking, keine entfernten
   Anfragen. HPOS-kompatibel.

#### Aus einem Formular eine Kaufstrecke machen

 * **Ablenkungsfreie Layouts** — Drei-, Zwei- oder Einspalter mit Fortschrittsanzeige
   über Warenkorb, Kasse und Bestätigung. Theme-Kopf, Menü, Brotkrumen und Siegel
   verschwinden dort, wo sie nur Bestellungen kosten.
 * **Trust-Kopfband** mit Ihrem Logo, drei kurzen Vertrauens-Aussagen mit Symbolen
   und einer „Bereits Kunde?”-Anmelde-Pille, die das Anmeldeformular öffnet, das
   WooCommerce ohnehin ausgibt.
 * **Design-Tokens statt `!important`** — Akzentfarbe, Überschriftenfarbe, Schriftgröße,
   Eckenradius, alles aus dem Backend. Es fügt sich in Ihr Theme, statt es zu überstimmen.
 * **Trust-Badges und ein Beruhigungshinweis** genau dort, wo gezögert wird: zwischen
   den Pflichthäkchen und dem Kaufknopf.
 * **Die zwei klassischen Leckstellen abschaltbar** — der Gutschein-Hinweis, der
   Kunden auf Code-Jagd schickt, und das Bemerkungsfeld, das niemand liest.

#### Weniger Fehler, weniger Abbrüche

 * **Feldverwaltung mit Sofortprüfung**, aufgeräumten Feldpaaren (Vor-/Nachname,
   PLZ/Ort), Bundesland-Korrekturen und der richtigen Handy-Tastatur in jedem Feld.
 * **Rechtstexte im Overlay** — Kundschaft liest Ihre AGB, ohne die Kasse zu verlassen.
 * **Serverseitige Absicherung**: Jedes Pflichthäkchen wird nach dem Absenden erneut
   geprüft. Eine Anfrage ohne Haken wird abgewiesen, nicht bloß ausgeblendet.
 * **Lieferzeit unter jedem Produkt**, in Warenkorb und Kasse, aus der jeweils genauesten
   Quelle.

#### Arbeitet mit Ihrem Bestand, nicht daran vorbei

Ihre Zahlungsarten rendern weiter ihre eigenen Express-Knöpfe. Ihr Rechts-Plugin
behält seine Rechtstexte. Ihr Theme behält seine Typografie. Dieses Plugin ordnet,
was schon da ist, zu einer Kasse, die verkauft.

Die klassische Kasse gestaltet es vollständig; die Cart- und Checkout-Blöcke bekommen
alles außer Spaltenlayouts und Feldverwaltung. Der Einstellungsbildschirm sagt genau,
was wo gilt — keine Überraschungen — und ein umkehrbarer Ein-Klick-Wechsel auf die
klassischen Seiten ist eingebaut. Das Plugin ändert Ihre Seiten nie von selbst.

#### STM Smart Checkout Pro

Das kostenlose Plugin ist in sich vollständig und bleibt es. Das kostenpflichtige
Zusatzmodul ist für Shops, deren Kasse mehr verkaufen und weniger Arbeit machen 
soll:

 * **Online-Widerrufsformular** — die seit dem 19. Juni 2026 EU-weit vorgeschriebene
   Widerrufsfunktion (Richtlinie 2023/2673): öffentliche Seite, auch für Gäste erreichbar,
   für angemeldete Kundschaft vorbefüllt, mit Händler-Benachrichtigung, Kundenbeleg
   und vollständiger Verwaltung unter WooCommerce.
 * **Bundle-Rabatte** — ein Prozentsatz auf den Warenkorb, sobald genug verschiedene
   Produkte darin liegen, braucht kein Gutscheinformular und erreicht PayPal als
   echten Rabatt statt als unerklärte Differenz, mit Fortschritts-Hinweis, wie nah
   die Kundschaft dran ist.
 * **Angebote an der Kasse** — eine Karte über dem Kaufknopf, die mit einem Klick
   ein weiteres Produkt in die Bestellung legt, mit eigener Steuerklasse, eigenem
   Bestand und eigener Lieferzeit.
 * **USt-IdNr.-Feld mit VIES-Live-Prüfung und Reverse Charge** — eine bestätigte
   EU-USt-IdNr. nimmt die Umsatzsteuer aus der Bestellung. Eine nicht erreichbare
   EU-Schnittstelle gewährt niemals eine Befreiung; die Bestellung geht mit Steuer
   durch und sagt warum.
 * **Express-Zone** — ein definiertes Band über dem Formular für PayPal, Apple Pay
   und Google Pay, über die Filter der Anbieter dorthin gesteuert, nie nachgebaut
   und nie im DOM verschoben.
 * **Zahlartabhängige Pflichtfelder** — Kauf auf Rechnung darf nach der Telefonnummer
   fragen, Vorkasse nicht. Serverseitig nachgeprüft.
 * **Methoden-Customizer** — eigener Name, Zusatztext, Symbol und Reihenfolge je
   Zahlart, über dokumentierte WooCommerce-Filter, mit 33 mitgelieferten Symbolen.
 * **Safe-Mode** — ein Fatal Error beim Rendern der Kasse kostet Sie keine Bestellungen
   mehr: der Smart Checkout tritt zurück, die Standard-Kasse übernimmt, sichtbar
   und umkehrbar.
 * **Mobile Sticky-Bestellleiste** und ein **ultra-kompaktes Layout** für dichte
   Kassen auf kleinen Bildschirmen.

Pro setzt dieses kostenlose Plugin voraus: [STM Smart Checkout Pro für WooCommerce](https://www.storetown-media.de/produkt/stm-smart-checkout-pro-woocommerce/).
Auch das kostenlose Plugin hat eine eigene Seite: [STM Smart Checkout für WooCommerce](https://www.storetown-media.de/produkt/stm-smart-checkout-woocommerce/)

### Credits

The bundled postcode databases for Germany, Austria and Switzerland are derived 
from the free geographical database [GeoNames](https://www.geonames.org/), used 
under the [Creative Commons Attribution 4.0 licence](https://creativecommons.org/licenses/by/4.0/).

They ship as plain JSON inside the plugin and are read locally. Nothing is fetched
at runtime, and no address a customer types is sent anywhere.

## Скриншоттор

[⌊The three-column checkout: trust header band with progress, express payment area,
and address, payment and order summary side by side.⌉⌊The three-column checkout:
trust header band with progress, express payment area, and address, payment and 
order summary side by side.⌉[

The three-column checkout: trust header band with progress, express payment area,
and address, payment and order summary side by side.

[⌊The buy zone in reading order — totals, required consent, reassurance note, buy
button, trust row.⌉⌊The buy zone in reading order — totals, required consent, reassurance
note, buy button, trust row.⌉[

The buy zone in reading order — totals, required consent, reassurance note, buy 
button, trust row.

[⌊Terms and cancellation policy open in an overlay, without leaving the checkout.⌉⌊
Terms and cancellation policy open in an overlay, without leaving the checkout.⌉[

Terms and cancellation policy open in an overlay, without leaving the checkout.

[⌊The same checkout on a phone: one column, reachable targets, express buttons kept.⌉⌊
The same checkout on a phone: one column, reachable targets, express buttons kept
.⌉[

The same checkout on a phone: one column, reachable targets, express buttons kept.

[⌊The design tab — layout, the two blues, font size in pixels, every setting with
its own plain-language help bubble.⌉⌊The design tab — layout, the two blues, font
size in pixels, every setting with its own plain-language help bubble.⌉[

The design tab — layout, the two blues, font size in pixels, every setting with 
its own plain-language help bubble.

[⌊The legal tab with "detected at the checkout": what the automatic detection last
found, and which required statements the plugin is standing down from because another
plugin delivers them.⌉⌊The legal tab with "detected at the checkout": what the automatic
detection last found, and which required statements the plugin is standing down 
from because another plugin delivers them.⌉[

The legal tab with “detected at the checkout”: what the automatic detection last
found, and which required statements the plugin is standing down from because another
plugin delivers them.

## FAQ.KG

### Does this work with the block-based checkout?

In part, and the plugin says exactly which part. Everything around the form works
on the Cart and Checkout blocks: the full-page template, the trust header band, 
the step indicator, the legal footer line and the design tokens on the button, the
fields and the order summary. Inside the form, the pieces that matter under German
law are there as well: a required consent box for terms and cancellation policy 
that WooCommerce validates on the server — a request without the tick is refused—
and writes onto the order together with the exact wording; the mandatory notice 
from your settings and the links to both texts one line above the buy button, the
links opening in the same overlay as on the classic checkout; the buy button label
from your settings; and the delivery time under each line item, in the cart block
and in the order summary, resolved from the same sources as on the classic checkout.
Also on the blocks since 0.1.47: the trust row under the buy button and the reassurance
note under the consent box, in the same markup and the same stylesheet the classic
checkout uses. Also on the blocks since 0.1.48: the switches for the coupon prompt
and the order-notes field — the block checkout already folds both away behind a 
single line, so the separate “expandable line” setting for the notes has nothing
left to do there. Not yet on the blocks: the column layouts and the field manager
with its postcode autofill. The settings screen lists this, and the one-click switch
to the classic cart and checkout remains for shops that want all of it today — the
block markup is kept, so the way back is one click as well.

### Does it work with WooCommerce Germanized / German Market?

Yes — coexistence with both is a core design goal. The plugin respects their legal
checkboxes, button texts and tax displays.

### Is there a paid version, and what does it add?

Yes. STM Smart Checkout Pro is a separate add-on that requires this free plugin.
It adds the online withdrawal form and its management screen, the express zone for
wallet buttons, payment-dependent required fields, the payment method customizer,
safe mode, a mobile sticky order bar and an ultra-compact layout. Everything described
in the description above is part of this free plugin and stays that way — Pro adds,
it does not unlock. Details and pricing: [STM Smart Checkout Pro for WooCommerce](https://en.storetown-media.de/produkt/stm-smart-checkout-pro-woocommerce/)

### Does the free plugin include the online withdrawal form required since June 2026?

No — that one is in Pro. EU directive 2023/2673 requires an online withdrawal function
for distance contracts from 19 June 2026, and it is more than a form: a public page
reachable for guests, pre-filling for logged-in customers, order matching that never
turns a consumer away, notification and receipt mails, and a management screen with
a status workflow. What the free plugin does cover is the checkout side of German
and EU law — consent, the § 312j BGB button label, VAT statement, delivery time 
and the mandatory notice above the buy button.

### Do I need a legal plugin for a German shop?

No. If none is present, the checkout supplies the mandatory pieces itself: the consent
box for terms and cancellation policy, the § 312j BGB button label, the VAT statement
in the order summary, and the delivery time under each product. Each of these is
decided by asking whether another plugin is actually rendering it — not by asking
whether one is installed — so nothing ever appears twice.

### What does it deliberately not cover?

Unit prices (PAngV) and sending the cancellation policy with the order confirmation
mail stay with a dedicated legal plugin. The settings screen states this in plain
language rather than leaving you to find out later, and it shows what the automatic
detection last found on your checkout.

### Can I try it without switching my live checkout over?

Yes. Leave the plugin switched off and open the checkout with `?stmc_preview=1` 
as a shop manager — you see the Smart Checkout, customers keep seeing the standard
one. `?stmc_preview=off` ends the preview again, and the settings screen tells you
while it is running, with the link that ends it.

### What happens to my checkout if I deactivate the plugin?

You get the standard WooCommerce checkout back, unchanged. The plugin arranges and
supplements the existing checkout; it does not replace the template, the gateways
or the order process, and it stores nothing your shop would miss.

### Does it work with my theme?

It is built to. Themes with a server-side adapter (The7, Storefront) use their native
distraction-free path; every other theme gets the plugin’s own minimal full-page
template, so the theme’s header, menus and footer are never built while styles, 
analytics, consent tools and chat widgets keep working. Layout rules place the checkout
anchors themselves, whatever markup a theme template wraps them in.

### Is it compatible with HPOS?

Yes, HPOS (High-Performance Order Storage) is fully supported. Compatibility with
the cart/checkout blocks is declared in the sense that this plugin does not interfere
with them — it does not style them either; see the block-checkout question above.

### Does it load external fonts or call external services?

No. No remote fonts, no tracking, no external requests. The postcode databases for
DE/AT/CH ship with the plugin.

## Сын-пикирлер

There are no reviews for this plugin.

## Contributors & Developers

“STM Smart Checkout for WooCommerce” is open source software. The following people
have contributed to this plugin.

Мүчөлөрү

 *   [ Tatjana von Storetown-Media ](https://profiles.wordpress.org/jobhunter99/)

“STM Smart Checkout for WooCommerce” has been translated into 1 locale. Thank you
to [the translators](https://translate.wordpress.org/projects/wp-plugins/stm-smart-checkout/contributors)
for their contributions.

[Translate “STM Smart Checkout for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/stm-smart-checkout)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/stm-smart-checkout/),
check out the [SVN repository](https://plugins.svn.wordpress.org/stm-smart-checkout/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/stm-smart-checkout/)
by [RSS](https://plugins.trac.wordpress.org/log/stm-smart-checkout/?limit=100&mode=stop_on_copy&format=rss).

## Өзгөртүүлөр

Older entries (0.1.0 to 0.1.28) are kept in `CHANGELOG-ARCHIVE.txt` in the plugin’s

repository: https://github.com/storetown-media/stm-smart-checkout They are left 
out here because WordPress.org truncates this section at 5,000 words, which would
drop them silently instead of on purpose.

#### 0.1.50

 * No code changes. This release exists so the plugin directory serves a rewritten
   description — WordPress.org reads it from the stable tag, so a new text needs
   a new version.
 * The description now leads with what actually sets this plugin apart instead of
   listing twelve features: that it asks the rendered checkout whether another plugin
   already prints a consent box, a button label or a VAT line before printing its
   own; that the German and EU legal essentials work with no legal plugin at all;
   that the postcode databases for Germany, Austria and Switzerland sit inside the
   plugin so no customer address leaves your server; and that nothing phones home.
 * Preview mode moved from the eleventh bullet to the second sentence. Trying the
   plugin on your own live site while customers keep seeing the standard checkout
   is the most useful thing a shop can do with it, and it was buried.
 * The Pro section was incomplete and is now correct: bundle discounts and checkout
   offers had been shipping since 0.6.0 and 0.7.0 without ever being described, 
   and the VAT ID field with its live VIES check and reverse charge has been added.
 * The tag “one page checkout” has been replaced with “checkout fields” — this plugin
   is not a one page checkout, and the field manager it does have is free.

#### 0.1.49

 * On the block checkout the own consent box now stands down for a legal plugin 
   that renders its own — until now a shop running Germanized read two consent texts
   on one page, ours as a required checkbox and Germanized’s below it, with the 
   setting on “automatic”.
 * Why it took a different answer than the classic checkout: the block field has
   to be registered at woocommerce_init, because the Store API needs it registered
   to validate and store it, and at that moment no legal plugin has hooked the checkout
   yet. Measured in a real request — the detection answers “nobody” there and “Germanized”
   a few hooks later, too late to matter.
 * So on the blocks, and only there, the question is answered by presence rather
   than by hook, and as narrowly as possible: not “is Germanized installed” but “
   is its block integration loaded”. Registering the field and declining to render
   it later would have been better, but WooCommerce offers no filter for that.
 * The settings screen says what was found, because a decision made on presence 
   can be wrong and must not be wrong silently. A shop whose legal plugin is installed
   but not showing a consent box switches the setting to “on”.

#### 0.1.48

 * The coupon prompt and the order-notes field can now be switched off on the block
   checkout too — the same two settings that already governed them on the classic
   pages, so a shop configures once and both surfaces agree.
 * Measured before it was promised, and the measurement moved the answer: WooCommerce
   hands the block app a couponsEnabled flag and offers a filter behind it, but 
   that flag is global for the request — the Store API checks the same function,
   so using it would not hide a prompt, it would refuse coupons the shop still issues
   by link. The narrow lever is the block wrapper itself.
 * The order-notes filter the classic checkout uses does not exist in the block 
   path at all; the block that draws the field carries no logic to hook into. What
   works is that the Checkout block renders server-side as a tree of empty wrappers
   and the app mounts into them — no wrapper, nothing to mount. Verified through
   first paint, through a re-render, and on the way back.
 * Said plainly rather than sold: the block checkout already folds the notes and
   the coupon behind a single line by itself, so the separate “expandable line” 
   setting for the notes changes nothing there. The settings screen says so.

#### 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.

#### 0.1.46

 * The block checkout wears 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 beside it. The layout setting keeps applying to
   the classic checkout only, as the settings screen states.

#### 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.

#### 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 behaviour, 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 catalogues,
   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.

#### 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.

#### 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.

#### 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-Lösung,§
   312j BGB, Widerrufsformular, AGB-Checkbox, MwSt.-Ausweisung, Lieferzeit. Two 
   questions were added to the FAQ, one of them stating plainly that the online 
   withdrawal form required since 19 June 2026 is in Pro and not in this plugin.
   No code changed.

#### 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.

#### 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 colour 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 pointed
   at 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.

#### 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.

#### 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.

#### 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.

#### 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.

#### 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_time` filter has the last word for shops that compute 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.

#### 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 colour 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 colour for both flattens the form into a grey block. The reassurance 
   note moves back between the consent boxes and the buy button, where it comments
   on the consent right above it.

#### 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 freely, and a 
   legal statement must not depend on what someone typed into a settings field.

#### 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_labels`
   and public row helpers, so both plugins speak one visual language. New `STMC_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.

#### 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.

#### 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:block` inline 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 blockified back to flex where the row is flex,
   so nothing changes elsewhere. No `!important` involved.

## Мета

 *  Нуска **0.1.50**
 *  Акыркы жаңыртуу **3 күн мурун**
 *  Активдүү орнотуулар **Fewer than 10**
 *  WordPress нускасы ** 6.5 же андан жогору **
 *  Tested up to **7.1**
 *  PHP нускасы ** 7.4 же андан жогору **
 *  Тилдер
 * [English (US)](https://wordpress.org/plugins/stm-smart-checkout/) жана .[German](https://de.wordpress.org/plugins/stm-smart-checkout/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/stm-smart-checkout)
 * Тег:
 * [checkout](https://ky.wordpress.org/plugins/tags/checkout/)[checkout fields](https://ky.wordpress.org/plugins/tags/checkout-fields/)
   [conversion](https://ky.wordpress.org/plugins/tags/conversion/)[germanized](https://ky.wordpress.org/plugins/tags/germanized/)
   [WooCommerce checkout](https://ky.wordpress.org/plugins/tags/woocommerce-checkout/)
 *  [Advanced View](https://ky.wordpress.org/plugins/stm-smart-checkout/advanced/)

## Рейтинг

Азырынча эч кандай сын-пикир жок.

[Your review](https://wordpress.org/support/plugin/stm-smart-checkout/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/stm-smart-checkout/reviews/)

## Мүчөлөрү

 *   [ Tatjana von Storetown-Media ](https://profiles.wordpress.org/jobhunter99/)

## Колдоо

Комментарийлер барбы? Жардам керекпи?

 [Колдоо форумун көрүү](https://wordpress.org/support/plugin/stm-smart-checkout/)