HomeGuides
Submit Documentation FeedbackJoin Developer CommunityLog In

Pricing

This topic describes Pricing pipelines.

GetCartPricing

OrderPipeDescription
100CalculateOrderLines

If the CalculateOrderLines property on the parameter object is true or the Cart LastPricingOn is null, gets all CartLines that are:

  • not awaiting approval and UpdatePricingOnApproval is false
  • not promotional items
  • configured and not in quote proposed status
  • quote required and not in quote proposed status

Calls IPricingPipeline.GetProductPricing setting the OrderLine of the parameter to get the pricing of the CartLines.

150CalculateCartRealTimePricingIf IPricingService is RealTime and the CalculateOrderLines property on the parameter object is true, calls IRealTimePricingService.GetPricing and sets the CartLine pricing equal to the result from the call.
200CalculateShippingIf the user is signed in or a remembered user and theCalculateShipping property on the parameter object is true, callsICartPipeline.CalculateHandling andIShippingEngine.ProcessShipping on the Cart. If this changes the Cart ShipVia, it setsCart.RecalculatePromotions andCart.RecalculateTax to true.
300CalculatePromotionsIf the Cart Type is not Quote and the Cart Type is not Job, callsIPromotionEngine.ApplyPromotion on the Cart.
400CalculateTaxesIf the user is signed in or a remembered user that has set their address and theCalculateTaxes property on the parameter object is true, callsITaxEngine.CalculateTax on the Cart.
500CalculateOrderTotalIf theCalculateOrderTotal property on the parameter object is true and there are CartLines, calculates the order total and setsCart.OrderTotal and setsCart.LastPricingOn to the current date time.

GetProductPricing

OrderPipeDescription
100CalculatePriceFor eachPricingServiceParameter in the parameter, callsIPricingService.CalculatePrice and add the result to the resultProductPriceDtos collection.
150CalculateProductRealTimePricingIf IPricingService is RealTime and parameter PerformRealTimePricing is true, calls IRealTimePricingService.GetPricing and sets result ProductPriceDtos equal to the result from the call.

Did this page help you?