Ecommerce UI Kit — EU 2026 Checkout Buttons & 30-Day Price Badges

For designers of EU online shops redesigning the checkout for the withdrawal button in force since 2026-06-19. Paste one product's last 30 days of prices — the kit's sale badge is computed below.

79.00 or 79,00 both work. Only the last 30 lines count.

Your -40% badge is legally -24%

Your planned badge (vs "was" price)-40% vs €99.00
Lowest price in 30 days (PID Art. 6a)€79.00
Discount you may print
Overstated by16 points
Days read30
-24%Lowest price in 30 days: €79.00
€59.40
€59.40 · lowest 30-day price €79.00

This is the kit's Price badge and Product card, filled with your numbers. Change any value on the left — it recomputes.

Full version — $168 once: all 8 components and 26 variants (Price badge, Product card, Checkout input, Consent checkbox, Checkout alert, Checkout steps, Product page tabs) as a Figma plugin, 26 SVGs and one .sketch file. Get the full kit

One-time payment, not a subscription. You have already seen your own answer above before paying anything.

Free: the Checkout button set (4 variants)

Order with obligation to pay Withdraw from contract here Confirm withdrawal Order with obligation to pay

Free download: these four variants as a Figma plugin, 4 SVGs and a .sketch file — complete for one job, the two buttons EU law words for you.

What you lose if these are wrong — and when

Why a free kit or a chatbot does not do this

Free Figma Community ecommerce kits label the last button "Buy" or "Place order", have no withdrawal button and show sale badges without a prior price. A chatbot can tell you the rule but will not draw 26 Figma component variants.

What is in the full kit (counted)

Checkout button — Order · Withdraw · Confirm withdrawal · Order disabled4
Price badge — Sale percent · Prior price · New · Sold out4
Product card — On sale · Regular · Sold out3
Checkout input — Placeholder · Filled · Error3
Consent checkbox — Terms checked · Unchecked · Digital content waiver3
Checkout alert — Withdrawal received · Withdrawal period · Payment failed3
Checkout steps — Step 1 · Step 2 · Step 33
Product page tabs — Description · Delivery and returns · Product safety3
8 components26

How to get it into Figma

  1. In Figma, drag the .sketch file onto the file browser to open it.
  2. SVG files: copy and paste them into a frame — they come in as vectors.
  3. Plugin: it ships as TypeScript source (code.ts). Run tsc to get code.js, then import manifest.json as a development plugin; it rebuilds the components as real variant sets.
  4. Replace #1E3A8A with your brand colour in Selection colors, and the example prices with the ones computed above.

Menu names differ by Figma version and UI language. Some component structure may be simplified in the .sketch import (not measured). Sketch users open the same .sketch file. This is a design kit, not legal advice.

Yardstick

Rival ecommerce UI kits on this shelf list at up to $168 (our 2026 shelf measurement), without the EU checkout wording or a 30-day prior price.

Get the full version $168

8 components, 26 variants for EU online shops: the order button worded per CRD Art. 8(2), the withdrawal button required since 2026-06-19, and sale badges that show the 30-day prior price —

One payment, one licence key for this tool. The key is shown right after payment.

Consumer Rights Directive 2011/83/EU Art. 8(2): the order button must read 'order with obligation to pay' or an equally unambiguous wording, otherwise the consumer is not bound. Directive (EU) 2023/2673 adds Art. 11a: a 'withdraw

Buy the full version — $168
Email me this result
A copy of what you see above, in your inbox — the tool stays free, nothing here is locked.
ENDEJAESPT

Find a tool

· ReadyStack

Worked example

Real numbers from this tool, line by line.

Ecommerce UI Kit — EU 2026 Checkout Buttons & 30-Day Price Badges (Figma)

A shop sells a jacket at €79.00 for twenty days. Ten days before the sale it moves the price to €99.00. Then it runs the sale at €59.40 and prints a red badge: -40%. Against €99.00 the arithmetic is right. Under EU law the badge is wrong.

The rule is Article 6a of the Price Indication Directive, added by the Omnibus Directive 2019/2161. Any announced price reduction must state the prior price, and the prior price is the lowest price the shop charged during a period of not less than 30 days before the reduction. In our example that is €79.00, not €99.00. Measured against €79.00, a sale price of €59.40 is a reduction of 24.8%. Rounded down so it never overstates, the badge you may print says -24%. The planned badge overstated the discount by 16 points.

