CartService
constructor
Parameters
__namedParametersInjectedDependenciesRequiredProperties
manager_EntityManagerRequiredtransactionManager_undefined | EntityManagerRequired__container__anyRequiredEventsobjectRequiredEvents.CUSTOMER_UPDATEDstringRequiredDefault: "cart.customer_updated"
Events.CREATEDstringRequiredDefault: "cart.created"
Events.UPDATEDstringRequiredDefault: "cart.updated"
featureFlagRouter_FlagRouterRequired__configModule__Record<string, unknown>__moduleDeclaration__Record<string, unknown>Accessors
activeManager_
Returns
EntityManagerEntityManagerRequiredMethods
withTransaction
Parameters
transactionManagerEntityManagerReturns
thisthisRequiredshouldRetryTransaction_
Parameters
errRecord<string, unknown> | objectRequiredReturns
booleanbooleanRequiredatomicPhase_
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
TResultobjectRequiredTErrorobjectRequiredParameters
work(transactionManager: EntityManager) => Promise<TResult>RequiredisolationOrErrorHandlerIsolationLevel | (error: TError) => Promise<void | TResult>maybeErrorHandlerOrDontFail(error: TError) => Promise<void | TResult>Returns
PromisePromise<TResult>Requiredlist
Parameters
Default: {}
Returns
retrieve
Gets a cart by id.
Parameters
cartIdstringRequiredDefault: {}
totalsConfigTotalsConfigRequiredDefault: {}
Returns
retrieveLegacy
Parameters
cartIdstringRequiredDefault: {}
totalsConfigTotalsConfigRequiredDefault: {}
Returns
Deprecated
retrieveWithTotals
Parameters
cartIdstringRequiredDefault: {}
totalsConfigTotalsConfigRequiredDefault: {}
Returns
create
Creates a cart.
Parameters
dataCartCreatePropsRequiredReturns
getValidatedSalesChannel
Parameters
salesChannelIdstringReturns
removeLineItem
Removes a line item from the cart.
Parameters
cartIdstringRequiredlineItemIdstring | string[]RequiredReturns
PromisePromise<void>RequiredvalidateLineItemShipping_
Checks if a given line item has a shipping method that can fulfill it. Returns true if all products in the cart can be fulfilled with the current shipping methods.
Parameters
lineItemShippingProfiledIdstringRequiredReturns
booleanbooleanRequiredvalidateLineItem
Check if line item's variant belongs to the cart's sales channel.
Parameters
sales_channel_idobjectRequiredsales_channel_id.sales_channel_idnull | stringRequiredlineItemLineItemValidateDataRequiredReturns
PromisePromise<boolean>RequiredaddLineItem
Adds a line item to the cart.
Parameters
cartIdstringRequiredconfigobjectRequiredconfig.validateSalesChannelsbooleanRequiredDefault: true
Returns
PromisePromise<void>RequiredDeprecated
Use addOrUpdateLineItems instead.
addOrUpdateLineItems
Adds or update one or multiple line items to the cart. It also update all existing items in the cart to have has_shipping to false. Finally, the adjustments will be updated.
Parameters
cartIdstringRequiredconfigobjectRequiredconfig.validateSalesChannelsbooleanRequiredDefault: true
Returns
PromisePromise<void>RequiredupdateLineItem
Updates a cart's existing line item.
Parameters
cartIdstringRequiredlineItemIdstringRequiredupdateLineItemUpdateRequiredReturns
adjustFreeShipping_
Ensures shipping total on cart is correct in regards to a potential free shipping discount If a free shipping is present, we set shipping methods price to 0 if a free shipping was present, we set shipping methods to original amount
Parameters
shouldAddbooleanRequiredReturns
PromisePromise<void>Requiredupdate
Parameters
dataCartUpdatePropsRequiredReturns
onSalesChannelChange
Remove the cart line item that does not belongs to the newly assigned sales channel
Parameters
newSalesChannelIdstringRequiredReturns
PromisePromise<void>RequiredupdateCustomerId_
Sets the customer id of a cart
Parameters
customerIdstringRequiredReturns
PromisePromise<void>RequiredcreateOrFetchGuestCustomerFromEmail_
Creates or fetches a user based on an email.
Parameters
emailstringRequiredReturns
updateBillingAddress_
Updates the cart's billing address.
Parameters
Returns
PromisePromise<void>RequiredupdateShippingAddress_
Updates the cart's shipping address.
Parameters
Returns
PromisePromise<void>RequiredapplyGiftCard_
Parameters
codestringRequiredReturns
PromisePromise<void>RequiredapplyDiscount
Updates the cart's discounts. If discount besides free shipping is already applied, this will be overwritten Throws if discount regions does not include the cart region
Parameters
discountCodestringRequiredReturns
PromisePromise<void>RequiredapplyDiscounts
Updates the cart's discounts. If discount besides free shipping is already applied, this will be overwritten Throws if discount regions does not include the cart region
Parameters
discountCodesstring[]RequiredReturns
PromisePromise<void>RequiredremoveDiscount
Removes a discount based on a discount code.
Parameters
cartIdstringRequireddiscountCodestringRequiredReturns
updatePaymentSession
Updates the currently selected payment session.
Parameters
cartIdstringRequiredupdateRecord<string, unknown>RequiredReturns
authorizePayment
Authorizes a payment for a cart. Will authorize with chosen payment provider. This will return a payment object, that we will use to update our cart payment with. Additionally, if the payment does not require more or fails, we will set the payment on the cart.
Parameters
contextRecord<string, unknown>RequiredReturns
setPaymentSession
Selects a payment session for a cart and creates a payment object in the external provider system
Parameters
cartIdstringRequiredproviderIdstringRequiredReturns
PromisePromise<void>RequiredsetPaymentSessions
Creates, updates and sets payment sessions associated with the cart. The first time the method is called payment sessions will be created for each provider. Additional calls will ensure that payment sessions have correct amounts, currencies, etc. as well as make sure to filter payment sessions that are not available for the cart's region.
Parameters
Returns
PromisePromise<void>RequireddeletePaymentSession
Removes a payment session from the cart.
Parameters
cartIdstringRequiredproviderIdstringRequiredReturns
PromisePromise<void>RequiredrefreshPaymentSession
Refreshes a payment session on a cart
Parameters
cartIdstringRequiredproviderIdstringRequiredReturns
PromisePromise<void>RequiredaddShippingMethod
Adds the shipping method to the list of shipping methods associated with the cart. Shipping Methods are the ways that an order is shipped, whereas a Shipping Option is a possible way to ship an order. Shipping Methods may also have additional details in the data field such as an id for a package shop.
Parameters
optionIdstringRequireddataRecord<string, unknown>RequiredDefault: {}
Returns
findCustomShippingOption
Finds the cart's custom shipping options based on the passed option id. throws if custom options is not empty and no shipping option corresponds to optionId
Parameters
optionIdstringRequiredReturns
updateUnitPrices_
Parameters
Returns
PromisePromise<void>RequiredsetRegion_
Set's the region of a cart.
Parameters
regionIdstringRequiredcountryCodenull | stringRequiredReturns
PromisePromise<void>Requireddelete
Deletes a cart from the database. Completed carts cannot be deleted.
Parameters
cartIdstringRequiredReturns
setMetadata
Dedicated method to set metadata for a cart. To ensure that plugins does not overwrite each others metadata fields, setMetadata is provided.
Parameters
cartIdstringRequiredkeystringRequiredvaluestring | numberRequiredReturns
createTaxLines
Parameters
Returns
PromisePromise<void>RequireddeleteTaxLines
Parameters
idstringRequiredReturns
PromisePromise<void>RequireddecorateTotals
Parameters
totalsConfigTotalsConfigRequiredDefault: {}
Returns
refreshAdjustments_
Parameters
Returns
PromisePromise<void>RequiredtransformQueryForTotals_
Parameters
Returns
decorateTotals_
Parameters
Returns
Deprecated
Use decorateTotals instead
getTotalsRelations
Parameters
Returns
string[]string[]Required