AI agents: the content index is at /llms.txt. Every page is also available as Markdown — send the request header Accept: text/markdown, or append .md to the page URL.
Xperience Docs

Cookie consent

We use necessary cookies (opens in a new tab) to run our website and improve your experience while browsing. Additional cookies are only used with your consent. You may revoke your consent on the Cookies Policy (opens in a new tab) page or in your browser at any time.

Configure (opens in a new tab)
  • Documentation
    InstallationUsing the Xperience interfaceDeveloping websitesConfiguring XperienceManaging usersSecuring websitesDeploying websitesManaging website contentMultilingual websitesMacro expressionsExternal utilitiesIntegrating 3rd party systemsCustom developmentE-commerce featuresOn-line marketing featuresRelease notes - Xperience 13Xperience terminology glossary
  • Tutorial
    Using the Xperience interfaceDeveloper tutorialBusiness tutorialResource hub for marketers
  • API Examples
    ConfigurationContent managementDevelopmentE-commerceOn-line marketingSocial media
  1. Home
  2. E-commerce features
  3. Customizing on-line stores
  4. Shipping-related customizing

Shipping-related customizing


Was this page helpful?

Send us feedback Go back to top
  • Community Questions & Answers (opens in a new tab)
  • Contact support (opens in a new tab)

To customize the shipping functionality of the Xperience E-commerce Solution, use the following approach

  1. Implement a custom shipping carrier provider.
  2. Register the carrier in the administration interface.
  3. Create shipping options that use the services of the custom carrier.

By creating a custom shipping carrier provider, you gain full control over the shipping costs and availability of the related shipping options. For example, you can:

  • Calculate shipping costs based on variables, such as the country in the delivery address, the package weight, etc.
  • Retrieve shipping costs using the external API of a shipping company (FedEx, USPS, Australia Post, etc.).
  • Set conditions that determine exactly when shipping options are available (based on the properties of individual orders or any other variables).

If you wish to define custom discounts that apply to shipping costs, see Customizing discounts.

The E-commerce API uses the following additional interfaces to connect the functionality of shipping carrier providers with the overall shopping cart and order calculation logic (see Customizing the shopping cart calculation to learn more).

  • IDeliveryBuilder – prepares the Delivery objects required by the GetPrice and CanDeliver methods of shipping carrier providers, based on shopping cart calculation data. When registering IDeliveryBuilder implementations using the RegisterImplementation assembly attribute, set the Lifestyle property to Lifestyle.Transient.
  • IShippingPriceService – calculates the final shipping price for shopping carts or orders. The default IShippingPriceService implementation calculates the base shipping price using the IDeliveryBuilder and the shipping carrier provider of the order's shipping option, and then applies shipping discounts provided by the registered IShippingtDiscountSource.

Customization of these interfaces is not required or recommended in typical scenarios.