We built a free calculator for exactly this. Paste one product's last 30 days of prices, one per line, and your sale price. It reads the last 30 lines, takes the lowest, and returns the discount you may print plus the badge and product card from the kit, filled with your numbers. Three runs show why the answer depends on your own history. Same jacket, but held at €99.00 for all 30 days: the low is €99.00 and -40% is correct. Back to the first history, but the sale price is €85.00: that is not below the 30-day low of €79.00, so there is no reduction to announce at all, and the calculator says so.

The price badge is one of three checkout rules the kit is built around. The second is the order button. Article 8(2) of the Consumer Rights Directive says the button that places a paid order must be labelled "order with obligation to pay" or an equally unambiguous wording. If it is not, the consumer is not bound by the order. A button that just says "Continue" puts the contract itself at risk, not only a fine.

The third rule is new this year. Directive (EU) 2023/2673 adds Article 11a to the Consumer Rights Directive: for contracts concluded online, the trader must offer a withdrawal function labelled "withdraw from contract here" or an equally unambiguous wording, followed by a step labelled "confirm withdrawal". It applies from 19 June 2026, so it is already in force, and most EU checkouts were designed without it.

Fines sit on top. Under Article 24(3) of the Consumer Rights Directive, as amended by the Omnibus Directive, the maximum fine in coordinated EU enforcement actions must be at least 4% of the trader's annual turnover in the member states concerned.

The kit draws all of this as Figma components. There are 8 components and 26 variants. The free Checkout button set has 4: "Order with obligation to pay", "Withdraw from contract here", "Confirm withdrawal" and a disabled order button. The full kit adds the Price badge (4 variants), Product card with prior price (3), Checkout input (3), Consent checkbox with the digital-content waiver (3), Checkout alert with the withdrawal confirmation and the 14-day period (3), Checkout steps (3) and Product page tabs with a product safety tab (3).

It ships three ways because Figma's .fig format has no public writer: a Figma plugin as TypeScript source that rebuilds the components as real variant sets once you run tsc, 26 SVG files you paste in as vectors, and one .sketch file you drag into Figma. Sketch users open the same file. Some component structure may be simplified in the .sketch import; we have not measured it. It is a design kit, not legal advice.

Start with the free part: paste your own 30 days of prices and see the badge you may print.

Questions people ask

What does this ecommerce UI kit contain?

Eight Figma components for an EU product page and checkout — Checkout button, Price badge, Product card, Checkout input, Consent checkbox, Checkout alert, Checkout steps and Product page tabs — in 26 variants. The buttons carry the wording of CRD Art. 8(2) and the Art. 11a withdrawal flow, and the sale badge and card show the lowest price of the last 30 days.

Who is this kit built for?

UI and UX designers and front-end leads building online shops that sell to EU consumers, on Shopify, WooCommerce, Shopware or a custom checkout. The withdrawal button has applied since 19 June 2026, so most EU checkouts need a redesign this year. Sketch users open the same .sketch file, so mixed design teams can share one kit.

Why not use a free Figma Community ecommerce kit?

Free ecommerce kits label the last button 'Buy' or 'Place order', have no 'Withdraw from contract here' button and show sale badges without a prior price. Under CRD Art. 8(2) a badly labelled order button means the consumer is not bound by the order. This kit draws the statutory wording and the 30-day price as real Figma variants.

What do I get for free?

The Checkout button set with four variants — 'Order with obligation to pay', 'Withdraw from contract here', 'Confirm withdrawal' and a disabled order button — as plugin, SVG and .sketch. Plus the web calculator: paste your last 30 days of prices and your sale price, and it returns the lowest prior price and the discount you may print.

How does the price compare?

The full kit is a one-time payment of $168, not a subscription. Rival ecommerce UI kits on the same shelf list at up to $168 in our 2026 measurement, without the EU checkout wording. Under CRD Art. 24(3), as amended by the Omnibus Directive, the maximum fine in coordinated EU actions is at least 4% of annual turnover.

Ask about this tool

One question, answered by the person who built it. Your email only if you want the answer sent.

Embed this tool on your site (free)

Paste this code into your page. It runs in your visitor’s browser and stays up to date. Nothing your visitors type is stored.

 All embeddable tools

For businesses: your name and logo instead of ours, and each visitor’s result + e-mail in your inbox (only when they tick consent) — Pro from $19/month. See Pro →