The Order Management system includes different aspects that you can use to meet your implementation needs:
- Full system API. Multiple shopping carts per customer.
- The ability to incorporate your own custom shipping and payment gateways or one of the providers included with ECF.
- The ability to add your own tax provider into the checkout process.
- Support for recurring/subscription payments.
- Manage different types of customer addresses.
- Extend the order classes to contain custom data needed for your system..
The core API for the checkout and order is located in the Mediachase.Commerce.Orders namespace.
- The primary class you will use in retrieving/updating orders is OrderContext. It is a singleton class accessed through OrderContext.Current.
- The OrderContext.Current object will provide access to most of what you will need in retrieving/updating orders. The objects returned (DTOs are much less common in the order system), will reflect the object hierarchy.
- To save data with order objects, call the AcceptChanges() method. The ability to save objects using this method is common to Order and Profile objects.
- Ancillary classes to retrieve order-related information can be found in BusinessLayer/CommerceLib/Orders/Managers.
- The metaclasses used by different objects in the order system (for instance Cart, LineItem, ShippingAddress, etc), are defined in the ecf.order.config file (both back-end and front-end).