Checkout

Configuration

The here described configurations are displayed in the checkout step 3.

  • Display shop cancellation policy: Shows the snippet ConfirmTextRightOfRevocationNew with the notice regarding the cancellation policy.
  • Display newsletter registration: You can optionally display a checkbox in the checkout where your customers can subscribe to your newsletter. Note, that this checkbox will only appear, if the customer is currently not subscribed. The shown snippet is: ConfirmLabelNewsletter
  • Display bank detail notice: Optionally you can display the snippet ConfirmInfoPaymentData with the notice regarding your bank account.
  • Display further notices: Optional: This shows the snippet ConfirmTextOrderDefault for your own purposes.
  • Display further options: Optional: Adds the possibility to add items, voucher & comments in the checkout.
  • Display "free with purchase" items: Optionally you can display premium items in the checkout too, by default they were displayed only in the cart.
  • Display country descriptions: This shows the individual country description. Doing this, you can e.g. notice your customer about taxes or additional charges. This notice will appear directly near the the sum above the "send order"-button. The text can be configured in "Configuration > Basic settings > Shop settings > Countries". An example for additional charge at using cash on delivery: 

{if $sUserData.additional.payment.name eq "cash"} plus 2,00 $ C.O.D. fee {/if}  
  • Display information for net orders: Optionally you can display a notice, if your customer orders net.
  • Display item details in modal box: If active, clicking an item in the checkout will open a modalbox, otherwise Shopware routes the user away from the checkout into the items detail page.
  • Send order mail: This defines, whether Shopware will send your customer an order confirmation mail (sORDER) or not. Deactivating may useful if your connected commodities management will send these mails.
  • Show checkbox for the right of revocations for ESD products: Shows a checkbox for the rights of revocations, which the user must accept to buy.
  • Product free text field for service products: This configures the free text field, which is used for service items. If Shopware finds any item in the cart with a value in this field, it shows a checkbox, which the user must accept to buy.
  • Always select payment method in checkout: This will guide every customer through the payment methods step in the checkout, even existing customers.
  • Display voucher field on checkout page: Defines if the voucher field is displayed. Here it can be stated whether it is completely hidden or if it is displayed collapsed or expanded by default.
  • Template for essential characteristics:
    • Default template: If the quantity specifications for a product have been defined, these are displayed including the basic price.

{if $sBasketItem.purchaseunit && $sBasketItem.purchaseunit != 0}
   <span class="price--label label--purchase-unit is--bold is--nowrap">
      Content:
   </span>
   <span class="is--nowrap">
      {$sBasketItem.purchaseunit|floatval} {$sBasketItem.additional_details.sUnit.description}
   </span>
{/if}
{if $sBasketItem.purchaseunit && $sBasketItem.additional_details.referenceunit && $sBasketItem.purchaseunit != $sBasketItem.additional_details.referenceunit}
   <span class="is--nowrap">
      ({$sBasketItem.additional_details.referenceprice|currency} * / {$sBasketItem.additional_details.referenceunit} {$sBasketItem.additional_details.sUnit.description})
   </span>
{/if}
  • Display essential characteristics throughout the checkout process:
    Enables the information included through the "template for essential characteristics" on all pages of the checkout (off-canvas, checkout/cart, checkout/confirm). With the above example template you can display the basic prices for the entire checkout.

Please check whether all legally relevant information for you is stored, otherwise adapt the template accordingly.

Tips & tricks

Remove the check of the general terms

The check of the general terms and conditions can be deactivated if you want to. For this you have to change the option Deactivate AGB terms checkbox on checkout page: to Yes at Configuration > Basic settings > Additional settings > Privacy. 

This will remove the AGB-Box at the last checkout page.

The customer now could finish the checkout without confirmation of the general terms and conditions.

Enable inquiry option in the cart

In the basic settings you can define for which amount the customer gets the option to request an individual inquiry for the products in the cart.

For this you have to change the option Minimum shopping cart value for offering individual requests: to the amount you want at Configuration > Basic settings > Frontend > Shopping cart / item details.

The frontend will now display this additional button Request offer (1) in the cart. To change the text of the button you can change the snipppet CheckoutActionsLinkOffer at Configuration > Snippets.

Output variables

You can output your variables by pasting the following code in the template for essential characteristics. The example will restrict the output by IP:


