Skip to content

Cookie settings

Choose which kinds of cookies you allow. You can change your choice at any time via Cookie settings at the bottom of every page. Privacy statement

Necessary

Always on

Needed to log in, keep your cart and remember your choices. These are always on.

Which cookies?
  • weboke_sessie, weboke_klant, weboke_remember: your session and staying logged in
  • weboke_basket: your cart
  • wkBtwIncl: showing prices with or without VAT
  • wok_cookies: your cookie choice, 12 months

Measures which ad leads to a visit or order, so we do not pay for ads that do nothing.

Which cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), up to 90 days
  • OpenAI Ads, ads in ChatGPT
  • wok_aff: which partner referred you to us (affiliate programme), 60 days

4.6

Country and language

Each country has its own site, with prices and VAT for that country.

View

Module 5 · 5.4

English

The ordering process by the rules

Module 5: Obligations and terms · Reading time: 10 minutes

Learning objective: After this lesson you can set up the WooCommerce checkout so that it meets the rules for distance sales: the right text on the order button, the overview just before the order, no pre-ticked extras, honest discounts, and a complete confirmation afterwards.

Key concepts: order button, obligation to pay, "Button-Lösung", "zahlungspflichtig bestellen", overview just before the order, prominent display, pre-ticked boxes, additional payments, accepting the terms and conditions, durable medium, confirmation, price reduction and lowest price in 30 days, charges for a means of payment

This lesson explains the rules as they apply on 9 November 2026. It is not legal or tax advice. If you are unsure about your situation, ask a lawyer, your trade association or your accountant.

The last screen counts the most

On the checkout page the customer makes the decision. That is why the EU sets its strictest requirements here. They come from Article 8 of Directive 2011/83/EU (formal requirements for distance contracts) and Article 22 (additional payments). The essentials:

  1. Just before the order the customer sees the key information clearly and prominently: what they are buying, the total price including all costs, and for a subscription the duration and how to cancel.
  2. The order button says that ordering means paying.
  3. No additional payments through pre-ticked boxes.
  4. After the order a confirmation on a durable medium (an email or PDF the customer can keep).

The order button

This is the best-known example of a rule that sounds stricter in one country than in another, even though it comes from the same directive.

CountryRuleWhat the button must say
EUArticle 8(2) of Directive 2011/83/EUUnambiguous wording stating that placing the order involves an obligation to pay
NetherlandsArticle 6:230v paragraph 3 of the Dutch Civil Code (BW)"In terms not open to misunderstanding"; the law itself gives the phrase "bestelling met betalingsverplichting" (order with obligation to pay) as a good example. Otherwise the contract is voidable
BelgiumSame EU rule in Book VI of the Code of Economic Law (WER)An equally clear text; check the wording with your trade association
Germany§ 312j Abs. 3 BGB ("Button-Lösung")"zahlungspflichtig bestellen" or equally unambiguous wording, and nothing else on the button. Otherwise no contract is formed (§ 312j Abs. 4)

What does that mean in practice? The default text on the WooCommerce button is "Place order" (in the Checkout block "Place Order"), in Dutch usually "Bestelling plaatsen". Neither says that you have to pay. Lawyers and trade associations therefore recommend a text such as "Bestellen en betalen" (order and pay), "Bestelling met betalingsverplichting" or, in Germany, "Zahlungspflichtig bestellen". "Continue", "Next step" or "Confirm" are too vague. Opinions differ on whether "Bestellen en betalen" is enough in every situation; the wording from the law is the safest choice.

Does the customer go to your provider's payment page after clicking the button? Your order button is still the moment they commit. The provider's button ("Pay") does not count as a replacement.

The overview just before the button

In the Netherlands, Article 6:230v paragraph 2 of the Dutch Civil Code (BW) requires you to show the essentials once more immediately before the consumer orders: the main characteristics, the total price, and for a contract of ongoing duration the duration and how to cancel. Germany requires the same in § 312j Abs. 2 BGB. By default the WooCommerce Checkout block shows an overview with products, quantities, subtotal, shipping costs, VAT and total next to or above the button. Watch out for two things:

  • Shipping costs must already be shown, not "calculated after ordering". That is why WooCommerce asks for the address first (lesson 4.3).
  • For a subscription: the price per period, how often, for how long and how to cancel, close to the button.

No pre-ticked boxes

Article 22 of the directive: for any payment on top of the main price you need the consumer's express consent. A pre-ticked box is not consent; if the customer paid because of it, they get the money back. Think of "shipping insurance", "gift wrapping" or "donate € 1 to ...". In WooCommerce such extras usually come from an extension; check that they start unticked.

The same applies to the newsletter checkbox: that is a GDPR matter (consent), not a payment, but it also starts unticked.

Accepting the terms and conditions

