Skip to main content

Order details

The order details screen appears when merchants access a completed transaction for customer service, refunds, or order fulfillment tasks. This screen displays transaction information including customer details, payment data, line items, and fulfillment status for completed sales.

  • Fulfillment tracking: Display status, tracking numbers, and special handling instructions.
  • Order processing: Launch workflows for gift wrapping, packaging, or delivery scheduling.
  • Order modifications: Adjust line items, apply discounts, or update customer information.
  • Post-sale actions: Process reprints, refunds, exchanges, or customer communications.

Anchor to Order details targetsOrder details targets

Use these targets for order management capabilities, fulfillment workflows, or tools for order processing and analysis during transactions.

pos.order-details.block.render

Renders a custom information section within the order details screen. Use this target for displaying supplementary order data like fulfillment status, tracking numbers, or custom order analytics alongside standard order details.

Extensions at this target appear as persistent blocks within the order details interface and support interactive elements that can launch modal workflows using shopify.action.presentModal() for more complex order operations.

pos.order-details.action.menu-item.render

Renders a single interactive button component as a menu item in the order details action menu. Use this target for order-specific operations like reprints, refunds, exchanges, or launching fulfillment workflows.

Extensions at this target can access the order identifier through the Order API to perform order-specific operations. Menu items typically invoke shopify.action.presentModal() to launch the companion modal for complete order workflows.

pos.order-details.action.render

Renders a full-screen modal interface launched from order details menu items. Use this target for complex order workflows that require forms, multi-step processes, or detailed information displays beyond what a simple button can provide.

Extensions at this target have access to order data through the Order API and support workflows with multiple screens, navigation, and interactive components.


  • Update order information in real time: Update displayed order information immediately when changes are made to reflect the current state, like updated fulfillment status, refreshed tracking information, and changed order notes.
  • Show clear action confirmations: Show clear success or error messages that specify which order was affected. Use messages like "Order #1001 updated successfully," "Tracking number added to order," or "Unable to process - order not found".
  • Ensure order continuity: Ensure that order-related changes integrate properly with the overall transaction and order lifecycle, like updated order status, applied additional discounts, and recorded fulfillment actions.
  • Handle error states gracefully: Communicate order data limitations clearly instead of generic error messages. If your extension accesses or modifies order information, ensure you handle data responsibly, display only necessary information, and provide clear messaging about any data collection, processing, or sharing that occurs through your extension functionality.
  • Write clear and action-oriented labels: Use action-oriented labels that specify what will happen for this particular order, with descriptive titles that clearly indicate the information type. Use "Add tracking number" or "Fulfillment Status" instead of generic labels like "Order options" or "Order App."
  • Show status and contextual data: Show current order status, relevant metrics, and action eligibility to support fulfillment decisions, like fulfillment status and tracking, "Priority order - expedited shipping," and payment and refund history.

  • You can only render one button component for each POS UI extension using the action (menu item) target.

  • Order data is read-only through the Order API, which provides only the order ID, name, and customer ID. To access additional order information or modify order data, use external API calls or integrate with the Admin API through your app backend.


Was this page helpful?