Skip to main content
Skip to main content

PricingService

Allows retrieval of prices.

Constructors

constructor

**new PricingService**(«destructured»)

Parameters
__namedParametersInjectedDependenciesRequired

Properties

__configModule__Record<string, unknown>
__container__anyRequired
__moduleDeclaration__Record<string, unknown>
customerService_CustomerServiceRequired
featureFlagRouterFlagRouterRequired
manager_EntityManagerRequired
priceSelectionStrategyIPriceSelectionStrategyRequired
productVariantServiceProductVariantServiceRequired
regionServiceRegionServiceRequired
taxProviderServiceTaxProviderServiceRequired
transactionManager_undefined | EntityManagerRequired

Accessors

activeManager_

Protected activeManager_: [object Object]


pricingModuleService

Protected pricingModuleService: [object Object]


remoteQuery

Protected remoteQuery: [object Object]

Methods

atomicPhase_

Protected **atomicPhase_**<TypeParameter TResult, TypeParameter TError>(work, isolationOrErrorHandler?, maybeErrorHandlerOrDontFail?): Promise&#60;TResult&#62;

Wraps some work within a transactional block. If the service already has a transaction manager attached this will be reused, otherwise a new transaction manager is created.

Type Parameters
TResultobjectRequired
TErrorobjectRequired
Parameters
work(transactionManager: EntityManager) => Promise<TResult>Required
the transactional work to be done
isolationOrErrorHandlerIsolationLevel | (error: TError) => Promise<void | TResult>
the isolation level to be used for the work.
maybeErrorHandlerOrDontFail(error: TError) => Promise<void | TResult>
Potential error handler
Returns

Promise<TResult>

PromisePromise<TResult>Required
the result of the transactional work

calculateTaxes

**calculateTaxes**(variantPricing, productRates): [TaxedPricing](/references/services/types/TaxedPricing)

Gets the prices for a product variant

Parameters
variantPricingProductVariantPricingRequired
the prices retrieved from a variant
productRatesTaxServiceRate[]Required
the tax rates that the product has applied
Returns

TaxedPricing

TaxedPricingobjectRequired
Pricing fields related to taxes.

collectPricingContext

**collectPricingContext**(context): Promise&#60;[PricingContext](/references/services/types/PricingContext-1)&#62;

Collects additional information necessary for completing the price selection.

Parameters
contextPriceSelectionContextRequired
the price selection context to use
Returns

Promise<PricingContext>

PromisePromise<PricingContext>Required
The pricing context

getPricingModuleVariantMoneyAmounts

Private **getPricingModuleVariantMoneyAmounts**(variantIds): Promise&#60;Map&#60;string, [MoneyAmount](/references/services/classes/MoneyAmount)[]&#62;&#62;

Parameters
variantIdsstring[]Required
Returns

Promise<Map<string, MoneyAmount[]>>

PromisePromise<Map<string, MoneyAmount[]>>Required

getProductPricing

**getProductPricing**(product, context): Promise&#60;Record&#60;string, [ProductVariantPricing](/references/services/types/ProductVariantPricing)&#62;&#62;

Gets all the variant prices for a product. All the product's variants will be fetched.

Parameters
productPick<Product, "id" | "variants">Required
the product to get pricing for.
contextPriceSelectionContextRequired
the price selection context to use
Returns

Promise<Record<string, ProductVariantPricing>>

PromisePromise<Record<string, ProductVariantPricing>>Required
A map of variant ids to their corresponding prices

getProductPricingById

**getProductPricingById**(productId, context): Promise&#60;Record&#60;string, [ProductVariantPricing](/references/services/types/ProductVariantPricing)&#62;&#62;

Gets all the variant prices for a product by the product id

Parameters
productIdstringRequired
the id of the product to get prices for
contextPriceSelectionContextRequired
the price selection context to use
Returns

Promise<Record<string, ProductVariantPricing>>

PromisePromise<Record<string, ProductVariantPricing>>Required
A map of variant ids to their corresponding prices

getProductPricing_

Private **getProductPricing_**(data, context): Promise&#60;Map&#60;string, Record&#60;string, [ProductVariantPricing](/references/services/types/ProductVariantPricing)&#62;&#62;&#62;

Parameters
data{ productId: string ; variants: [ProductVariant](/references/services/classes/ProductVariant)[] }[]Required
contextPricingContextRequired
Returns

Promise<Map<string, Record<string, ProductVariantPricing>>>

PromisePromise<Map<string, Record<string, ProductVariantPricing>>>Required

getProductVariantPricing

**getProductVariantPricing**(variant, context): Promise&#60;[ProductVariantPricing](/references/services/types/ProductVariantPricing)&#62;

Gets the prices for a product variant.

Parameters
variantPick<ProductVariant, "id" | "product_id">Required
the price selection context to use
Returns

Promise<ProductVariantPricing>

