CartService
constructor
Parameters
__namedParametersInjectedDependenciesRequiredProperties
__container__anyRequiredfeatureFlagRouter_FlagRouterRequiredmanager_EntityManagerRequiredtransactionManager_undefined | EntityManagerRequiredEventsobjectRequiredEvents.CREATEDstringRequiredDefault: "cart.created"
Events.CUSTOMER_UPDATEDstringRequiredDefault: "cart.customer_updated"
Events.UPDATEDstringRequiredDefault: "cart.updated"
__configModule__Record<string, unknown>__moduleDeclaration__Record<string, unknown>Accessors
activeManager_
Returns
EntityManagerEntityManagerRequiredMethods
addLineItem
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>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
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>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>RequiredapplyGiftCard_
Parameters
codestringRequiredReturns
PromisePromise<void>RequiredatomicPhase_
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>RequiredauthorizePayment
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
cartIdstringRequiredcontextRecord<string, unknown> & objectRequiredReturns
create
Creates a cart.
Parameters
dataCartCreatePropsRequiredReturns
createOrFetchGuestCustomerFromEmail_
Creates or fetches a user based on an email.
Parameters
emailstringRequiredReturns
createTaxLines
Parameters
Returns
PromisePromise<void>RequireddecorateTotals
Parameters
totalsConfigTotalsConfigRequiredDefault: {}
Returns
decorateTotals_
Parameters
Returns
Deprecated
Use decorateTotals instead
delete
Deletes a cart from the database. Completed carts cannot be deleted.
Parameters
cartIdstringRequiredReturns
deletePaymentSession
Removes a payment session from the cart.
Parameters
cartIdstringRequiredproviderIdstringRequiredReturns
PromisePromise<void>RequireddeleteTaxLines
Parameters
idstringRequiredReturns
PromisePromise<void>RequiredfindCustomShippingOption
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
getTotalsRelations
Parameters
Returns
string[]string[]RequiredgetValidatedSalesChannel
Parameters
salesChannelIdstringReturns
list
Parameters
selectorFilterableCartPropsRequiredDefault: {}
Returns
onSalesChannelChange
Remove the cart line item that does not belongs to the newly assigned sales channel
Parameters
newSalesChannelIdstringRequiredReturns
PromisePromise<void>RequiredrefreshAdjustments_
Parameters
Returns
PromisePromise<void>RequiredrefreshPaymentSession
Refreshes a payment session on a cart
Parameters
cartIdstringRequiredproviderIdstringRequiredReturns
PromisePromise<void>RequiredremoveDiscount
Removes a discount based on a discount code.
Parameters
cartIdstringRequireddiscountCodestringRequiredReturns
removeLineItem
Removes a line item from the cart.
Parameters
cartIdstringRequiredlineItemIdstringRequiredReturns
retrieve
Gets a cart by id.
Parameters
cartIdstringRequiredDefault: {}
totalsConfigTotalsConfigRequiredDefault: {}
Returns
retrieveLegacy
Parameters
cartIdstringRequiredDefault: {}
totalsConfigTotalsConfigRequiredDefault: {}
Returns
Deprecated
retrieveWithTotals
Parameters
cartIdstringRequiredDefault: {}
totalsConfigTotalsConfigRequiredDefault: {}
Returns
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
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>RequiredsetRegion_
Set's the region of a cart.
Parameters
regionIdstringRequiredcountryCodenull | stringRequiredReturns
PromisePromise<void>RequiredshouldRetryTransaction_
Parameters
errRecord<string, unknown> | objectRequiredReturns
booleanbooleanRequiredtransformQueryForTotals_
Parameters
Returns
update
Parameters
dataCartUpdatePropsRequiredReturns
updateBillingAddress_
Updates the cart's billing address.
Parameters
Returns
PromisePromise<void>RequiredupdateCustomerId_
Sets the customer id of a cart
Parameters
customerIdstringRequiredReturns
PromisePromise<void>RequiredupdateLineItem
Updates a cart's existing line item.
Parameters
cartIdstringRequiredlineItemIdstringRequiredupdateLineItemUpdateRequiredReturns
updatePaymentSession
Updates the currently selected payment session.
Parameters
cartIdstringRequiredupdateRecord<string, unknown>RequiredReturns
updateShippingAddress_
Updates the cart's shipping address.
Parameters
Returns
PromisePromise<void>RequiredupdateUnitPrices_
Parameters
Returns
PromisePromise<void>RequiredvalidateLineItem
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>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
booleanbooleanRequiredwithTransaction
Parameters
transactionManagerEntityManagerReturns
CartServiceobjectRequired