Skip to main content

Class: TaxProviderService

Finds tax providers and assists in tax related operations.

Hierarchy​

  • TransactionBaseService

    ↳ TaxProviderService

Constructors​

constructor​

• new TaxProviderService(container)

Parameters​

NameType
containerAwilixContainer<any>

Overrides​

TransactionBaseService.constructor

Defined in​

medusa/src/services/tax-provider.ts:45

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


cacheService_​

• Protected Readonly cacheService_: ICacheService

Defined in​

medusa/src/services/tax-provider.ts:38


container_​

• Protected Readonly container_: AwilixContainer<any>

Defined in​

medusa/src/services/tax-provider.ts:37


eventBus_​

• Protected Readonly eventBus_: IEventBusService

Defined in​

medusa/src/services/tax-provider.ts:43


manager_​

• Protected manager_: EntityManager

Inherited from​

TransactionBaseService.manager_

Defined in​

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


smTaxLineRepo_​

• Protected Readonly smTaxLineRepo_: Repository<ShippingMethodTaxLine> & { deleteForCart: (cartId: string) => Promise<void> ; upsertLines: (lines: ShippingMethodTaxLine[]) => Promise<ShippingMethodTaxLine[]> }

Defined in​

medusa/src/services/tax-provider.ts:41


taxLineRepo_​

• Protected Readonly taxLineRepo_: Repository<LineItemTaxLine> & { deleteForCart: (cartId: string) => Promise<void> ; upsertLines: (lines: LineItemTaxLine[]) => Promise<LineItemTaxLine[]> }

Defined in​

medusa/src/services/tax-provider.ts:40


taxProviderRepo_​

• Protected Readonly taxProviderRepo_: Repository<TaxProvider>

Defined in​

medusa/src/services/tax-provider.ts:42


taxRateService_​

• Protected Readonly taxRateService_: TaxRateService

Defined in​

medusa/src/services/tax-provider.ts:39


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


clearLineItemsTaxLines​

▸ clearLineItemsTaxLines(itemIds): Promise<void>

Parameters​

NameType
itemIdsstring[]

Returns​

Promise<void>

Defined in​

medusa/src/services/tax-provider.ts:89


clearTaxLines​

▸ clearTaxLines(cartId): Promise<void>

Parameters​

NameType
cartIdstring

Returns​

Promise<void>

Defined in​

medusa/src/services/tax-provider.ts:97


createShippingTaxLines​

▸ createShippingTaxLines(shippingMethod, calculationContext): Promise<(ShippingMethodTaxLine | LineItemTaxLine)[]>

Persists the tax lines relevant for a shipping method to the database. Used for return shipping methods.

Parameters​

NameTypeDescription
shippingMethodShippingMethodthe shipping method to create tax lines for
calculationContextTaxCalculationContextthe calculation context to get tax lines by

Returns​

Promise<(ShippingMethodTaxLine | LineItemTaxLine)[]>

the newly created tax lines

Defined in​

medusa/src/services/tax-provider.ts:171


createTaxLines​

▸ createTaxLines(cartOrLineItems, calculationContext): Promise<(ShippingMethodTaxLine | LineItemTaxLine)[]>

Persists the tax lines relevant for an order to the database.

Parameters​

NameTypeDescription
cartOrLineItemsCart | LineItem[]the cart or line items to create tax lines for
calculationContextTaxCalculationContextthe calculation context to get tax lines by

Returns​

Promise<(ShippingMethodTaxLine | LineItemTaxLine)[]>

the newly created tax lines

Defined in​

medusa/src/services/tax-provider.ts:117


getCacheKey​

▸ Private getCacheKey(id, regionId): string

The cache key to get cache hits by.

Parameters​

NameTypeDescription
idstringthe entity id to cache
regionIdstringthe region id to cache

Returns​

string

the cache key to use for the id set

Defined in​

medusa/src/services/tax-provider.ts:499


getRegionRatesForProduct​

▸ getRegionRatesForProduct(productIds, region): Promise<Map<string, TaxServiceRate[]>>

Gets the tax rates configured for a product. The rates are cached between calls.

Parameters​

NameTypeDescription
productIdsstring | string[]
regionRegionDetailsthe region to get configured rates for.

Returns​

Promise<Map<string, TaxServiceRate[]>>

the tax rates configured for the shipping option. A map by product id

Defined in​

medusa/src/services/tax-provider.ts:434


getRegionRatesForShipping​

▸ getRegionRatesForShipping(optionId, regionDetails): Promise<TaxServiceRate[]>

Gets the tax rates configured for a shipping option. The rates are cached between calls.

Parameters​

NameTypeDescription
optionIdstringthe option id of the shipping method.
regionDetailsRegionDetailsthe region to get configured rates for.

Returns​

Promise<TaxServiceRate[]>

the tax rates configured for the shipping option.

Defined in​

medusa/src/services/tax-provider.ts:387


getShippingTaxLines​

▸ getShippingTaxLines(shippingMethod, calculationContext): Promise<ShippingMethodTaxLine[]>

Gets the relevant tax lines for a shipping method. Note: this method doesn't persist the tax lines. Use createShippingTaxLines if you wish to persist the tax lines to the DB layer.

Parameters​

NameTypeDescription
shippingMethodShippingMethodthe shipping method to get tax lines for
calculationContextTaxCalculationContextthe calculation context to get tax lines by

Returns​

Promise<ShippingMethodTaxLine[]>

the computed tax lines

Defined in​

medusa/src/services/tax-provider.ts:192


getTaxLines​

▸ getTaxLines(lineItems, calculationContext): Promise<(ShippingMethodTaxLine | LineItemTaxLine)[]>

Gets the relevant tax lines for an order or cart. If an order is provided the order's tax lines will be returned. If a cart is provided the tax lines will be computed from the tax rules and potentially a 3rd party tax plugin. Note: this method doesn't persist the tax lines. Use createTaxLines if you wish to persist the tax lines to the DB layer.

Parameters​

NameTypeDescription
lineItemsLineItem[]the cart or order to get tax lines for
calculationContextTaxCalculationContextthe calculation context to get tax lines by

Returns​

Promise<(ShippingMethodTaxLine | LineItemTaxLine)[]>

the computed tax lines

Defined in​

medusa/src/services/tax-provider.ts:246


getTaxLinesMap​

▸ Protected getTaxLinesMap(items, calculationContext): Promise<TaxLinesMaps>

Return a map of tax lines for line items and shipping methods

Parameters​

NameType
itemsLineItem[]
calculationContextTaxCalculationContext

Returns​

Promise<TaxLinesMaps>

Defined in​

medusa/src/services/tax-provider.ts:350


list​

▸ list(): Promise<TaxProvider[]>

Returns​

Promise<TaxProvider[]>

Defined in​

medusa/src/services/tax-provider.ts:57


registerInstalledProviders​

▸ registerInstalledProviders(providers): Promise<void>

Parameters​

NameType
providersstring[]

Returns​

Promise<void>

Defined in​

medusa/src/services/tax-provider.ts:503


retrieveProvider​

▸ retrieveProvider(region): ITaxService

Retrieves the relevant tax provider for the given region.

Parameters​

NameTypeDescription
regionRegionthe region to get tax provider for.

Returns​

ITaxService

the region specific tax provider

Defined in​

medusa/src/services/tax-provider.ts:67


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?): TaxProviderService

Parameters​

NameType
transactionManager?EntityManager

Returns​

TaxProviderService

Inherited from​

TransactionBaseService.withTransaction

Defined in​

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

Was this section helpful?