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:
- Active user selection in the current session — is never automatically overridden.
- Stored customer preferences of a signed-in customer (where supported).
- Merchant configuration — the
defaultsvalues defined here. - 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 “
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:dependencyGroupsare OR-linked: it is sufficient if one of the groups is completely fulfilled.dependencieswithin 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: withmatchOnce, at least one basket line item must fulfil the condition; withmatchAll, all line items in which the checked field provides a value must do so.
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 theshow*BeforeSubmitparameters. - Errors that the server reports back (e.g. after clicking “Buy”):
Here the settings of theshow*BeforeSubmitparameters only apply in part. For customer data and draft addresses,$wsCheckout.problems.*is not available, so server errors are filtered there via theshow*BeforeSubmitparameters instead. In all other areas of the checkout (e.g. for the payment method), server errors are always displayed immediately, regardless of the configuration.
