Cart and checkout is one of the main processes of the application B2C WebShop where many features are integrated. This concept gives an overview of the page flow and explains which pipelines and components are involved.
The cart and checkout flow consists of the following steps:
For every step there is a separate CMS page. Currently, the cart and checkout page are not completely componentized. Instead, a working template (ISML) is used within the cart and checkout page layout.
The page flow is implemented using view pipelines. Typically, there is one view pipeline per page. Checkout step view pipelines have at least 3 start nodes:
Additionally, there can be more start nodes dependent on the functionality of the page.
Fast checkout is a checkout flow like PayPal Express, where the address, shipping and payment step in the web shop is skipped. Instead, the customer is redirected directly from the cart to the payment provider page and the addresses stored at the payment provider are used. For details see Concept - Payment Framework
The idea behind this feature is that the customer can skip all the checkout steps where the necessary information is already provided. For example, a registered customer who has a preferred shipping and billing address and who has also specified a default payment method, jumps from the cart page directly to the review page. Of course, the customer can go back to the address, shipping or payment page to make some changes.
This feature can be enabled/disabled for an application from the channel backoffice on the Applications | <application name> | Shopping Cart & Checkout tab:
Each checkout step view pipeline ViewCheckout[Addresses|Shipping|Payment|Review]-Start in the checkout process first calls the pipeline ProcessCheckout-DefaultSettings, which sets the default addresses, shipping and payment method to the cart in case these are available and not already set.
To check if a certain checkout step is really reachable with the given data, the pipeline ProcessCheckout-AdjustJumpStep is called by every checkout step view pipeline. If it is not possible to display the requested step (e.g. shipping step is called, but address data are not provided), the checkout step will be adjusted to one of the previous steps.
There is currently no fine-grained CMS componentization used for cart and checkout pages. Instead, one working area is used which is implemented by an ISML template.
The template to be used is defined with the dictionary key WorkingTemplate
before calling the pipeline ViewPage-Start.