---
title: Post-exchange
description: >-
The post-exchange screen appears after merchants complete an exchange
transaction. This screen displays the exchange summary including exchanged
items, price adjustments, and exchange details, providing opportunities for
customer service and follow-up actions.
api_version: 2025-07
api_name: pos-ui-extensions
source_url:
html: 'https://shopify.dev/docs/api/pos-ui-extensions/latest/targets/post-exchange'
md: >-
https://shopify.dev/docs/api/pos-ui-extensions/latest/targets/post-exchange.md
---
# Post-exchange
Beta
Post-exchange targets are part of the POS UI extensions [feature preview](https://shopify.dev/docs/api/feature-previews). This feature preview is available on an invite-only basis and requires POS UI extensions version 2025-07 or higher and POS app version 9.31.0 or later.
The post-exchange screen appears after merchants complete an exchange transaction. This screen displays the exchange summary including exchanged items, price adjustments, and exchange details, providing opportunities for customer service and follow-up actions.
### Use cases
* **Product exchanges:** Display exchange reasons, product condition notes, and warranty transfers.
* **Customer follow-up:** Launch satisfaction surveys, loyalty adjustments, and follow-up communications.
* **Exchange analytics:** Track exchange patterns, return rates, and customer behavior insights.
* **External integrations:** Connect with inventory, accounting, and CRM (Customer Relationship Management) systems.

***
## Post-exchange targets
Use these targets for exchange completion workflows, post-exchange analytics, or integration with external systems for exchange processing and follow-up.
### Post-exchange block target
`pos.exchange.post.block.render`
Renders a custom information section within the post-exchange screen. Use this target for displaying supplementary exchange data like completion status, payment adjustments, or follow-up workflows alongside standard exchange details.
Extensions at this target appear as persistent blocks within the post-exchange interface and support interactive elements that can launch modal workflows using `api.action.presentModal()` for more complex post-exchange operations.
Support
Components (11)
APIs (10)
### Supported components
* [Badge](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/ui-components/feedback-and-status-indicators/badge)
* [Button](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/ui-components/actions/button)
* [DatePicker](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/ui-components/forms/datepicker)
* [Dialog](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/ui-components/feedback-and-status-indicators/dialog)
* [Icon](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/ui-components/media-and-visuals/icon)
* [Image](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/ui-components/media-and-visuals/image)
* [POSBlock](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/ui-components/layout-and-structure/posblock)
* [POSBlockRow](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/ui-components/layout-and-structure/posblockrow)
* [Stack](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/ui-components/layout-and-structure/stack)
* [Text](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/ui-components/layout-and-structure/text)
* [TimePicker](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/ui-components/forms/timepicker)
### Available APIs
* [Action API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/standard-apis/action-api)
* [Connectivity API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/platform-apis/connectivity-api)
* [Device API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/platform-apis/device-api)
* [Locale API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/standard-apis/locale-api)
* [Order API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/contextual-apis/order-api)
* [Print API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/platform-apis/print-api)
* [Product Search API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/standard-apis/product-search-api)
* [Session API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/standard-apis/session-api)
* [Storage API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/platform-apis/storage-api)
* [Toast API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/standard-apis/toast-api)
Examples
### Examples
* #### Add a post-exchange block
##### Description
Display custom information within the post-exchange screen as a persistent block. This example shows how to create blocks that show supplementary exchange data like completion status, payment adjustments, or follow-up workflows with interactive elements.
##### React
```tsx
import React from 'react';
import {
POSBlock,
POSBlockRow,
Text,
reactExtension,
useApi,
} from '@shopify/ui-extensions-react/point-of-sale';
const ExchangeBlock = () => {
const api = useApi<'pos.exchange.post.block.render'>();
return (
{'Exchange block extension'}{`Order ID: ${api.order.id}`}
);
};
export default reactExtension('pos.exchange.post.block.render', () => (
));
```
##### TS
```ts
import {
POSBlock,
POSBlockRow,
Text,
extension,
} from '@shopify/ui-extensions/point-of-sale';
export default extension('pos.exchange.post.block.render', (root, api) => {
const block = root.createComponent(POSBlock, {
action: {title: 'View exchange details', onPress: api.action.presentModal},
});
const mainText = root.createComponent(Text);
mainText.append('Exchange block extension');
const subtitleText = root.createComponent(Text);
subtitleText.append(`Order ID: ${api.order.id}`);
const blockMainRow = root.createComponent(POSBlockRow);
blockMainRow.append(mainText);
const blockSubtitleRow = root.createComponent(POSBlockRow);
blockSubtitleRow.append(subtitleText);
block.append(blockMainRow);
block.append(blockSubtitleRow);
root.append(block);
});
```
### Post-exchange action (menu item) target
`pos.exchange.post.action.menu-item.render`
Renders a single interactive button component as a menu item in the post-exchange action menu. Use this target for post-exchange operations like generating exchange receipts, processing restocking workflows, or collecting exchange feedback.
Extensions at this target can access the order identifier through the Order API to perform exchange-specific operations. Menu items typically invoke `api.action.presentModal()` to launch the companion [modal](#post-exchange-action-modal-) for complete post-exchange workflows.
Support
Components (1)
APIs (10)
### Supported components
* [Button](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/ui-components/actions/button)
### Available APIs
* [Action API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/standard-apis/action-api)
* [Connectivity API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/platform-apis/connectivity-api)
* [Device API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/platform-apis/device-api)
* [Locale API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/standard-apis/locale-api)
* [Order API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/contextual-apis/order-api)
* [Print API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/platform-apis/print-api)
* [Product Search API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/standard-apis/product-search-api)
* [Session API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/standard-apis/session-api)
* [Storage API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/platform-apis/storage-api)
* [Toast API](https://shopify.dev/docs/api/pos-ui-extensions/2025-07/target-apis/standard-apis/toast-api)
Examples
### Examples
* #### Create a post-exchange action menu item
##### Description
Add an interactive menu item to the post-exchange action menu for operations after completing an exchange. This example shows how to create a menu item that accesses order data and launches modal workflows for tasks like generating receipts, processing restocking, or collecting feedback.
##### React
```tsx
import React from 'react';
import {
Button,
reactExtension,
useApi,
} from '@shopify/ui-extensions-react/point-of-sale';
const ExchangeActionMenuItem = () => {
const api = useApi<'pos.exchange.post.action.menu-item.render'>();
return (