Create a shipping provider class
To create a custom shipping carrier provider class, you must perform the following:
- Create a class to represent the shipping carrier provider and call it SampleShippingProvider.
- Make the class public.
Define the class to use the public access specifier. - Implement the IShippingCarrierProvider interface and ShippingCalculatorBase.
Here is a sample code, outlining the steps:
By default the GetServiceRates method is called to get the shipping rates/ services that apply for the cart. In this method you can communicate with any external web service or even process the shipping rate offline (like in our sample).
The class receives a parameter of type IShippingRequest which holds most of the shipping settings data you will need to pass to your shipping provider. A few of the shipping methods also receive additional parameters with data necessary for that specific shipping type.
Every method returns an instance of a ShippingResponseContext object. After calling your shipping processor, you will need to parse the results returned from the processor and store those results in an instance of an ShippingResponseContext object which your method will return to the calling method. The ShippingResponseContext object has a list of IShippingResponse objects which are unique service responses that are usually used for First Day Air, Second Day Air, 3 Day shipping etc.