The Checkout Manager is responsible for all aspects concerning checkout process and an one-stop API for getting through the checkout process.
But: The checkout manager is not an out-of-the-box checkout process! It is a tool and a set of components the developer can use to create a use case specific checkout process.
Starting with Pimcore 6.1 an optimized checkout manager architecture was introduced. This is parallel to the old architecture, which is deprecated now and will be removed in Pimcore 7. For details see Checkout Manager Details.
Involved Modules and their function
- Controller: Website Controller that controls the flow.
- Cart: Cart is the cart and user should be able to modify the cart all the time.
- CheckoutManager: One-Stop API for controller to manage checkout, start and handle payments and commit orders.
- OrderManager: API for working with orders - creating them, listing them, etc.
- OrderAgent: API for manipulating single order, also responsible for status management of payments within order.
- PaymentProvider: Interface to payment provider.
- CommitOrderProcessor: Worker that handles all steps to commit order after payment was successfully finished by user.