Checkout flow
This section introduces the checkout flow, the process of buying items that were placed in the shopping cart.

The checkout flow is the process of buying the items in the shopping cart. To buy products, the customer should provide additional details, such as the delivery address, and also make the payment using a credit card or some other means of payment. Checkout flow facilitates this data collection and collects the payment.
Checkout flow has two main parts:
- User Interface: Showing order information to the end customer, collecting information, such as delivery address, and collecting the payment. This is done through the checkout flow pagetype and templates.
- Business logic: Creating deliveries and communicating with third party systems, such as ERP systems if required, and calculating delivery costs, VAT and order grand total. This is done through the pricing rules plugin.
Changing the default checkout flow
To change the user interface, simply use a different checkout flow template (edit the checkout page in the Websites area and go to the Settings tab). You can have multiple checkout flows in the same website.
This article provides an overview of the checkout flow plugin and how to customise it.
This article describes how to create your own checkout flow plugin.
This article describes how to customise how order rows are added into the order carrier in the checkout flow plugin.
This section explains how to add additional information to an order using checkout flow.
This section explains how the actual order carrier is created by the checkout flow plugin. Extend the OrderFactory if you would like to change the ExternalOrderID created.
This article describes how to change the auto generated PaymentInfo reference id. Changing the auto generated reference is most useful in ERP integration scenarios where the ERP system expects a reference id in a pre-defined format.