Skip to content
On this page

useOrderDetails

Definition

Composable for managing an existing order.

Basic usage

ts
const { 
 order,
 status,
 total,
 subtotal,
 shippingCosts,
 shippingAddress,
 billingAddress,
 personalDetails,
 paymentUrl,
 shippingMethod,
 paymentMethod,
 getMediaFile,
 getDocumentFile,
 hasDocuments,
 documents,
 loadOrderDetails,
 handlePayment,
 cancel,
 changePaymentMethod 
} = useOrderDetails(orderId, associations);

Signature

ts
export function useOrderDetails(
  orderId: string,
  associations?: ShopwareAssociation,
): UseOrderDetailsReturn 

Parameters

NameTypeDescription
orderId
string
associations
ShopwareAssociation

Return type

See UseOrderDetailsReturn
ts
export type UseOrderDetailsReturn = {
  /**
   * {@link Order} object
   */
  order: ComputedRef<Order | undefined | null>;
  /**
   * Order status (e.g. 'open', 'cancelled')
   */
  status: ComputedRef<string | undefined>;
  /**
   * Order total price
   */
  total: ComputedRef<number | undefined>;
  /**
   * Order subtotal price for all items
   */
  subtotal: ComputedRef<number | undefined>;
  /**
   * Order shipping costs
   */
  shippingCosts: ComputedRef<number | undefined>;
  /**
   * Shipping address
   */
  shippingAddress: ComputedRef<ShippingAddress | undefined>;
  /**
   * Billing address
   */
  billingAddress: ComputedRef<BillingAddress | undefined>;
  /**
   * Basic personal details
   */
  personalDetails: ComputedRef<{
    email: string | undefined;
    firstName: string | undefined;
    lastName: string | undefined;
  }>;
  /**
   * Payment URL for external payment methods (e.g. async payment in external payment gateway)
   */
  paymentUrl: Ref<null | string>;
  /**
   * Selected shipping method
   */
  shippingMethod: ComputedRef<ShippingMethod | undefined | null>;
  /**
   * Selected payment method
   */
  paymentMethod: ComputedRef<PaymentMethod | undefined | null>;
  /**
   * Get order object including additional associations.
   * useDefaults describes what order object should look like.
   */
  loadOrderDetails(): void;
  /**
   * Handle payment for existing error.
   *
   * Pass custom success and error URLs (optionally).
   */
  handlePayment(
    successUrl?: string,
    errorUrl?: string,
    paymentDetails?: unknown,
  ): void;
  /**
   * Cancel an order.
   *
   * Action cannot be reverted.
   */
  cancel(): Promise<void>;
  /**
   * Changes the payment method for current cart.
   * @param paymentMethodId - ID of the payment method to be set
   * @returns
   */
  changePaymentMethod(paymentMethodId: string): Promise<void>;
  /**
   * Get media content
   *
   * @param {string} downloadId
   * @returns {Blob}
   */
  getMediaFile: (downloadId: string) => Promise<Blob>;
  /**
   * Get order documents
   * @param {string} documentId
   * @param {string} deepLinkCode
   * @returns
   */
  getDocumentFile: (documentId: string, deepLinkCode: string) => Promise<Blob>;
  /**
   * Check if order has documents
   */
  hasDocuments: ComputedRef<boolean>;
  /**
   * Get order documents
   */
  documents: ComputedRef<OrderDocument[]>;
};

Properties

NameTypeDescription
order
ComputedRef<Order | undefined | null>
{@link Order} object
status
ComputedRef<string | undefined>
Order status (e.g. 'open', 'cancelled')
total
ComputedRef<number | undefined>
Order total price
subtotal
ComputedRef<number | undefined>
Order subtotal price for all items
shippingCosts
ComputedRef<number | undefined>
Order shipping costs
shippingAddress
ComputedRef<ShippingAddress | undefined>
Shipping address
billingAddress
ComputedRef<BillingAddress | undefined>
Billing address
personalDetails
ComputedRef<{
    email: string | undefined;
    firstName: string | undefined;
    lastName: string | undefined;
  }>
Basic personal details
paymentUrl
Ref< | string>
Payment URL for external payment methods (e.g. async payment in external payment gateway)
shippingMethod
ComputedRef<ShippingMethod | undefined | null>
Selected shipping method
paymentMethod
ComputedRef<PaymentMethod | undefined | null>
Selected payment method
getMediaFile
(downloadId: string) => Promise<Blob>
Get media content
getDocumentFile
(documentId: string, deepLinkCode: string) => Promise<Blob>
Get order documents
hasDocuments
ComputedRef<boolean>
Check if order has documents
documents
ComputedRef<Array<OrderDocument>>
Get order documents

Methods

NameTypeDescription
loadOrderDetails
void
Get order object including additional associations.useDefaults describes what order object should look like.
handlePayment
void
Handle payment for existing error.Pass custom success and error URLs (optionally).
cancel
Promise<void>
Cancel an order.Action cannot be reverted.
changePaymentMethod
Promise<void>
Changes the payment method for current cart.
useOrderDetails has loaded