Is there a reliable way of detecting if shop supports checkout extensibilty?

Previously, querying checkoutProfiles would return an error if the shop didn’t support checkout extensions. However, this is no longer the case.

The query below allows you to check if Thank you page / Order status page extensions can be used, but not checkout extensions.

query GetCheckoutProfiles {
  checkoutProfiles(first: 50) {
    nodes {
      id
      name
      typOspPagesActive
      isPublished
    }
  }
}

This can be derived from the shop’s plan with ~90% accuracy, though there are some edge cases. I’m wondering if there’s any way to get an actual boolean value indicating whether a shop supports checkout extensions or not.

Thanks!

1 Like

Would this suffice?

Hey Luke! I think that’s not it. Seems like shop.checkoutApiSupported is a legacy field that refers to this REST Checkout API

Checkout Extensions are only available on Shopify Plus stores, I believe that is the only constraint.

I think that’s perhaps why there’s no API attribute for this, since it’s available based on the Shopify subscription level only.

1 Like

I guess its a tough one here though, as Checkout Extensibility can be utilised on the thank you / order status pages.

Shopify Customer Extensibility (TYP/Order status page, etc) is not the same as Shopify Checkout Extensibility.

The naming convention is a bit funny I know.

But basically Checkout Extensibility is limited to only modifying the checkout page.

Whereas Customer Extensibility are the post-purchase experiences like TYP/OSP, customer account details, post-purchase upsells, etc.

1 Like

Not exactly, checkout extensions are also available in some (but not all) Development (Development Preview) stores and Staff stores.

Good point, I guess in my logic if I’m in development mode I don’t enforce a Shopify Plus conditional to show the app block is available.

But on the merchant’s end, if Checkout Extensibility is available, they can simply drag and drop your block into their Checkout page.

But agreed, it would be nice if shop.checkoutProfiles had a simple boolean for tracking Checkout Extensibility for these edge cases for Development stores that have it enabled.

1 Like

I just came across this issue firsthand.

Apparently there’s a Shopify Plus Trial subscription type.

But the shop.plan.shopifyPlus = false, yet the Shopify Plan has the ability to edit the checkout page with extensions.