Skip to main content

Class: PricingService

Allows retrieval of prices.

Hierarchy

  • TransactionBaseService

    PricingService

Constructors

constructor

new PricingService(__namedParameters)

Parameters

NameType
__namedParametersInjectedDependencies

Overrides

TransactionBaseService.constructor

Defined in

packages/medusa/src/services/pricing.ts:45

Properties

__configModule__

Protected Optional Readonly __configModule__: Record<string, unknown>

Inherited from

TransactionBaseService.__configModule__

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:10


__container__

Protected Readonly __container__: any

Inherited from

TransactionBaseService.__container__

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:9


featureFlagRouter

Protected Readonly featureFlagRouter: FlagRouter

Defined in

packages/medusa/src/services/pricing.ts:43


manager_

Protected manager_: EntityManager

Overrides

TransactionBaseService.manager_

Defined in

packages/medusa/src/services/pricing.ts:37


priceSelectionStrategy

Protected Readonly priceSelectionStrategy: IPriceSelectionStrategy

Defined in

packages/medusa/src/services/pricing.ts:41


productVariantService

Protected Readonly productVariantService: ProductVariantService

Defined in

packages/medusa/src/services/pricing.ts:42


regionService

Protected Readonly regionService: RegionService

Defined in

packages/medusa/src/services/pricing.ts:39


taxProviderService

Protected Readonly taxProviderService: TaxProviderService

Defined in

packages/medusa/src/services/pricing.ts:40


transactionManager_

Protected transactionManager_: undefined | EntityManager

Overrides

TransactionBaseService.transactionManager_

Defined in

packages/medusa/src/services/pricing.ts:38

Methods

atomicPhase_

Protected atomicPhase_<TResult, TError>(work, isolationOrErrorHandler?, maybeErrorHandlerOrDontFail?): Promise<TResult>

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

Name
TResult
TError

Parameters

NameTypeDescription
work(transactionManager: EntityManager) => Promise<TResult>the transactional work to be done
isolationOrErrorHandler?IsolationLevel | (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>

the result of the transactional work

Inherited from

TransactionBaseService.atomicPhase_

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:50


calculateTaxes

calculateTaxes(variantPricing, productRates): Promise<TaxedPricing>

Gets the prices for a product variant

Parameters

NameTypeDescription
variantPricingProductVariantPricingthe prices retrieved from a variant
productRatesTaxServiceRate[]the tax rates that the product has applied

Returns

Promise<TaxedPricing>

The tax related variant prices.

Defined in

packages/medusa/src/services/pricing.ts:105


collectPricingContext

collectPricingContext(context): Promise<PricingContext>

Collects additional information neccessary for completing the price selection.

Parameters

NameTypeDescription
contextPriceSelectionContextthe price selection context to use

Returns

Promise<PricingContext>

The pricing context

Defined in

packages/medusa/src/services/pricing.ts:70


getProductPricing

getProductPricing(product, context): Promise<Record<string, ProductVariantPricing>>

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

Parameters

NameTypeDescription
productPick<Product, "id" | "variants">the product to get pricing for.
contextPriceSelectionContextthe price selection context to use

Returns

Promise<Record<string, ProductVariantPricing>>

A map of variant ids to their corresponding prices

Defined in

packages/medusa/src/services/pricing.ts:324


getProductPricingById

getProductPricingById(productId, context): Promise<Record<string, ProductVariantPricing>>

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

Parameters

NameTypeDescription
productIdstringthe id of the product to get prices for
contextPriceSelectionContextthe price selection context to use

Returns

Promise<Record<string, ProductVariantPricing>>

A map of variant ids to their corresponding prices

Defined in

packages/medusa/src/services/pricing.ts:342


getProductPricing_

Private getProductPricing_(productId, variants, context): Promise<Record<string, ProductVariantPricing>>

Parameters

NameType
productIdstring
variantsProductVariant[]
contextPricingContext

Returns

Promise<Record<string, ProductVariantPricing>>

Defined in

packages/medusa/src/services/pricing.ts:286


getProductVariantPricing

getProductVariantPricing(variant, context): Promise<ProductVariantPricing>

Gets the prices for a product variant.

Parameters

NameTypeDescription
variantPick<ProductVariant, "id" | "product_id">the id of the variant to get prices for
contextPriceSelectionContext | PricingContextthe price selection context to use

Returns

Promise<ProductVariantPricing>

The product variant prices

Defined in

packages/medusa/src/services/pricing.ts:214


getProductVariantPricingById

getProductVariantPricingById(variantId, context): Promise<ProductVariantPricing>

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

Parameters

NameTypeDescription
variantIdstringthe id of the variant to get prices for
contextPriceSelectionContext | PricingContextthe price selection context to use

Returns

Promise<ProductVariantPricing>

The product variant prices

Defined in

packages/medusa/src/services/pricing.ts:252


getProductVariantPricing_

Private getProductVariantPricing_(variantId, taxRates, context): Promise<ProductVariantPricing>

Parameters

NameType
variantIdstring
taxRatesTaxServiceRate[]
contextPricingContext

Returns

Promise<ProductVariantPricing>

Defined in

packages/medusa/src/services/pricing.ts:167


getShippingOptionPricing

getShippingOptionPricing(shippingOption, context): Promise<PricedShippingOption>

Gets the prices for a shipping option.

Parameters

NameTypeDescription
shippingOptionShippingOptionthe shipping option to get prices for
contextPriceSelectionContext | PricingContextthe price selection context to use

Returns

Promise<PricedShippingOption>

The shipping option prices

Defined in

packages/medusa/src/services/pricing.ts:428


setProductPrices

setProductPrices(products, context?): Promise<(Product | PricedProduct)[]>

Set additional prices on a list of products.

Parameters

NameTypeDescription
productsProduct[]list of products on which to set additional prices
contextPriceSelectionContextthe price selection context to use

Returns

Promise<(Product | PricedProduct)[]>

A list of products with variants decorated with prices

Defined in

packages/medusa/src/services/pricing.ts:385


setShippingOptionPrices

setShippingOptionPrices(shippingOptions, context?): Promise<PricedShippingOption[]>

Set additional prices on a list of shipping options.

Parameters

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

Returns

Promise<PricedShippingOption[]>

A list of shipping options with prices

Defined in

packages/medusa/src/services/pricing.ts:490


setVariantPrices

setVariantPrices(variants, context): Promise<PricedVariant[]>

Set additional prices on a list of product variants.

Parameters

NameTypeDescription
variantsProductVariant[]list of variants on which to set additional prices
contextPriceSelectionContextthe price selection context to use

Returns

Promise<PricedVariant[]>

A list of products with variants decorated with prices

Defined in

packages/medusa/src/services/pricing.ts:360


shouldRetryTransaction_

Protected shouldRetryTransaction_(err): boolean

Parameters

NameType
errRecord<string, unknown> | { code: string }

Returns

boolean

Inherited from

TransactionBaseService.shouldRetryTransaction_

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:31


withTransaction

withTransaction(transactionManager?): PricingService

Parameters

NameType
transactionManager?EntityManager

Returns

PricingService

Inherited from

TransactionBaseService.withTransaction

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:13