Partner AMA: Checkout Extensibility

Join us starting Monday, July 22nd for an exclusive AMA for Shopify Partners. Our team of top engineers will answer questions related to Checkout Extensibility to help unblock your client’s upgrades by the August 13, 2024 deadline.

What to know:

This AMA is an opportunity to interact with the team who build Checkout Extensibility to get any questions answered on both the upgrade and newly released features.

The AMA will be open from July 22nd - 26th. Hit “Reply” below to ask your questions. We’ll aim to answer questions within a 24-hour window.

Rules of engagement:

We’ll do our best to follow up on every question during the event.

  • You must be logged into your account on Community to participate.
  • Assume positive intent with one another and be kind. Some users may be new and learning how to engage with the Community.
  • Be authentic and honest with your questions and answers.
  • Do not ask for or share store admin login details or passwords.
  • Like posts and threads that are of interest or helpful to you.
  • Be constructive with criticism, not offensive.
  • Share your experiences and insights whenever you can to support others.
  • Abuse, harassment, and spam content won’t be tolerated.
3 Likes

When will it (if ever) be possible to move/hide core checkout elements such as the Discount Code field? Also, any plans for advanced validation of custom input fields beyond Regex or length?

2 Likes

Is there a way to auto-remove or auto-add product from cart when a discount code is applied?

Use case 1: Sometimes the free gift product becomes ineligible if cart value goes below x (can happen when customer applies discount code on checkout)

hey I am not sure if this is the rigth place but I was looking for a answer for some time

I was told by a shopify representative by show that you are working on multi shipping (one order shipping to multiple addressees) and that its in the pipeline is there any timeline for when we can expect this feature

hi there! We recently launched split shipping in checkout where an order arriving in multiple packages can surface this information in checkout. There are no timelines on whether/when one order going to multiple destinations will be supported. Are you able to share any details about the use case you are trying to achieve?

Two questions:

  1. Can we get the ability to order pickup location in the checkout? Can do it in custom checkout.liquid but not in the new way.
  2. There is an issue with the useBuyerJourneyIntercept running on stale data (https://github.com/Shopify/ui-extensions/issues/1571) that is affecting us a lot. Is this being investigated?

Hello! We’re thinking about how we might make the discount input at checkout more configurable but I don’t have a date for any changes yet. Can you tell us more about your use case?

Hello! Today the best way to achieve this is with checkout UI extensions. They have access to the products in the cart, as well as discount codes applied. The UI extensions can use the cart API to add/remove products from the cart.

Others:

  1. How to properly detect in Checkout Extensions if Shipping or local pickup has been selected even when there are no options? That is, if shipping is selected in the UI, but there are no shipping rates, there are no delivery groups. Likewise, if Local Pickup is selected but no stores have enough stock to fulfil the cart, there are no delivery groups.

  2. When there are no delivery/pickup options, extensions using the render-before and render-after targets aren’t rendered at all. What is the workaround for these? (We want to show an error to the user if they wanted to do local pickup (not delivery), but some items in the cart are preventing it).

Is there a way to hide the billing address fields?

These are not compatible with the merchant’s current ERP system, so we have hidden them with CSS in the past.

Hey @ShipNotIncluded , can you pls clarify what you mean by “order pickup location in the checkout”?

Are there any updates on this? We tried using applyAttributeChange with API version 2024-07, but we now receive the error: “applyAttributeChange is not supported on this checkout. Consider checking ‘instructions.attributes’ first.” Is applyAttributeChange just not supported for draft orders, or are we doing something wrong?

We have checkouts that have a TITLE dropdown field in the customer address forms.

At the moment it looks like we can’t insert fields into the address forms only add new fields above or below them, which does not work for this purpose.

Is there any way to add fields within the address or any plans for Shopify to natively support titles in customer records?

Hi

the season i am asking is because of the new split shipment in shopify and i was think that that is heading in the same direction to allow to split the shipment to also different addresses

for the use case we have a lot of customers buying holiday gifts for family and friends living across the us sending even up to 30 deliveies at once with our current system and after looking at giftShip and multiShip which are good solution it still lacks some features we need like order import from the front and backend and these are also very slow

There’s been an open github issue on this since June 2023 and you’ll find a lot of discussion there as well

For discount code fields, it’s a really common use-case to want to hide this. A lot of this has to deal with a merchant who maybe doesn’t want to deal with the back and forth of conflicting ux around automatic discounts when a customer tries to input their own only to find the automatic discount is best deal.

Only current way to remove discount field at checkout is to remove every single discount in the shop? Wild. At least with checkout extensibility this should be possible but even better would be settings for merchant in admin.

Hi there and thanks for your questions.

  1. The local pickup delivery option generator function does allow you to filter the local pickup options that are shown. You can learn more about the function allowing you to write custom filtering logic here: https://shopify.dev/docs/api/functions/reference/local-pickup-delivery-option-generator

  2. Thanks for flagging this, we are investigating on our end. Our engineering team has added a comment on the public issue, and you are welcome to continue engaging there to help us narrow down the problem.

  1. This is a limitation at the moment and is a future enhancement which we will consider.

  2. Static extension targets are bound to the section they are a part of, so are hidden when that section is also hidden. The alternative is to use a dynamic extension point and one of the placement references we provide for dynamic extension targets e.g. [DELIVERY1] or [DELIVERY2] placements. Take a look at https://shopify.dev/docs/api/checkout-ui-extensions/2024-07/extension-targets-overview#checkout-locations-shipping for more information. We’ll also consider the feedback and whether we should still render these extensions in the event where no delivery groups are returned, but Shopify shows the UI that no options are available.

I couldn’t find a solution for “Access denied for quantityAvailable field. Required access: unauthenticated_read_product_inventory access scope” on ProductVariant. I’ve added ‘unauthenticated_read_product_inventory’ to the scope in the TOML file and I can see it from my Shopify Partners Dashboard in configured scopes.

I found this discussion https://community.shopify.com/c/shopify-apps/access-denied-for-quantityavailable-field-required-access/m-p/2058634 but no one really has a solution for it. I am not using any headless plugins. Only the checkout extension. How can I fix it?

And this one also talks about the same error without a solution: https://community.shopify.com/c/shopify-apps/unauthenticated-read-product-inventory-scope-not-applying-unable/td-p/2591639

Hi,

What are the compatibility issues with the ERP?

You can consider using the “require billing address and shipping address to match” setting in checkout settings, which will hide the billing address form on the payment step.

https://help.shopify.com/en/manual/checkout-settings/address-collection-preferences#require-shipping-billing-match