Skip to content

Shopify checkout validation that can't be bypassed

Most order limit apps only show a cart warning. Customers bypass it. Nex MOQ blocks the actual checkout using Shopify's native Checkout Validation API.

The problem

Cart-only limits are suggestions, not rules

Many apps add JavaScript to your cart page. But customers bypass it every day through these paths:

  • Direct checkout URL — skips cart page entirely
  • Shop Pay, Apple Pay, Google Pay — bypass cart
  • Buy Now buttons — straight to payment
  • Cart drawer apps — don't trigger scripts
  • Bots and dev tools — modify cart directly

Customer checkout paths

Cart page
Warning shown
Checkout

Bypass paths (skip cart warning)

Shop Pay Apple Pay Buy Now Direct URL Bots

Nex MOQ validates ALL paths

Server-side, inside Shopify checkout

How Shopify cart and checkout validation works

Shopify's Cart and Checkout Validation Function API lets an app ship a small Function that Shopify runs on its own servers whenever a cart or checkout is evaluated. The Function reads what is in the cart — products, quantities, amounts — and either passes it or returns an error.

When it returns an error, the customer sees that message and checkout cannot complete until the cart is fixed. Because it runs inside Shopify rather than in the browser, there is no script to skip.

Shopify runs validation on the online store cart, custom storefronts using the Storefront API cart, checkout, and express checkouts — Shop Pay, PayPal, Google Pay and Apple Pay. It is available on all plans. It does not run in Shopify POS, and a store can have up to 25 active validation functions across all its apps. Read Shopify's limits in detail.

What Nex MOQ enforces at checkout

  • Quantity limits — minimum and maximum per product, per collection, or across the whole cart
  • Order amount limits — a minimum or maximum cart total
  • Bulk limits — minimums, maximums or fixed multiples across many products from a product metafield (Premium)
  • Conditional checkout rules — apply a limit only for certain countries, customers, dates or cart contents with Advanced Rules (Premium)
  • Your own error messages — shown at checkout and optionally on the cart page, with per-language translations on Premium

Checkout blocking is live as soon as a rule is enabled. Locking the storefront quantity picker is a separate, optional layer — see how the two layers differ.

From cart to checkout, step by step

A server-side validation running inside Shopify's checkout infrastructure.

Add to cart

Cart warning shown if rules aren't met

Proceed

Customer enters checkout

Validate

All rules checked server-side

Pass

Payment proceeds normally

Block

Error shown, payment blocked

Min quantity

Per product, variant, collection, or cart

Min amount ($)

Per product, collection, or cart total

Max quantity

Per product, variant, collection, or cart

Max amount ($)

Per collection or cart total

Two layers of protection

The cart page guides. The checkout blocks. Together, they create a complete solution.

Layer 1: Cart page

"Add 2 more items to meet the minimum of 6."

Friendly guidance. Most customers adjust here without ever hitting the hard block.

Layer 2: Checkout

"Your order does not meet the minimum purchase requirement."

Safety net. Catches all bypasses — direct URLs, accelerated checkout, bots.

Custom error messages

Write exactly what customers see. Supports dynamic values and multiple languages.

Cart warning examples

"Minimum order is 6 items. Please add 4 more."
"Add $18.00 more to reach the $50 minimum."

Checkout block examples

"Maximum quantity for this item is 2 per order."
"Wholesale orders require a minimum of $500."

Built on Shopify's native platform

No JavaScript, no external servers, no theme conflicts. Just Shopify Functions running server-side.

0ms

Page load impact

100%

Checkout paths covered

All

Shopify plans supported

Regular checkout

Standard cart-to-checkout flow

Accelerated checkout

Shop Pay, Apple Pay, Google Pay

Buy Now buttons

Dynamic checkout buttons

Draft orders

Admin-created orders

API checkouts

Headless and custom storefronts

Any theme

No code changes needed

Shopify checkout validation FAQ

What is Shopify checkout validation?

It is Shopify's Cart and Checkout Validation Function API: an app-provided Function that Shopify runs on its own servers against the cart and checkout. If the Function returns an error, the customer sees the message and checkout cannot complete until the cart is fixed.

Can customers bypass checkout validation?

No. Validation runs server-side inside Shopify, not in the browser, so going straight to a checkout link, using a Buy Now button or disabling scripts does not skip it. Only browser-side cart warnings can be bypassed.

Does it cover Shop Pay, Apple Pay and Google Pay?

Yes. Shopify runs validation for express checkouts too, including Shop Pay, PayPal, Google Pay and Apple Pay, so wallet buttons cannot be used to dodge a limit.

Do I need Shopify Plus for cart and checkout validation?

No. The Cart and Checkout Validation API is available on all Shopify plans, and Nex MOQ checkout blocking works on every plan.

Does checkout validation work in Shopify POS?

No. Shopify Functions do not run in Shopify POS, so order limits apply to online checkout only. In-person sales are not validated.

How many checkout rules can a store have?

Shopify allows up to 25 active validation functions per store, counted across every installed app. Disabled rules do not count, and one Nex MOQ rule can carry several limits, so most stores need far fewer.

Why does my message show at checkout but not in the cart drawer?

Shopify exposes validation errors to themes that use the cart template. Many cart drawers are built another way, so Nex MOQ has cart display settings to show the message there. Checkout blocking is unaffected either way.

Ready to enforce order limits?

Start your free trial. No code required. Works on all Shopify plans.

Plans from $9.99/month after free trial · Free for dev stores