Skip to main content
Between the filled basket and the submitted order lies a series of queries. Some are required by law, for example confirming the terms and conditions. Some are voluntary additional details such as a comment from the buyer. And some only occur with certain goods, such as age verification. The tags on this page build exactly these queries. Almost all of them follow the same pattern: one tag for the field name, one for the previous value, and one or two for the error case. At the end of the page is the information that only becomes available after the order has been submitted.
  • Reference: The introduction to the prefix WS- is on Shop, page and technology
  • Reference: Payment method, shipping method and delivery date are on Payment, shipping and order completion

Confirming the terms and conditions

The template on which the checkbox is placed is defined by the parameter CheckboxPlacedOnTemplate in the AcceptTermsAndConditions section of the shop configuration. All four tags apply only on this one template. If the setting in the configuration does not match the template containing the field, it has no effect, and the order cannot be submitted.
WS-AcceptTermsAndConditions_errormessage takes the text from the parameter Conditions in the NotifyMessages-Txt section of the shop configuration. This keeps the wording in one place rather than spread across the templates.
WS-AcceptTermsAndConditions_checked also works as an area tag. Use this on the order overview to show the status again in words.

When the terms and conditions were confirmed

Both tags refer to the current session. They are permitted on all templates and typically belong in the order receipt confirmation so that the time is documented.
WS-CheckConditions belongs to an earlier, superseded form of this function. Do not use it anymore as soon as the AcceptTermsAndConditions section is used in the shop configuration. It is only listed for the sake of completeness.

Further consents

WS-CheckAddressSharing and WS-CheckTeleMarketing each generate the ready-made checkbox. You only write the tag, not the surrounding input element. You write the explanatory text next to it yourself.
Both consents must be preset as unchecked to be legally effective. The shop system complies with this. Do not build any JavaScript that checks them afterwards.

The email address for the shipping provider

Two things belong together here: the checkbox for consent and a separate input field for the address. This lets the buyer specify a different address than that of their account.
In the shop system, these two field tags exist twice, once spelled correctly and once as WS-ShareEmailWithShippingProvicer_input and WS-ShareEmailWithShippingProvicer_value with a typo in the word Provider. Use the correctly spelled version. The other one probably only exists so that older templates keep working.
All six tags apply on the order overview page.

The different delivery address

WS-DelivAddr is a pure area tag and applies when a delivery address different from the billing address is present. It applies on the order overview and on the confirmation page. The fields of the address itself belong to the prefix D-.
  • Reference: The delivery address fields are on D- (delivery address)
  • Reference: The selection between several delivery addresses is on multiple addresses

Setting an address as default

The checkbox can only make an address the default address. It cannot undo this setting. To undo it, there is D-RemoveDefaultLink. Therefore put the field in {!D-IsDefault}, otherwise the buyer sees a checkbox that does nothing for the address that is already the default.
The two tags apply on the template for managing delivery addresses in the customer account and on the template for address entry in the order process.

Several delivery addresses

WS-MultiDelivery_available applies if the shop system allows a separate delivery address per basket item or splitting an item across several addresses. Both depend on the configuration and on the products in the basket, so you cannot take them for granted in the template.

Delivery to a foreign branch

The two tags exist in the shop system but are not described in the previous documentation. _input returns the field name, _checked returns checked as a single tag and also works as an area tag. The setting affects the tax treatment of the order.

Countries with tax IDs

WS-TaxIDCountries exists in the shop system but is not described in the previous documentation. As a loop, it iterates over the configured countries; as a single tag inside the loop, it returns the country code of the current iteration; and as an area tag, it applies if any countries are configured at all.

The address and postal code assistant

Both functions must first be technically enabled. When enabling them, WEBSALE AG stores the associated address. WS-AjaxAddressHelpUrl therefore also works as an area tag, which applies when an address is stored. Put the script inside it, otherwise the finished shop contains a script with an empty address.

Age verification and Eigenhändig Plus

For goods with age restrictions, the date of birth is not enough. The shipping provider needs the ID card data in order to check it on handover.
The field names are fixed and must be written exactly like this: input_idcard_number and input_idcard_authority. There are no _input tags for them. A different name causes the input to be lost.
WS-IDCardNumber and WS-IDCardAuthority also work as area tags, which apply when a value is present. The previous documentation lists both only as single tags. With the area tag, you can distinguish between input and display without any further check.
WS-IDCardType exists in the shop system but is not described in the previous documentation. It outputs the name of the selected ID type as stored in the EigenhaendigPlus section of the shop configuration, and also works as an area tag. For output on the confirmation page, this is the right approach, because WS-IDCardTypeList would generate an unwanted selection list there.
WS-IDCardTypeList generates the selection list itself and gives it the class select_idcard_type_list. You style the list in your stylesheet via this class.

The error cases

