Pos.purchase.post.block.render not showing after checkout

TOML:
api_version = “2026-01”

[[extensions]]
type = “ui_extension”
name = “t:name”
uid = “5a354b2c-6b32-142f-83d1-f24e7f533b3ecdfaf9f1”
handle = “pos-feature-scanner”
description = “Smartix Barcode Scanner”

[[extensions.targeting]]
module = “./src/Tile.jsx”
target = “pos.home.tile.render”

[[extensions.targeting]]
module = “./src/Modal.jsx”
target = “pos.home.modal.render”

[[extensions.targeting]]
module = “./src/PostPurchase.jsx”
target = “pos.purchase.post.block.render”

[capabilities]
network_access = true

PostPurchase.jsx

// @ts-nocheck
import ‘@shopify/ui-extensions/preact’
import { render } from ‘preact’
import { useEffect } from ‘preact/hooks’

export default function extension() {
  render(, document.body)
}

function Extension() {

  useEffect(() => {
    console.log("post purchase handler")
  }, [])


  return (
    <s-pos-block>
      <s-heading tone="info">Post-Purchase</s-heading>
      <s-text>This block is rendered by pos.purchase.post.block.render</s-text>
    </s-pos-block>
  )

My Tile appears on Home ok, My Modal works great.

But my PostPurchase does not show up.

Why?

Discovered the I need to enable “other areas” in Admin > Apps > Extensions…

1 Like

Hey @Ian_Bale - thanks for looping back with the fix here, you’re on point. Just wanted to share some info on this in case it helps other folks who find this thread.

Extensions do also need to be added or activated for the relevant POS surface/locations in the admin like Ian mentioned, there’s a bit more info in our docs on this here: https://help.shopify.com/en/manual/sell-in-person/getting-started/shopify-pos-from-admin/pos-ui-extensions

What threw me was that I had already added it to my store so that did not immediately spring to mind. However, I had not enabled it for “other surfaces” since I had not coded those when I first added it. So for anyone else that hits, this, if you add a surface and don’t see it, check you have it added to everything.