Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In
GitHubNuGetDev CommunityDoc feedback


## GetCartPricing

<table class="TableStyle-Borders" style="margin-left: 0; margin-right: auto; width: 100%;" data-cellspacing="0"> <colgroup> <col style="width: 33%" /> <col style="width: 33%" /> <col style="width: 33%" /> </colgroup> <thead> <tr class="header TableStyle-Borders-Head-Header1"> <th class="TableStyle-Borders-HeadE-Regular-Header1">Order</th> <th class="TableStyle-Borders-HeadE-Regular-Header1">Pipe</th> <th class="TableStyle-Borders-HeadD-Regular-Header1">Description</th> </tr> </thead> <tbody> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">100</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">CalculateOrderLines</td> <td class="TableStyle-Borders-BodyD-Regular-Row1"><p>If the CalculateOrderLines property on the parameter object is true or the Cart LastPricingOn is null, gets all CartLines that are:</p> <ul> <li>not awaiting approval and UpdatePricingOnApproval is false</li> <li>not promotional items</li> <li>configured and not in quote proposed status</li> <li>quote required and not in quote proposed status</li> </ul> <p>Calls IPricingPipeline.GetProductPricing setting the OrderLine of the parameter to get the pricing of the CartLines.</p></td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">150</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">CalculateCartRealTimePricing</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">If 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.</td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">200</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">CalculateShipping</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">If 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.</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">300</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">CalculatePromotions</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">If the Cart Type is not Quote and the Cart Type is not Job, callsIPromotionEngine.ApplyPromotion on the Cart.</td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">400</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">CalculateTaxes</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">If 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.</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyB-Regular-Row1">500</td> <td class="TableStyle-Borders-BodyB-Regular-Row1">CalculateOrderTotal</td> <td class="TableStyle-Borders-BodyA-Regular-Row1">If 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.</td> </tr> </tbody> </table>

## 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.