For every _error there is an _errormessage with the matching text. The collective error WS-EigenhaendigPlus_errormessage takes its text from the parameter HeadNotify-Txt in the EigenhaendigPlus section of the shop configuration.
Place the collective error at the top above the block and the individual errors next to their respective field. The buyer then immediately sees that something is missing and at the same time finds the spot.
The previous documentation describes the _errormessage tags as areas that are displayed. However, they output the message text. The area tag additionally applies when a message is present, as in the example above.
The examples on the pages for WS-IDCardNumber and WS-IDCardAuthority use ~FORM-AddrManage~ as the form address, even though they name the order overview as the template. There the form is called FORM-PlaceOrder, as in the example for WS-IDCardTypeList. The consistent version is shown above.

Age-restricted products

Both tags exist in the shop system but are not described in the previous documentation. WS-AgeRestricted outputs the age level stored in the customer account and applies as an area tag when one is present. WS-AgeRestrictedProductList generates a ready-made list of the affected products in the basket.

Free-text input from the buyer

Three fields take text that the buyer writes themselves. They differ in length and purpose.
The pattern of positive and negative area tags is the normal case here: as long as nothing has been entered, the template shows the input field. As soon as something has been entered, it shows the value. This lets the input page and the overview page get by with the same building block.
WS-OrderRefText and WS-OrderRefText2 have no _input tags of their own. The field names are fixed and must be exactly input_order_ref_text and input_order_ref_text2. WS-CustomerComment and WS-OrderSpecialInput, on the other hand, do have an _input tag. This irregularity is the most common source of errors in this section.
WS-CustomerComment applies on the payment and shipping method page, on the address page, on the order overview and on the order receipt confirmation. The reference texts and the additional information apply on all templates of the order process.
32000 characters is a lot. Limit the field in the template via maxlength to a size that suits your process, otherwise an entire essay may end up in the ERP system.
WS-OrderOptions() displays a paid additional service on the payment and shipping method page, for example gift wrapping. The argument is the number of the service from 1 to 5. The services themselves are in the sections OrderOptions1 to OrderOptions5 of the shop configuration.
The previous page for this tag contains neither a type specification nor a list of permitted templates. According to the description, it is a single tag on the payment and shipping method page.

Express checkout and the billing address

If the buyer comes via an express checkout, the payment service provider already supplies a delivery address. The question then is whether it should also serve as the billing address.
In the example on the previous page for WS-PPCExpressUseDeliveryAddressForBilling_checked, the end of the negative area tag is written as {/!WS-WS-PPCExpressUseDeliveryAddressForBilling_checked}, that is, with a double WS-. If copied, the area tag would remain open. The corrected version is shown above.
The two families belong to different integrations. WS-PPCExpress… applies within {ST-PPCExpress_selected}, WS-PayPalExpress… within {ST-PayPalExpressCheckout_selected}. Do not confuse them, and do not write both into the same area tag.
In the example, the billing address fields are in a FastInclude. This is worthwhile because the same block is also needed in the regular order process.

The locked session

During a payment process, the shop system locks the session so that the buyer does not keep clicking in a second window. WS-UnlockSessionOnlineClearingLink gives them a way out: the link starts a new session and takes over the basket, all entries and, if applicable, the login.
The tag only applies within the notification message SessionLockedForOnlineClearing in the NotifyMessages-Txt section and on the notification template of the same name from the Templates section. It belongs in both places, because otherwise a buyer whose payment process was aborted is stuck in a locked session.

After the order

WS-OrderDownloadLink works as an area tag, which applies when at least one download product was included in this order. Without the area tag, the link would also appear on the page for an order without downloads.
The example on the previous page for WS-OrderDownloadLink writes <a href="~WS-OrderDownloadLink~> without a closing quotation mark. The corrected version is shown above.
WS-OrderID, WS-OrderDate and WS-OrderTime apply on the order receipt confirmation, in the order receipt email to the shop operator, on the PDF confirmation and in the rating reminder.

Not to be confused: the shop update

WS-UpdateDate and WS-UpdateTime have nothing to do with the order. They output the time of the last shop update, that is, when product data was last imported. The similarity of the name to WS-OrderDate regularly leads people astray. Both tags are permitted on all templates and typically belong in the footer.

The tags at a glance

The terms and conditions tags apply only on the template named for them in the shop configuration. The Eigenhändig Plus tags and the express checkout fields apply on the order overview, WS-UnlockSessionOnlineClearingLink only in the associated notification message and on its template. The order details apply on the confirmation and email templates. All other tags are permitted on all templates of the order process, and WS-ConditionsAccepted_*, WS-MultiDelivery_available, WS-UpdateDate and WS-UpdateTime on all templates.
  • Guide: Accepting the terms and conditions
  • Guide: Requesting a different delivery address
  • Guide: Shipping with Eigenhändig Plus
  • Guide: Requesting further information about the order
  • Reference: D- (delivery address)
  • Reference: multiple addresses