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​

medusa/src/services/pricing.ts:42

Properties​

__configModule__​

• Protected Optional Readonly __configModule__: Record<string, unknown>

Inherited from​

TransactionBaseService.__configModule__

Defined in​

medusa/src/interfaces/transaction-base-service.ts:14


__container__​

• Protected Readonly __container__: any

Inherited from​

TransactionBaseService.__container__

Defined in​

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


__moduleDeclaration__​

• Protected Optional Readonly __moduleDeclaration__: Record<string, unknown>

Inherited from​

TransactionBaseService.__moduleDeclaration__

Defined in​

medusa/src/interfaces/transaction-base-service.ts:15


featureFlagRouter​

• Protected Readonly featureFlagRouter: FlagRouter

Defined in​

medusa/src/services/pricing.ts:40


manager_​

• Protected manager_: EntityManager

Inherited from​

TransactionBaseService.manager_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:5


priceSelectionStrategy​

• Protected Readonly priceSelectionStrategy: IPriceSelectionStrategy

Defined in​

medusa/src/services/pricing.ts:38


productVariantService​

• Protected Readonly productVariantService: ProductVariantService

Defined in​

medusa/src/services/pricing.ts:39


regionService​

• Protected Readonly regionService: RegionService

Defined in​

medusa/src/services/pricing.ts:36


taxProviderService​

• Protected Readonly taxProviderService: TaxProviderService

Defined in​

medusa/src/services/pricing.ts:37


transactionManager_​

• Protected transactionManager_: undefined | EntityManager

Inherited from​

TransactionBaseService.transactionManager_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:6

Accessors​

activeManager_​

• Protected get activeManager_(): EntityManager

Returns​

EntityManager

Inherited from​

TransactionBaseService.activeManager_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:8

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​

medusa/src/interfaces/transaction-base-service.ts:56


calculateTaxes​

▸ calculateTaxes(variantPricing, productRates): 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​

TaxedPricing

The tax related variant prices.

Defined in​

medusa/src/services/pricing.ts:101


collectPricingContext​

▸ collectPricingContext(context): Promise<PricingContext>

Collects additional information necessary for completing the price selection.

Parameters​

NameTypeDescription
contextPriceSelectionContextthe price selection context to use

Returns​

Promise<PricingContext>

The pricing context

Defined in​

medusa/src/services/pricing.ts:65


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​

medusa/src/services/pricing.ts:419


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​

medusa/src/services/pricing.ts:437


getProductPricing_​

▸ Private getProductPricing_(data, context): Promise<Map<string, Record<string, ProductVariantPricing>>>

Parameters​

NameType
data{ productId: string ; variants: ProductVariant[] }[]
contextPricingContext

Returns​

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

Defined in​

medusa/src/services/pricing.ts:362


getProductVariantPricing​

▸ getProductVariantPricing(variant, context): Promise<ProductVariantPricing>

Gets the prices for a product variant.

Parameters​

NameTypeDescription
variantPick<ProductVariant, "id" | "product_id">
contextPriceSelectionContext | PricingContextthe price selection context to use

Returns​

Promise<ProductVariantPricing>

The product variant prices

Defined in​

medusa/src/services/pricing.ts:216


getProductVariantPricingById​

▸ getProductVariantPricingById(variantId, context): Promise<ProductVariantPricing>

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

Deprecated

Use getProductVariantsPricing instead.

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​

medusa/src/services/pricing.ts:265


getProductVariantPricing_​

▸ Private getProductVariantPricing_(data, context): Promise<Map<string, ProductVariantPricing>>

Parameters​

NameType
data{ quantity?: number ; variantId: string }[]
contextPricingContext

Returns​

Promise<Map<string, ProductVariantPricing>>

Defined in​

medusa/src/services/pricing.ts:163


getProductVariantsPricing​

▸ getProductVariantsPricing(data, context): Promise<{ [variant_id: string]: ProductVariantPricing; }>

Gets the prices for a collection of variants.

Parameters​

NameTypeDescription
data{ quantity?: number ; variantId: string }[]
contextPriceSelectionContext | PricingContextthe price selection context to use

Returns​

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

The product variant prices

Defined in​

medusa/src/services/pricing.ts:310


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​

medusa/src/services/pricing.ts:526


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​

medusa/src/services/pricing.ts:486


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​

medusa/src/services/pricing.ts:588


setVariantPrices​

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

Set additional prices on a list of product variants.

Parameters​

NameTypeDescription
variantsProductVariant[]
contextPriceSelectionContextthe price selection context to use

Returns​

Promise<PricedVariant[]>

A list of products with variants decorated with prices

Defined in​

medusa/src/services/pricing.ts:459


shouldRetryTransaction_​

▸ Protected shouldRetryTransaction_(err): boolean

Parameters​

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

Returns​

boolean

Inherited from​

TransactionBaseService.shouldRetryTransaction_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:37


withTransaction​

▸ withTransaction(transactionManager?): PricingService

Parameters​

NameType
transactionManager?EntityManager

Returns​

PricingService

Inherited from​

TransactionBaseService.withTransaction

Defined in​

medusa/src/interfaces/transaction-base-service.ts:20

Was this section helpful?