{if $smarty.server.REMOTE_ADDR == 'xxx.xxx.xxx.xxx'} {$sBasketItem|print_r} {/if}  

After clearing the cache all variables will output in the frontend. With this information you see directly which item data are available. This will look similar to this:


Array ( 
[id] => 670 
[sessionID] => 702r4gndiokp62a6g3g5foed82 
[userID] => 3 
[articlename] => Münsterländer Aperitif 16% 
[articleID] => 3 
[ordernumber] => SW10003 
[shippingfree] => 0 
[quantity] => 1 
[price] => 14,95 
[netprice] => 12.563025210084 
[tax_rate] => 19 
[datum] => 2015-06-15 08:40:48 
[modus] => 0 
[esdarticle] => 0 
[partnerID] => 
[lastviewport] => checkout 
[useragent] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0 
[config] => 
[currencyFactor] => 1 
[packunit] => Flasche(n) 
[mainDetailId] => 3 
[articleDetailId] => 3 
[minpurchase] => 1 
[taxID] => 1 
[instock] => 25 
[suppliernumber] => 
[maxpurchase] => 100 
[purchasesteps] => 1 
[purchaseunit] => 0.7000 
[unitID] => 1 
[laststock] => 0 
[shippingtime] => 
[releasedate] => 
[sReleaseDate] => 
[ean] => 
[stockmin] => 0 
[ob_attr1] => 
[ob_attr2] => 
[ob_attr3] => 
[ob_attr4] => 
[ob_attr5] => 
[ob_attr6] => 
..... 

Stock during an order

As soon as the customer tries to add an item to the shopping cart, Shopware checks whether the desired quantity of this item is available. At this point, however, no stock is reserved or deducted. As soon as the checkout has been completed, the actual comparison takes place. It is now checked again whether the stock is sufficient for the ordered quantity. If this is the case, the checkout is carried out and the ordered quantity is deducted from the stock.

Implementation of consumer law (CRD)

Under Configuration > Basic Settings > Frontend > Checkout you will find the two configurations:

  • Show checkbox for right of returns for ESD articles
  • Product free text field for service products

If the option for ESD items is set and an ESD item is purchased, a corresponding checkbox with a note on the expiring right of returns is displayed in the checkout.

An attribute must be specified for the service item, which should then be treated as a boolean value (checkbox). If a value is found in an item in the shopping basket, another checkbox is displayed in the checkout regarding the expiring right of cancellation.

Further information in Englisch:

Further information in German

So go through all the points and processes in detail so that you have implemented the legal and technical requirements. These include, for example:

  • Adaptation of the cancellation and returns policy (check for exceptions, e.g. ESD articles) + GTC (mandatory information), if applicable.
  • Removal of the standard "returns" form (if available)
  • Inclusion / linking of a cancellation/retruns form
  • Definition of a payment type/means for refunds
  • Further information can be found in detail in the above-mentioned sources.

Customise the snippet the checkout page

If you are affected by this change, you can add these queries using the ConfirmTextRightOfRevocationNew snippet on the order completion page.

Modified cancellation policy for certain shipping and payment methods or articles

can adapt the snippet ConfirmTextRightOfRevocationNew in the snippet administration in the backend for the order completion page. In this snippet, a valid link to the sample cancellation/returns form in PDF form must be stored.

Smarty queries can be used here to store individual return instructions in the snippet ConfirmTextRightOfRevocationNew (1). Below are a few practical examples. Copy the desired Smarty code directly into the field Value (2) and then click on Update (3). As soon as you have cleared the cache, the Smarty query appears on the order completion page.

Special cancellation policy for a payment method

In this example, the name of the payment method Prepayment is requested:


{if $sUserData.additional.payment.description == "Prepayment"}
  Deviating <a href="http://myshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a> for the payment method prepayment.
{else}
  Normal <a href="http://myshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a>
{/if}

If you use a language subshop, you must use the ID of the payment method instead of the name. This is displayed in the details of the payment method (1).

In this example, a different cancellation policy is requested for the payment type with ID 4 (invoice):


{id $sUserData.additional.payment.id == "4"}
  Deviating <a href="http://myshopwareshop.co.uk/cp_payment" data-modal-height="500" data-modal-width="800">Cancellation policy</a> for payment type ID 4 (invoice)
{else}
  Normal <a href="http://myshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a>
{/if}

Special cancellation policy for a  dispatch type

With this query, a different cancellation instruction appears if the name of the dispatch type is pallet_shipping:


{if $sDispatch.name == "pallet_shipping"}
 <p>Deviating <a href="http://myshopwareshop.co.uk/dispatch" data-modal-height="500" data-modal-width="800">Cancellation policy</a> for the dispatch type pallet shipping.</p>
{else} 
 <p>Normal <a href="http://myshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a>.</p>
{/if}

If you use language subshops, you must query the ID of the dispatch type instead of the name.
You will find this ID in the database table s_premium_dispatch (1) in the column id (2).

In this example, the dispatch type with the ID 9 is queried:


{if $sDispatch.id == "9"}
  <p>Deviating <a href="http://myshopwareshop.co.uk/cp-dispatch" data-modal-height="500" data-modal-width="800">Cancellation policy</a> for the dispatch type with the ID 9.</p>
{else} 
  <p>Normal <a href="http://myshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a>.</p>
{/if}

Special cancellation policy for an ESD article

This query throws up a different cancellation policy as soon as an ESD item is in the shopping basket:


{$esd = false}
{foreach $sBasket.content as $basketItem}
  {if $basketItem.esdarticle}{$esd = true}{/if}
{/foreach}
 
{if $esd}
  <p>Deviating <a href="http://myshopwareshop.co.uk/cp-esd" data-modal-height="500" data-modal-width="800">Cancellation policy</a> for ESD article.</p>
{else}
  <p>Normal <a href="http://myshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a>.</p>
{/if}

Special cancellation policy for a subscription article

You can use this query to display a different cancellation policy as soon as an subscription item is in the shopping basket.


{$aboCommerce = false}
{foreach $sBasket.content as $basketItem}
  {if $basketItem.aboCommerce}{$aboCommerce = true}{/if}
{/foreach}
 
{if $aboCommerce}
   <p>Deviating <a href="http://myshopwareshop.co.uk/cp-sub" data-modal-height="500" data-modal-width="800">Cancellation policy</a> for subscriptions.</p>
{else}
   <p>Normal <a href="http://myshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a>.</p>
{/if}

Special cancellation policy for an article which has a free text field set

This query displays a different cancellation policy as soon as there is an item in the shopping basket for which the item free text field 9 (attr9) is set.


{$attr9 = false}
{foreach $sBasket.content as $basketItem}
  {if $basketItem.additional_details.attr9}{$attr9 = true}{/if}
{/foreach}
 
{if $attr9}
    <p>Deviating <a href="http://myshopwareshop.co.uk/cp_attr9" data-modal-height="500" data-modal-width="800">Cancellation policy</a> for articles with attribute field</p>
{else}
    <p>Normal <a href="http://hmyshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a>.</p>
{/if}

Imprint

Check whether a valid telephone number is stored in your imprint and in the basic information of the shop settings.

Provide payment method without surcharge

Make sure that you offer a payment method that can be used without a surcharge. You can store the surcharges directly in the payment methods in the backend.

Product delivery times on the item detail page

For products that are not immediately available (e.g. dropshipping products), you must enter a valid delivery time in days in the item details in the backend. You can find more information on delivery times in days here.

Delivery times of the logistics partner

Enter the delivery times of the logistics partner in the description field for the individual shipping costs. You can find more information about the shipping costs here.

Provide the cancellation form on a durable medium

The cancellation form must be sent to the consumer on a durable medium after conclusion of the contract. This can be implemented in Shopware, for example, as an e-mail attachment together with the order confirmation (sORDER). You can find more information on customising the order confirmation email template here.

No overpriced premium rate numbers

Make sure that the snippet sFooterServiceHotline in the footer does not contain any expensive premium rate telephone numbers e.g. 0900. You can change the snippet in the snippets administration in the Shopware backend.

Returns form in the footer

You can easily remove the link to the return form in the footer. This is a link which you can find in the shop page administration in the backend under Contents > Shop pages > Bottom (column 1) > Return. You can find more information about the shop pages here.

Reference to additional charge for cash on delivery payment method

In the case of cash on delivery payment, an additional note must be issued regarding the additional fee demanded by the logistics company for cash on delivery. This note must appear on the checkout page under the total amount.

Was this article helpful?