--- title: pos.purchase.post.block.render description: >- Renders a custom information section within the post-purchase screen. Use this target for displaying supplementary purchase data like completion status, customer feedback prompts, or next-step workflows alongside standard purchase details. Extensions at this target appear as persistent blocks within the post-purchase interface and support interactive elements that can launch modal workflows using `api.action.presentModal()` for more complex post-purchase operations. 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-block-render md: >- https://shopify.dev/docs/api/pos-ui-extensions/2025-07/targets/post-purchase/pos-purchase-post-block-render.md --- # pos.​purchase.​post.​block.​render Renders a custom information section within the post-purchase screen. Use this target for displaying supplementary purchase data like completion status, customer feedback prompts, or next-step workflows alongside standard purchase details. Extensions at this target appear as persistent blocks within the post-purchase interface and support interactive elements that can launch modal workflows using `api.action.presentModal()` for more complex post-purchase operations. ### Examples * #### Add a post-purchase block ##### Description Display custom information within the post-purchase screen as a persistent block. This example shows how to create blocks that show supplementary purchase data like completion status, customer feedback prompts, or next-step workflows with interactive elements. ##### React ```tsx import React from 'react'; import { Text, useApi, reactExtension, POSBlock, POSBlockRow, } from '@shopify/ui-extensions-react/point-of-sale'; const Block = () => { const api = useApi<'pos.purchase.post.block.render'>(); return ( {'This is a block extension'} {`Order ID for complete checkout: ${api.order.id}`} ); }; export default reactExtension('pos.purchase.post.block.render', () => ( )); ``` ##### TS ```ts import { POSBlock, Text, POSBlockRow, extension, } from '@shopify/ui-extensions/point-of-sale'; export default extension('pos.purchase.post.block.render', (root, api) => { const block = root.createComponent(POSBlock, { action: {title: 'Open action', onPress: api.action.presentModal}, }); const mainText = root.createComponent(Text); mainText.append('This is a block extension'); const subtitleText = root.createComponent(Text); subtitleText.append(`Order ID for complete checkout: ${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); }); ```