Shipping address prefillment feature suddenly stopped working

Hi all,

We’ve developed an app which allows customers to select from a list of predefined shipment locations (e.g. pickup lockers) during checkout. The selected location will be used to prefill the shipment address via query params as described in https://shopify.dev/apps/channels/cart-permalinks/cart-permalinks#step-2-modify-the-checkout-optional. This has been working perfectly well until just 2 weeks ago when apparently Shopify made some change to the checkout URL - as long as there’s a discounted product in the cart (and it seems this is regardless of which discount/upsell app is being used), the checkout URL will have a /do/ path added, and then all those query params will not take effect any more.

For example, this works perfectly - shipping address fields can be prefilled using the query params:
https://xxx.myshopify.com/checkouts/fe016b4dbb1c1c2a1eec19c3356b8941?checkout[shipping_address][address1]=[8245702]&checkout[shipping_address][address2]=LockerABC&checkout[shipping_address][city]=Tokyo&locale=en&step=contact_information

But as long as a discounted product exists in the cart, the URL would become sth like this and shipment address prefillment doesn’t work any more:
https://xxx.myshopify.com/checkouts/do/fe016b4dbb1c1c2a1eec19c3356b8941/information?checkout[shipping_address][address1]=[8245702]&checkout[shipping_address][address2]=LockerABC&checkout[shipping_address][city]=Tokyo&locale=en&step=contact_information

Does anyone encounter this as well and happen to figure out any workaround? We’re stuck here for 2 weeks already…

Thanks!

Just realized the auto-conversion of the hyperlinks made it difficult to read the full URL’s. Pasting them here again.

This one works:

https://xxx.myshopify.com/checkouts/fe016b4dbb1c1c2a1eec19c3356b8941?checkout[shipping_address][address1]=[8245702]&checkout[shipping_address][address2]=LockerABC&checkout[shipping_address][city]=Tokyo&locale=en&step=contact_information

This one has a discounted product in the cart (and /do/ is inserted in the URL) and the query params won’t take effect:

https://xxx.myshopify.com/checkouts/do/fe016b4dbb1c1c2a1eec19c3356b8941/information?checkout[shipping_address][address1]=[8245702]&checkout[shipping_address][address2]=LockerABC&checkout[shipping_address][city]=Tokyo&locale=en&step=contact_information

Any help is greatly appreciated. Thanks!

I have no solution, but the issue just started up again. As of Oct 28th the prefill is not working again. It seems every time they update their checkout this corrupts the feature.

The issue appeared again since Dec 9 and it’s been a week with no resolution now. There is no response to our support ticket and there’s simply nothing we can do on our side while we’re receiving heavy complaints from app users every single day. The fact that Shopify team keeps breaking a well documented official feature every now and then as if this is no big deal is really frustrating…