PromisePromise<ProductVariantPricing>Required
The product variant prices

getProductVariantPricingById

**getProductVariantPricingById**(variantId, context): Promise&#60;[ProductVariantPricing](/references/services/types/ProductVariantPricing)&#62;

Gets the prices for a product variant by a variant id.

Parameters
variantIdstringRequired
the id of the variant to get prices for
the price selection context to use
Returns

Promise<ProductVariantPricing>

PromisePromise<ProductVariantPricing>Required
The product variant prices

Deprecated

Use getProductVariantsPricing instead.


getProductVariantPricingModulePricing_

Private **getProductVariantPricingModulePricing_**(variantPriceData, context): Promise&#60;Map&#60;any, any&#62;&#62;

Parameters
variantPriceData{ quantity?: number ; variantId: string }[]Required
contextPricingContextRequired
Returns

Promise<Map<any, any>>

PromisePromise<Map<any, any>>Required

getProductVariantPricing_

Private **getProductVariantPricing_**(data, context): Promise&#60;Map&#60;string, [ProductVariantPricing](/references/services/types/ProductVariantPricing)&#62;&#62;

Parameters
data{ quantity?: number ; variantId: string }[]Required
contextPricingContextRequired
Returns

Promise<Map<string, ProductVariantPricing>>

PromisePromise<Map<string, ProductVariantPricing>>Required

getProductVariantsPricing

**getProductVariantsPricing**(data, context): Promise&#60;&#123; [variant_id: string]: [ProductVariantPricing](/references/services/types/ProductVariantPricing); &#125;&#62;

Gets the prices for a collection of variants.

Parameters
data{ quantity?: number ; variantId: string }[]Required
the price selection context to use
Returns

Promise<{ [variant_id: string]: ProductVariantPricing; }>

PromisePromise<{ [variant_id: string]: ProductVariantPricing; }>Required
The product variant prices

getShippingOptionPricing

**getShippingOptionPricing**(shippingOption, context): Promise&#60;[PricedShippingOption](/references/services/types/PricedShippingOption)&#62;

Gets the prices for a shipping option.

Parameters
shippingOptionShippingOptionRequired
the shipping option to get prices for
the price selection context to use
Returns

Promise<PricedShippingOption>

PromisePromise<PricedShippingOption>Required
The shipping option prices

setAdminProductPricing

**setAdminProductPricing**(products): Promise&#60;([Product](/references/services/classes/Product) \| [PricedProduct](/references/services/types/PricedProduct))[]&#62;

Parameters
productsProduct[]Required
Returns

Promise<(Product | PricedProduct)[]>

PromisePromise<(Product | PricedProduct)[]>Required

setAdminVariantPricing

**setAdminVariantPricing**(variants, context?): Promise&#60;[PricedVariant](/references/services/types/PricedVariant)[]&#62;

Parameters
variantsProductVariant[]Required
contextPriceSelectionContextRequired

Default: {}

Returns

Promise<PricedVariant[]>

PromisePromise<PricedVariant[]>Required

setProductPrices

**setProductPrices**(products, context?): Promise&#60;([Product](/references/services/classes/Product) \| [PricedProduct](/references/services/types/PricedProduct))[]&#62;

Set additional prices on a list of products.

Parameters
productsProduct[]Required
list of products on which to set additional prices
contextPriceSelectionContextRequired
the price selection context to use

Default: {}

Returns

Promise<(Product | PricedProduct)[]>

PromisePromise<(Product | PricedProduct)[]>Required
A list of products with variants decorated with prices

setShippingOptionPrices

**setShippingOptionPrices**(shippingOptions, context?): Promise&#60;[PricedShippingOption](/references/services/types/PricedShippingOption)[]&#62;

Set additional prices on a list of shipping options.

Parameters
shippingOptionsShippingOption[]Required
list of shipping options on which to set additional prices
contextOmit<PriceSelectionContext, "region_id">Required
the price selection context to use

Default: {}

Returns

Promise<PricedShippingOption[]>

PromisePromise<PricedShippingOption[]>Required
A list of shipping options with prices

setVariantPrices

**setVariantPrices**(variants, context?): Promise&#60;[PricedVariant](/references/services/types/PricedVariant)[]&#62;

Set additional prices on a list of product variants.

Parameters
variantsProductVariant[]Required
contextPriceSelectionContextRequired
the price selection context to use

Default: {}

Returns

Promise<PricedVariant[]>

PromisePromise<PricedVariant[]>Required
A list of products with variants decorated with prices

shouldRetryTransaction_

Protected **shouldRetryTransaction_**(err): boolean

Parameters
errRecord<string, unknown> | { code: string }Required
Returns

boolean

booleanboolean

withTransaction

**withTransaction**(transactionManager?): [PricingService](/references/services/classes/PricingService)

Parameters
transactionManagerEntityManager
Returns

PricingService

PricingServicePricingServiceRequired
Was this section helpful?