---
title: pos.purchase.post.action.render
description: >-
Renders a full-screen modal interface launched from post-purchase menu items.
Use this target for complex post-purchase 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.
api_version: 2025-07
api_name: pos-ui-extensions
source_url:
html: >-
https://shopify.dev/docs/api/pos-ui-extensions/2025-07/targets/post-purchase/pos-purchase-post-action-render
md: >-
https://shopify.dev/docs/api/pos-ui-extensions/2025-07/targets/post-purchase/pos-purchase-post-action-render.md
---
# pos.purchase.post.action.render
Renders a full-screen modal interface launched from post-purchase menu items. Use this target for complex post-purchase 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.
### Examples
* #### Create a post-purchase action modal
##### Description
Build a full-screen modal launched from post-purchase menu items for complex post-sale workflows. This example demonstrates creating modals with multiple screens and interactive components, enabling forms, multi-step processes, or detailed information displays with full order data access.
##### React
```tsx
import React from 'react';
import {
Text,
Screen,
ScrollView,
Navigator,
useApi,
reactExtension,
} from '@shopify/ui-extensions-react/point-of-sale';
const Modal = () => {
const api = useApi<'pos.purchase.post.action.render'>();
return (
{`Order ID for complete checkout: ${api.order.id}`}
);
};
export default reactExtension('pos.purchase.post.action.render', () => (
));
```
##### TS
```ts
import {
Navigator,
Screen,
ScrollView,
Text,
extension,
} from '@shopify/ui-extensions/point-of-sale';
export default extension('pos.purchase.post.action.render', (root, api) => {
const navigator = root.createComponent(Navigator);
const screen = root.createComponent(Screen, {
name: 'HelloWorld',
title: 'Hello World!',
});
const scrollView = root.createComponent(ScrollView);
const text = root.createComponent(Text);
text.append(`Order ID for complete checkout: ${api.order.id}`);
scrollView.append(text);
screen.append(scrollView);
navigator.append(screen);
root.append(navigator);
});
```