Change default implementation
Describes how to update the dependency container to use your new classes in Optimizely Commerce Connect.
When working with the Optimizely Commerce Connect order system, update the dependency container to replace implementations to use your classes. See Dependency injection for information.
| Class | Description |
|---|---|
IOrderRepository | The default implementation for IOrderRepository is architected so that it does not need to be replaced to provide custom implementations for different order types. Instead, register implementations for ICartProvider, IPurchaseOrderProvider, and IPaymentPlanProvider to change the behavior of IOrderRepository. |
IOrderEvents | Listen to and act on order repository events. |
ICartProvider | Change the default implementation for loading and persisting shopping carts. |
IPurchaseOrderProvider | Change the default implementation for loading and persisting purchase orders. |
IPaymentPlanProvider | Change the default implementation for loading and persisting payment plans. |
IOrderGroupFactory | Implement the order system object abstractions. You almost certainly need to change the default implementation if you create a custom order provider that uses different objects for persistence. |
IOrderGroupBuilder | Create sub-components of an order group object abstraction. Each builder is registered to create sub-components for specified types of IOrderGroup. If you create a custom order group, you might need to create a custom order group builder as well, which is registered for the custom group type. |
IFulfillmentWarehouseProcessor | Determine a shipment's default warehouse. You need to change the default implementation if you have multiple fulfillment warehouses, because the default implementation only supports one fulfillment warehouse. |
IInventoryProcessor | Adjust inventory. You need to change the default implementation if you integrate with another system for inventory checks. |
ILineItemValidator | Determine if a line item is valid in terms of its active status and availability dates, as indicated on both the entry itself and the catalog. You need to change the default implementation if you have other criteria that determine if a line item is valid. |
IPlacedPriceProcessor | Get the currently-placed price for a line item, and update it if necessary. You need to change the default implementation if you have additional pricing rules outside of what is implemented in the configured pricing provider. |
IPaymentProcessor | Process payments on an order. You need to change the default implementation if you are not using configured payment providers to handle payments. |
ICustomerNameService | Get the customer name of the order. The default implementation returns First Name and Last Name from the payment billing address. |
Updated 9 days ago