WooCommerce can show a checkbox at checkout: "I have read and agree to the website terms and conditions", with a link to the terms page. You get it by choosing a page as Terms and conditions under WooCommerce > Settings > Advanced > Page setup (in the Checkout block you can edit the text). This helps you show that the customer was able to read the terms (lesson 5.5). The checkbox does not replace the mandatory information: the right of withdrawal, prices and costs also belong outside the terms.

Discounts and the lowest price in 30 days

Since the Omnibus Directive ((EU) 2019/2161) the following applies throughout the EU: if you announce a price reduction ("was € 39, now € 29"), the "was" price is the lowest price you charged in the 30 days before for that product. In Germany this is in § 11 PAngV; the Netherlands and Belgium have implemented the same EU rule. Germany also requires a Grundpreis (price per kilo, litre or metre) for products sold by weight or volume (§ 4 PAngV), such as loose tea.

WooCommerce does not keep a price history. If Theehuis Example reduces the price of a teapot on 1 November, it has to know itself what the lowest price in October was. A discount from a week earlier ("first € 34, now € 29") may then be the "was" price. Plugins can track the lowest price; otherwise you write it down yourself.

No surcharge for a means of payment

Article 19 of the directive prohibits charges for using a means of payment that are higher than what it costs you. For the common payment methods within the EU, surcharges are moreover largely prohibited. If you charge anything for a payment method, have it looked into; the safe choice is no surcharge (lesson 4.4).

The confirmation afterwards

After the order the customer receives a confirmation on a durable medium, at the latest on delivery (NL Article 6:230v paragraph 7 BW; EU Art. 8(7)). It contains all mandatory information the customer did not yet have in that form: who you are, what they bought, the price, and the right of withdrawal with the model withdrawal form (or a link to it) and where the withdrawal button is. For digital content also the confirmation of their consent and waiver of the right of withdrawal (lesson 3.3).

In WooCommerce this is the "Processing order" or "On-hold order" email to the customer. Under WooCommerce > Settings > Emails you can add additional content to each email: a short withdrawal text with links to the withdrawal page, the model withdrawal form and the button. A PDF of your terms as an attachment is possible with an extension. Test it with a test order (lesson 4.5).

In practice: what it looks like in WooCommerce

At Theehuis Example with the Checkout block:

  1. Open Pages > Checkout in the block editor, click the Place Order button at the bottom of the block and change the text to "Bestelling met betalingsverplichting" (and in the German version of the shop "Zahlungspflichtig bestellen").
  2. Under Advanced > Page setup, choose the Terms and conditions page so that the consent checkbox appears, and add a link to the withdrawal page in the block.
  3. Go through all extras in the block (extensions for insurance, gift wrapping, newsletter): everything starts unticked.
  4. Under Emails > Processing order, add additional content with the withdrawal information and the link to the button.

With the classic shortcode checkout page you change the button text with a theme setting or a small piece of code; look for the method your theme recommends.

Summary

  • The order button must say that ordering means paying: NL "bestelling met betalingsverplichting", DE "zahlungspflichtig bestellen"; the default text "Place order" (Dutch: "Bestelling plaatsen") is risky.
  • Just before the button: products, total price including all costs, and for subscriptions the duration and how to cancel.
  • No pre-ticked boxes for additional payments; accept the terms with a checkbox that starts unticked.
  • Show price reductions with the lowest price of the last 30 days as the "was" price.
  • After the order a confirmation with all information, the model withdrawal form and the withdrawal button.

Quiz

1. Which button text best fits the German "Button-Lösung"?



2. In the Netherlands, what is the consequence if the order button does not make clear that ordering involves an obligation to pay?



3. Theehuis Example has "Shipping insurance (€ 1,50)" ticked by default at checkout. Is that allowed?



4. In October a teapot cost € 34 and € 31 (a one-week promotion). On 1 November you reduce it to € 27. Which "was" price may you show?



5. Where in WooCommerce do you put the withdrawal information so that the customer has it on a durable medium?



Exercise

Exercise D5.4: Check your ordering process. Place a test order in your own shop (test mode of your payment provider, lesson 4.5) and go through the whole checkout as a customer. Tick off: the text on the order button checked and adjusted where needed; an overview with products, prices including VAT and shipping costs just above the button; no pre-ticked extras; a link to the terms and the withdrawal information at checkout; delivery restrictions and payment methods visible at the start of ordering; the confirmation email with all information reviewed.

Then answer: what exactly does your order button say? Which countries do you sell to, and does the text suit each language ("bestelling met betalingsverplichting", "zahlungspflichtig bestellen")? What did the button say by default, and why do you think that is or is not enough? What does your confirmation email say about withdrawal, and does it include the link to your withdrawal button?

Exercise D5.4: Check your ordering process

You do this exercise yourself; no one checks it. Tick off what you've done and mark the exercise as done.





Your ticks and notes only stay in this browser; we don't send them anywhere. If you're signed in, we only save in My courses that you've done the exercise.

Further reading

One moment…

Set up your domains

For each domain, arrange the nameservers, the link to your hosting and who becomes the owner.

Loading your domains…