As described in the Pricing the Order section of the Order Handling chapter, during the checkout phase, an order goes through a series of pricing engines to calculate the order’s price at various stages (item-level prices, order total price, order with shipping price, order with tax price). As part of its pricing operation, each engine retrieves the locale from the appropriate price list, translates the locale into a currency code, and stores the code in the currencyCode property of the resulting price info object. Each engine generates its own class of price info object, as shown in the table below:

Pricing Engine

Price Info Class

ItemPricingEngine

atg.commerce.pricing.ItemPriceInfo

OrderPricingEngine

atg.commerce.pricing.OrderPriceInfo

ShippingPricingEngine

atg.commerce.pricing.ShippingPriceInfo

TaxPricingEngine

atg.commerce.pricing.TaxPriceInfo

All of the price info classes are subclasses of the atg.commerce.pricing.AmountInfo class, where the currencyCode property is defined. Pages that display prices for items that are part of an order (for example, the order history page) retrieve the currency from the appropriate price info object when rendering the price information.