--- 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); }); ```