Unable to Access useShippingAddress Hook in Checkout UI Extension on Development Store

Hi Shopify team,

I’ve been stuck for over a month on an API scope/permission issue and would really appreciate your help.

Background

I’m building a custom app to display real-time shipping rates at checkout using Shopify’s carrier service API. So far:

  • The carrier service is working fine, and shipping rates are showing correctly at checkout.

  • The shipping vendor requires an additional parameter (block number) for shipments to Bahrain, where postal codes aren’t used.

  • I’ve already created a custom dropdown in a Checkout UI Extension to allow the user to select a predefined block number.

The Problem

I’m unable to pass the value selected in my Checkout UI Extension to the carrier service API request payload. After discussing with support for two weeks, I was informed that custom fields from Checkout UI Extensions cannot be included in the carrier API payload.

My Proposed Workaround

To work around this limitation, I planned to copy the selected block number into the postalCode field — since this field is included in the carrier callback payload sent to my backend.

However, I’m currently blocked from accessing the useShippingAddress React hook in my Checkout UI Extension. Every time I try to use it, I receive a shipping address permission error, even though:

  • I’ve enabled all the required API scopes.

  • I’m working on a development store.

  • I’ve rebuilt the extension using the latest Shopify CLI.

:paperclip: Supporting Info- I’ve recorded a screen capture video and taken a screenshot of the exact error.

  • My backend is built in Laravel and is already handling rate requests successfully.

  • The UI extension is built using React with Shopify CLI.

Please help me gain access to the useShippingAddress hook in my development store so I can proceed with this workaround. I’ve been waiting for a response to this request for over two weeks now.

Looking forward to your support. Thanks in advance!

Best regards,
Muhammad Faisal

Screen Recording of entire issue : Screen Recording Link

Hi,

to use useShippingAddress, it requires level 2 access to protected customer data. You need to request access and approved by Shopify.

Using protected customer data
After your app is approved to access protected customer data, API requests and webhooks that contain protected resources will return the data requested. Responses will include only approved fields, and unapproved fields will be redacted.

If that helps mark it as answer, many thanks