Hey everyone,
We’ve recently announced that the checkout UI extension buyer journey intercept API is deprecated starting on 2026-07. While it’s still available to use on this most recent checkout UI extension version, we plan to remove it in a future version. If you’ve been using the buyer journey intercept for client-side validation, this post is for you.
What’s changing
As of API version 2026-07, client-side validation via the buyer journey intercept is now deprecated. This means:
-
It’s still available in 2026-07, so nothing breaks today and your existing extensions will keep working.
-
It will be removed in a future API version. We encourage you to start migrating now before it’s removed.
-
Going forward, our recommendation for validation is cart and checkout validation functions.
Why we are making this change
The buyer journey intercept was released before Shopify Functions existed. It runs in the buyer’s browser, which means it isn’t guaranteed to run at all. That can happen on slow connections, or with some wallets that bypass checkout entirely. That makes it a less reliable foundation for validation than we’d like.
Cart and checkout validation functions solve this because they run server-side. That gives you better performance and security, and it means your validation logic actually runs when it needs to. We’ve also been investing in making them more capable, like targeting billing addresses and PO numbers and querying metaobjects. We will continue to invest further into cart and checkout validation functions to enable more use cases as needed.
But the biggest reason is coverage. Because they run server-side, validation functions work across every checkout surface, including agentic checkouts. The buyer journey intercept simply can’t do that, and as more buying happens across these surfaces, that gap is only going to matter more.
Learn more about cart and checkout validation functions.
What this means for you
-
If you use useBuyerJourneyIntercept to enforce merchant business rules, migrate to a cart and checkout validation Function. These Functions run server-side and apply your rules consistently across all checkout surfaces, including express wallets and agentic checkout.
-
If you use useBuyerJourneyIntercept to reject discount codes, migrate that logic to the discount Function API, which now supports rejecting discount codes with a custom message.
Questions?
I’d love to hear about any use cases you’re blocked on, what we’re missing, or if you run into any edge cases. Drop your thoughts below. Happy to dig into specifics and setup time to chat.
Gil Greenberg
Product Manager, Checkout