OrderService
Constructors
constructor
**new OrderService**(«destructured»)
Parameters
Properties
__configModule__Record<string, unknown>__container__anyRequired__moduleDeclaration__Record<string, unknown>manager_EntityManagerRequiredorderRepository_Repository<Order> & { findOneWithRelations: Method findOneWithRelations ; findWithRelations: Method findWithRelations }RequiredtransactionManager_undefined | EntityManagerRequiredEventsobjectRequiredEvents.CANCELEDstringRequiredDefault: "order.canceled"
Events.COMPLETEDstringRequiredDefault: "order.completed"
Events.FULFILLMENT_CANCELEDstringRequiredDefault: "order.fulfillment_canceled"
Events.FULFILLMENT_CREATEDstringRequiredDefault: "order.fulfillment_created"
Events.GIFT_CARD_CREATEDstringRequiredDefault: "order.gift_card_created"
Events.ITEMS_RETURNEDstringRequiredDefault: "order.items_returned"
Events.PAYMENT_CAPTUREDstringRequiredDefault: "order.payment_captured"
Events.PAYMENT_CAPTURE_FAILEDstringRequiredDefault: "order.payment_capture_failed"
Events.PLACEDstringRequiredDefault: "order.placed"
Events.REFUND_CREATEDstringRequiredDefault: "order.refund_created"
Events.REFUND_FAILEDstringRequiredDefault: "order.refund_failed"
Events.RETURN_ACTION_REQUIREDstringRequiredDefault: "order.return_action_required"
Events.RETURN_REQUESTEDstringRequiredDefault: "order.return_requested"
Events.SHIPMENT_CREATEDstringRequiredDefault: "order.shipment_created"
Events.SWAP_CREATEDstringRequiredDefault: "order.swap_created"
Events.UPDATEDstringRequiredDefault: "order.updated"
Accessors
activeManager_
Protected get**activeManager_**(): EntityManager
Returns
EntityManager
EntityManagerEntityManagerRequiredMethods
addShippingMethod
**addShippingMethod**(orderId, optionId, data?, config?): Promise<[Order](/references/services/classes/Order)>
Parameters
orderIdstringRequiredoptionIdstringRequireddataRecord<string, unknown>Default: {}
Returns
Promise<Order>
archive
**archive**(orderId): Promise<[Order](/references/services/classes/Order)>
Archives an order. It only alloved, if the order has been fulfilled and payment has been captured.
Parameters
orderIdstringRequiredReturns
Promise<Order>
atomicPhase_
Protected **atomicPhase_**<TypeParameter TResult, TypeParameter 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.
TResultobjectRequiredTErrorobjectRequiredParameters
work(transactionManager: EntityManager) => Promise<TResult>RequiredisolationOrErrorHandlerIsolationLevel | (error: TError) => Promise<void | TResult>maybeErrorHandlerOrDontFail(error: TError) => Promise<void | TResult>Returns
Promise<TResult>
PromisePromise<TResult>Requiredcancel
**cancel**(orderId): Promise<[Order](/references/services/classes/Order)>
Cancels an order. Throws if fulfillment process has been initiated. Throws if payment process has been initiated.
Parameters
orderIdstringRequiredReturns
Promise<Order>
cancelFulfillment
**cancelFulfillment**(fulfillmentId): Promise<[Order](/references/services/classes/Order)>
Cancels a fulfillment (if related to an order)
Parameters
fulfillmentIdstringRequiredReturns
Promise<Order>
capturePayment
**capturePayment**(orderId): Promise<[Order](/references/services/classes/Order)>
Captures payment for an order.
Parameters
orderIdstringRequiredReturns
Promise<Order>
completeOrder
**completeOrder**(orderId): Promise<[Order](/references/services/classes/Order)>
Parameters
orderIdstringRequiredReturns
Promise<Order>
createFromCart
**createFromCart**(cartOrId): Promise<[Order](/references/services/classes/Order)>
Creates an order from a cart
Parameters
Returns
Promise<Order>
createFulfillment
**createFulfillment**(orderId, itemsToFulfill, config?): Promise<[Order](/references/services/classes/Order)>
Creates fulfillments for an order. In a situation where the order has more than one shipping method, we need to partition the order items, such that they can be sent to their respective fulfillment provider.
Parameters
orderIdstringRequiredconfigobjectRequiredDefault: {}
config.location_idstringconfig.metadataRecord<string, unknown>config.no_notificationbooleanReturns
Promise<Order>
createGiftCardsFromLineItem_
Protected **createGiftCardsFromLineItem_**(order, lineItem, manager): Promise<[GiftCard](/references/services/classes/GiftCard)>[]
Parameters
managerEntityManagerRequiredReturns
Promise<GiftCard>[]
createRefund
**createRefund**(orderId, refundAmount, reason, note?, config?): Promise<[Order](/references/services/classes/Order)>
Refunds a given amount back to the customer.
Parameters
orderIdstringRequiredrefundAmountnumberRequiredreasonstringRequirednotestringconfigobjectRequiredconfig.no_notificationbooleanReturns
Promise<Order>
createShipment
**createShipment**(orderId, fulfillmentId, trackingLinks?, config?): Promise<[Order](/references/services/classes/Order)>
Adds a shipment to the order to indicate that an order has left the warehouse. Will ask the fulfillment provider for any documents that may have been created in regards to the shipment.
Parameters
orderIdstringRequiredfulfillmentIdstringRequiredtrackingLinksTrackingLink[]configobjectRequiredconfig.metadataRecord<string, unknown>Requiredconfig.no_notificationbooleanReturns
Promise<Order>
decorateTotals
**decorateTotals**(order, totalsFields?): Promise<[Order](/references/services/classes/Order)>
Calculate and attach the different total fields on the object
Parameters
totalsFieldsstring[]Returns
Promise<Order>
**decorateTotals**(order, context?): Promise<[Order](/references/services/classes/Order)>
Calculate and attach the different total fields on the object
Parameters
contextTotalsContextReturns
Promise<Order>
decorateTotalsLegacy
Protected **decorateTotalsLegacy**(order, totalsFields?): Promise<[Order](/references/services/classes/Order)>
Parameters
totalsFieldsstring[]RequiredDefault: []
Returns
Promise<Order>
getFulfillmentItems
Protected **getFulfillmentItems**(order, items, transformer): Promise<[LineItem](/references/services/classes/LineItem)[]>
Retrieves the order line items, given an array of items.
Parameters
Returns
Promise<LineItem[]>
getTotalsRelations
Private **getTotalsRelations**(config): string[]
Parameters
Returns
string[]
string[]string[]Requiredlist
**list**(selector, config?): Promise<[Order](/references/services/classes/Order)[]>
Parameters
Returns
Promise<Order[]>
listAndCount
**listAndCount**(selector, config?): Promise<[[Order](/references/services/classes/Order)[], number]>
Parameters
Returns
Promise<[Order[], number]>
registerReturnReceived
**registerReturnReceived**(orderId, receivedReturn, customRefundAmount?): Promise<[Order](/references/services/classes/Order)>
Handles receiving a return. This will create a refund to the customer. If the returned items don't match the requested items the return status will be updated to requires_action. This behaviour is useful in situations where a custom refund amount is requested, but the returned items are not matching the requested items. Setting the allowMismatch argument to true, will process the return, ignoring any mismatches.
Parameters
orderIdstringRequiredcustomRefundAmountnumberReturns
Promise<Order>
retrieve
**retrieve**(orderId, config?): Promise<[Order](/references/services/classes/Order)>
Gets an order by id.
Parameters
orderIdstringRequiredDefault: {}
Returns
Promise<Order>
retrieveByCartId
**retrieveByCartId**(cartId, config?): Promise<[Order](/references/services/classes/Order)>
Gets an order by cart id.
Parameters
cartIdstringRequiredDefault: {}
Returns
Promise<Order>
retrieveByCartIdWithTotals
**retrieveByCartIdWithTotals**(cartId, options?): Promise<[Order](/references/services/classes/Order)>
Parameters
cartIdstringRequiredDefault: {}
Returns
Promise<Order>
retrieveByExternalId
**retrieveByExternalId**(externalId, config?): Promise<[Order](/references/services/classes/Order)>
Gets an order by id.
Parameters
externalIdstringRequiredDefault: {}
Returns
Promise<Order>
retrieveLegacy
Protected **retrieveLegacy**(orderIdOrSelector, config?): Promise<[Order](/references/services/classes/Order)>
Parameters
Default: {}
Returns
Promise<Order>
retrieveWithTotals
**retrieveWithTotals**(orderId, options?, context?): Promise<[Order](/references/services/classes/Order)>
Parameters
orderIdstringRequiredDefault: {}
Default: {}
Returns
Promise<Order>
shouldRetryTransaction_
Protected **shouldRetryTransaction_**(err): boolean
Parameters
errRecord<string, unknown> | { code: string }RequiredReturns
boolean
booleanbooleantransformQueryForTotals
Protected **transformQueryForTotals**(config): { relations: undefined \| string[] ; select: undefined \| keyof [Order](/references/services/classes/Order)[] ; totalsToSelect: undefined \| keyof [Order](/references/services/classes/Order)[] }
Parameters
Returns
object
objectobjectupdate
**update**(orderId, update): Promise<[Order](/references/services/classes/Order)>
Updates an order. Metadata updates should
use dedicated method, e.g. setMetadata etc. The function
will throw errors if metadata updates are attempted.
Parameters
orderIdstringRequiredReturns
Promise<Order>
updateBillingAddress
Protected **updateBillingAddress**(order, address): Promise<void>
Updates the order's billing address.
Parameters
Returns
Promise<void>
PromisePromise<void>RequiredupdateShippingAddress
Protected **updateShippingAddress**(order, address): Promise<void>
Updates the order's shipping address.
Parameters
Returns
Promise<void>
PromisePromise<void>Required