Skip to main content
The checkout section covers everything that controls the order process in the storefront: from simple guest or quick orders through custom input fields to rounding of subtotals. It also enables fast item entry by article number, validates basket content against rules (e.g. mandatory accessories) if required, manages shipping methods including pricing logic and integrates package tracking.

checkout* - Basic structure

Below is the basic structure of the checkout node

Parameter overview

checkout.checkout - Checkout process

This section bundles the checkout settings. It defines how the order process runs, which additional fields are displayed and how, for example, shipping options are selected by default. In addition, rules can be defined for voucher calculations, country-specific free shipping and, optionally, for package tracking.

Example configuration checkout.checkout

Parameter overview

Priority logic for defaults: If multiple sources (e.g. user selection or customer preferences) provide a value for a field in defaults, the following priority order applies:
  1. Active user selection in the current session — is never automatically overridden.
  2. Stored customer preferences of a signed-in customer (where supported).
  3. Merchant configuration — the defaults values defined here.
  4. System fallback — e.g. automatic selection if only one option is available or first valid option after sorting (see autoSelectSingleOption).
Re-selection when a chosen method subsequently becomes invalid:The priority logic above applies to the initial selection. If, however, a previously made but now invalid selection is handled — for example because the customer changes the delivery country and the selected shipping method is not offered there — prevSelectionInvalidAutoSelect controls how the shop reacts (see table above). autoSelectSingleOption remains active as a fallback in all modes.
Note on rounding behaviour with position-based voucher calculation:
If “voucherAppliesPerItem” is set to “true” and a percentage voucher with a configured maximum amount is used, the granted discount may exceed this maximum amount by up to €0.01. The reason is that the discount is rounded individually per line item and the sum of these roundings may deviate slightly from the expected total.

checkout.voucher - Voucher settings

This section bundles the settings for the use of vouchers in the order process. Among other things, it defines how many vouchers a customer can redeem at the same time and how discount amounts of percentage vouchers are rounded arithmetically.

Example configuration checkout.voucher:

Parameter overview

checkout.directOrder - Online order form

Allows fast entry of items by article number — for example for large or recurring orders. It defines which columns are visible per row (e.g. article number, quantity). Optionally, the system remembers the last used number of rows via saveCountInSession.

Example configuration checkout.directOrder

Parameter overview

checkout.productDependency - Product dependencies

This section defines when certain steps or options are allowed in the checkout. It checks the contents of the basket — such as properties like size, colour or whether an additional field has been filled — and can display a notice or block the action if the conditions are not met. Typical use cases are, for example, mandatory accessories or preventing prohibited combinations in the checkout.

Example configuration checkout.productDependency

Evaluation logic

The rule groups and conditions are evaluated according to a fixed scheme:
  • dependencyGroups are OR-linked: it is sufficient if one of the groups is completely fulfilled.
  • dependencies within a group are AND-linked: within a group, all conditions must be fulfilled.
  • Whether an individual condition is considered fulfilled is additionally controlled by basketBehavior: with matchOnce, at least one basket line item must fulfil the condition; with matchAll, all line items in which the checked field provides a value must do so.
In the example above the dependency is therefore considered fulfilled if either the first group applies (one line item with the colour camel and one line item with an empty engraving free field in the basket) or the second group (one line item with size S, M or L).

Parameter overview

Check types (type)

checkout.shippingMethod - Shipping methods

Defines available shipping methods and their behaviour in the checkout. In addition to activation, name and order notes, price scales by weight (weightCost) and by basket subtotal (basicCost) can be configured. Via validations (validations) conditions such as allowed countries, physical products only or other rules can be set. Additionally, description, image/icon and external link (e.g. carrier info) are possible. Via the group field a shipping method can also be assigned to a shipping method group. This results in clearly named, rule-compliant shipping options with transparent pricing logic and optional restrictions.

Example configuration checkout.shippingMethod

Parameter overview

checkout.shippingMethodGroup - Shipping method groups

Defines groups to which shipping methods can be combined (e.g. by carrier or delivery type). A shipping method is assigned to a group via its group field. For each group, name, description, image and a link can be defined — for example to bundle and display several shipping methods uniformly in the frontend.

Example configuration checkout.shippingMethodGroup

Parameter overview

In the template the groups are read via $wsConfig.shippingMethodGroups. The group assigned to a shipping method is available there in the group field of the shipping method.

checkout.shipTrack - Package tracking

Configures the connection to shipping service providers for shipment tracking. Provider identifier and credentials (API user/token) are stored as well as a language code for provider responses and labelling. Based on this data, tracking links and status information can be provided in the checkout or in the customer account and used automatically in notifications.

Example configuration checkout.shipTrack

Parameter overview

checkout.fieldErrorVisibility - Error display

Defines when error messages are displayed in the checkout, e.g. whether a hint about a missing required field appears immediately, even without the customer having interacted with the field, or only when the customer clicks “Buy”.

Example configuration checkout.fieldErrorVisibility

Parameter overview

After clicking “Buy”, all errors are displayed by default, regardless of this setting.In the checkout there are basically two types of errors:
  • Errors that the system detects itself (e.g. “required field empty”, “invalid ZIP”):
    These are provided via $wsCheckout.problems.* and can be fully controlled via the show*BeforeSubmit parameters.
  • Errors that the server reports back (e.g. after clicking “Buy”):
    Here the settings of the show*BeforeSubmit parameters only apply in part. For customer data and draft addresses, $wsCheckout.problems.* is not available, so server errors are filtered there via the show*BeforeSubmit parameters instead. In all other areas of the checkout (e.g. for the payment method), server errors are always displayed immediately, regardless of the configuration.