Solved

applyShippingAddressChange is not a function

dbelmonte
Shopify Partner
24 0 1

Hi, I am creating an extensibilty checkout extension to change the shipping address.

 

I am using the function "applyShippingAddressChange" but I always get an error in console that it is not a function.

 

source: https://shopify.dev/docs/api/checkout-ui-extensions/2023-07/apis/checkoutapi#properties-propertydeta...


Screenshot_27.png

 

Screenshot_28.png

 

even though I specify the field I want to change manually, I still get an error.

Accepted Solution (1)
Willy3
Shopify Partner
6 1 1

This is an accepted solution.

Replies 4 (4)

webymaster
Shopify Partner
3 0 0

I am facing the same issue, I read somewhere it is a scope issue, but I tried a different scope as well. Please update on it if you find a solution.

webymaster
Shopify Partner
3 0 0
import {
  reactExtension,
  Checkbox,
  useApplyShippingAddressChange,
} from '@shopify/ui-extensions-react/checkout';

// Choose an extension target
export default reactExtension(
  'purchase.checkout.block.render',
  () => <Extension />,
);

function Extension() {
  const applyShippingAddressChange = useApplyShippingAddressChange();

  // Render a UI
  return (
    <Checkbox onChange={onCheckboxChange}>
      Autofill Address
    </Checkbox>
  );

  // Call API methods to modify the checkout
  async function onCheckboxChange(isChecked) {
    try {
      const result = await applyShippingAddressChange({
        type: 'updateShippingAddress',
        address: { city: 'Maidenhead' }
      });
      console.log('applyShippingAddressChange result', result);
    } catch (error) {
      console.error('Error updating phone number:', error);
    }
  }
}
Willy3
Shopify Partner
6 1 1

Hi, any update on this? I’m also facing the same problem!

Willy3
Shopify Partner
6 1 1

This is an accepted solution.

I have found the solution!! You need to request access to protected customer data:
https://shopify.dev/docs/apps/store/data-protection/protected-customer-data#request-access-to-protec...