Zum Hauptinhalt springen
Technik

Wie die Shopify-Checkout-Validierung funktioniert (und wie Apps damit Bestellungen blockieren)

Jahangir Alam3. Mai 2026Aktualisiert am 8. Oktober 2026Fakten geprüft am 8. Oktober 202610 min read
CheckoutShop PayApple PayBuy it nowone checkserver-side

Die Shopify-Checkout-Validierung ist eine Shopify Function aus der Cart and Checkout Validation API, die eine App in Ihrem Shop installiert. Shopify führt sie auf den eigenen Servern aus, sobald sich ein Warenkorb oder Checkout ändert. Gibt die Function einen Fehler zurück, zeigt der Checkout die Meldung an, und der Käufer kann die Bestellung erst abschließen, wenn er das Problem behebt. Sie läuft im normalen Checkout, bei Express-Buttons wie Shop Pay und Apple Pay, bei Headless-Checkouts und Entwurfsbestellungen — in jedem Shopify-Plan, wenn sie aus einer öffentlichen App stammt. Sie läuft nicht auf POS, bei Abo-Verlängerungen, Bestellbearbeitungen oder über die API erstellten Bestellungen. Sie kann eine Bestellung blockieren, aber den Warenkorb nicht ändern und keinen Bestand reservieren.

Zuletzt geprüft: 8. Oktober 2026, anhand der Entwicklerdokumentation und des Help Centers von Shopify. Die Quellen stehen am Ende.

Hinweis: OrderRules ist eine App für Checkout-Validierung. Dieser Leitfaden erklärt zuerst die Shopify-Plattform und dann, wie wir sie nutzen.

Checkout-Validierung im Vergleich zu Warenkorb-Script-Apps im Standard-Checkout, bei Shop Pay, Apple Pay, Google Pay, direkten Checkout-Links und Headless-Storefronts

Was eine Validierungs-Function ist

Mit Shopify Functions können Apps eigene Logik in das Backend von Shopify einbringen. Jede Function-API deckt eine Aufgabe ab: Rabatte, Versandoptionen, Zahlungsarten und so weiter. Die Validierung ist diejenige, die entscheidet, ob ein Warenkorb zur Kasse gehen kann.

So funktioniert es:

  1. Eine App liefert die Function mit. Sie wird zu WebAssembly kompiliert und mit der App bereitgestellt. Sie installieren die App; Code fassen Sie nicht an.
  2. Shopify führt sie aus, nicht Ihr Theme. Die Function läuft in der Infrastruktur von Shopify, nicht im Browser des Käufers. JavaScript abschalten oder die Seite bearbeiten umgeht sie nicht.
  3. Sie liest einen Input und gibt Fehler zurück. Shopify übergibt den Warenkorb und zugehörige Daten. Die Function gibt eine Liste von Fehlern zurück, jeweils mit einer Meldung und einem Ziel (der ganze Warenkorb oder ein bestimmtes Feld).
  4. Der Checkout zeigt die Meldung. Leere Liste: Der Checkout geht weiter. Fehler vorhanden: Shopify zeigt die Meldungen und blockiert den Abschluss, bis der Käufer etwas ändert.

Shopify führt die Function an mehreren Punkten der Customer Journey aus: bei Interaktionen im Warenkorb, bei Interaktionen im Checkout und beim Abschluss des Checkouts. Eine Function kann prüfen, auf welchem Schritt sie gerade läuft, und nur im Checkout blockieren, sodass das Hinzufügen zum Warenkorb nie fehlschlägt.

Shopify hält Functions klein und schnell. Jeder Lauf hat strenge Limits für Instruktionen und Input-Größe, die Logik muss also einfach und die Daten kompakt sein.

Hier ein vereinfachtes Beispiel in JavaScript für das aktuelle Target cart.validations.generate.run. Es dient der Veranschaulichung und ist nicht der Code von OrderRules:

// Simplified example, not production code.
// Input comes from a GraphQL input query (cart lines, buyer identity, metafields).
export function cartValidationsGenerateRun(input) {
  const limits = input.shop.limits?.jsonValue ?? {}; // written by the app ahead of time
  const errors = [];

  for (const line of input.cart.lines) {
    const productId = line.merchandise.product?.id;
    const remaining = limits[productId];
    if (remaining !== undefined && line.quantity > remaining) {
      errors.push({
        message: `Only ${remaining} left for today. Lower the quantity to continue.`,
        target: "$.cart",
      });
    }
  }

  return { operations: [{ validationAdd: { errors } }] };
}

Beachten Sie, was fehlt: keine Datenbankabfrage, kein API-Aufruf, kein „zähle die Bestellungen von heute“. Die Function sieht nur, was in ihrem Input steht. Das prägt alles Folgende.

Wo sie läuft und wo nicht

Shopify dokumentiert, auf welchen Oberflächen Validierungs-Functions laufen. Die Tabelle folgt der Referenz der Cart and Checkout Validation API.

OberflächeValidierung läuft?Hinweise
Warenkorb und Checkout im OnlineshopJaWarenkorb und Checkout sind getrennt aufgeführt; beide unterstützt
Shop Pay, Apple Pay, Google Pay, PayPal Express, Jetzt kaufenJaAls Storefront Accelerated Checkout aufgeführt
Headless-Storefronts (Storefront API)JaHydrogen und eigene Frontends eingeschlossen
B2B-CheckoutJaFirmenkunden durchlaufen dieselbe Validierung
Entwurfsbestellungen (Admin und Rechnungs-Checkout)JaAls Draft Order (Admin and Checkout) und Shopify Admin aufgeführt
Shopify POSNeinVerkäufe im Laden werden nicht validiert
Bestellungen aus Abo-VerlängerungenNeinNur der erste Abo-Checkout wird validiert
BestellbearbeitungenNeinWer eine Bestellung nach dem Kauf bearbeitet, umgeht die Validierung
Create Order APINeinBestellungen, die andere Apps oder Integrationen anlegen
Vorbestellung und Erst testen, dann kaufenNeinKaufoptionen mit späterer Zahlung werden nicht unterstützt

„Lässt sich nicht umgehen“ stimmt also nicht. Ein Käufer kann die Validierung im Onlineshop oder über einen Express-Button nicht überspringen. Aber eine Bestellung über POS, eine Verlängerung, eine Bearbeitung oder die API läuft nie durch sie. Wenn Sie sich auf ein Limit verlassen, prüfen Sie, welche dieser Kanäle Ihr Shop nutzt.

Was eine Function sieht

Eine Function deklariert eine Input-Abfrage in GraphQL, und Shopify befüllt sie bei jedem Lauf. Nützliche Felder sind unter anderem:

  • Warenkorbpositionen: Menge, Variante, Produkt, Gewicht, Positionsattribute.
  • Käuferidentität: ob der Käufer angemeldet ist, und bei Kunden Felder wie Anzahl der Bestellungen und ausgegebener Betrag.
  • Metafelder: am Shop, an Produkten, Varianten und Kunden.
  • Warenkorbattribute: zum Beispiel ein auf der Warenkorbseite gewähltes Lieferdatum.
  • Der Schritt der Customer Journey: Interaktion im Warenkorb, Interaktion im Checkout oder Abschluss des Checkouts.

Was sie bei einer öffentlichen App nicht kann: das Netzwerk aufrufen. Sie kann den Server der App während des Checkouts nicht fragen: „Wie viele Bestellungen gab es heute?“ Stattdessen zählt die App an anderer Stelle. Sie empfängt die Bestellbenachrichtigungen von Shopify, aktualisiert ihre Summen und schreibt sie in Metafelder. Die Function liest diese Metafelder beim nächsten Lauf.

Deshalb sind Zählerstände in einer Function Snapshots. Sie sind so aktuell wie der letzte Metafeld-Schreibvorgang, nicht live.

Was sie kann und was nicht

Sie kann mit einer Meldung blockieren. Das ist ihre gesamte Ausgabe. Meldungen können den ganzen Warenkorb oder ein bestimmtes Checkout-Feld betreffen, und eine App kann Sie Ihren eigenen Wortlaut schreiben lassen.

Sie kann keine Mengen ändern. Eine Validierungs-Function kann keine Menge senken, keine Position entfernen und keinen Preis ändern. Die alten Shopify Scripts konnten den Warenkorb stillschweigend bearbeiten; die Validierung kann das nicht. Der Käufer liest die Meldung und korrigiert den Warenkorb. Andere Function-APIs wie Cart Transform oder Rabatte übernehmen Änderungen am Warenkorb, und sie blockieren den Checkout nicht.

Sie kann keinen Bestand und keine Zeitfenster reservieren. Die Function liest einen Snapshot und sagt Ja oder Nein. Sie hält nichts zurück. Wenn zwei Käufer fast gleichzeitig für die letzte Einheit oder den letzten Platz in einem Lieferzeitfenster zur Kasse gehen, können beide „1 übrig“ lesen und beide durchkommen. Die Validierung macht Limits bei normalem Traffic zuverlässig. Sie garantiert nicht, dass Sie nie darüber liegen.

Bis zu 25 Validierungs-Functions pro Shop. Shopify begrenzt, wie viele Validierungs-Functions gleichzeitig aktiv sein dürfen. Mehrere Apps können jeweils eine hinzufügen, und alle laufen; sobald eine davon einen Fehler zurückgibt, ist der Checkout blockiert.

Pläne

  • Öffentliche App-Store-Apps mit Functions funktionieren in jedem Shopify-Plan. Für eine Validierungs-App brauchen Sie kein Plus.
  • Custom Apps mit Functions brauchen Shopify Plus. Das betrifft Shops, die ihre eigene private Function bauen.
  • Shopify Scripts sind abgeschaltet. Scripts laufen seit dem 30. Juni 2026 nicht mehr. Viele Mengenlimits steckten früher in Line-Item-Scripts. Wenn das bei Ihnen der Fall war, lesen Sie Shopify Scripts durch Functions für Mengen- und Checkout-Regeln ersetzen.

Theme-JavaScript vs. Validierung

Viele Limit-Tools laufen im Theme: Sie blenden einen Button aus, begrenzen ein Mengenfeld oder zeigen auf der Warenkorbseite eine Warnung. Das ist nützlich, um Limits früh zu zeigen. Durchsetzung ist es nicht.

JavaScript im Theme oder auf der WarenkorbseiteValidierungs-Function
Normaler Checkout im OnlineshopNur wenn der Käufer mit aktivem JavaScript über die Warenkorbseite gehtJa
Buttons für Shop Pay, Apple Pay, Google Pay auf ProduktseitenNein, sie überspringen die WarenkorbseiteJa
Direkte Checkout-LinksNeinJa
Headless-StorefrontsNein, es gibt kein ThemeJa
EntwurfsbestellungenNeinJa
POSNeinNein
Abo-Verlängerungen, Bestellbearbeitungen, API-BestellungenNeinNein
Kann Limits vor dem Checkout anzeigenJaNein, nur Meldungen, wenn der Warenkorb geprüft wird
Lässt sich durch Abschalten von JavaScript umgehenJaNein

Keines von beiden deckt POS oder Verlängerungen ab. Am besten nutzen Sie beides: Hinweise im Onlineshop, damit Käufer Limits früh sehen, und eine Validierungs-Function als harten Stopp am Checkout.

Für Liefertermine gilt dasselbe. Eine Lieferdatumsauswahl graut volle oder geschlossene Tage im Browser aus, aber Express-Buttons und direkte Checkout-Links überspringen die Seite, auf der der Kalender sitzt. Nur eine Validierungs-Function prüft das gewählte Datum am Checkout erneut. Sehen Sie sich an, wie sich Apps zur Lieferdatumsauswahl für Shopify bei der Checkout-Validierung schlagen.

Wie OrderRules sie nutzt

OrderRules installiert eine Validierungs-Function. Sie legen Regeln in der App fest; die App führt die Zählerstände und schreibt sie in Metafelder; die Function liest sie am Checkout und blockiert Bestellungen, die gegen eine Regel verstoßen. Sie prüft:

  • Öffnungszeiten und Feiertage: schließt den Checkout außerhalb Ihrer Zeiten.
  • Bestellobergrenzen: tägliche Obergrenzen für den ganzen Shop, dazu wöchentliche und monatliche in den kostenpflichtigen Plänen.
  • Obergrenzen für Produkte, Varianten und Kollektionen: gemeinsame Summen über alle Käufer.
  • Mindestbestellmenge und Schrittmenge: pro Produkt oder Variante, pro Bestellung.
  • Limits pro Kunde: Bestellungen, Einheiten, Ausgaben oder Gewicht pro Zeitraum, für angemeldete Kunden.
  • Liefertermine und Abholzeitfenster im Advanced-Plan: Bestellschluss, gesperrte Termine und Obergrenzen pro Zeitfenster.

Die Meldung für jeden Regeltyp lässt sich in den Einstellungen bearbeiten. Regeln werden auf jeder Oberfläche aus der Tabelle oben geprüft, auf der die Validierung läuft. POS-Bestellungen und Verlängerungen werden nicht blockiert, zählen aber trotzdem für Ihre Limits. Zählerstände sind Snapshots, deshalb können zwei fast gleichzeitige Checkouts für den letzten Platz beide durchgehen.

Die Durchsetzung am Checkout ist in jedem Plan enthalten, auch im kostenlosen Starter-Plan. Alle Details: wo OrderRules-Regeln geprüft werden: Kompatibilität und Einschränkungen.

Weiterführende Artikel

Quellen

In Ihrem Shop ausprobieren

Installieren Sie OrderRules aus dem Shopify App Store. Die Checkout-Validierung ist in jedem Plan enthalten, und kostenpflichtige Pläne haben eine 14-tägige kostenlose Testphase.

Häufige Fragen

Eine API von Shopify Functions, die Cart and Checkout Validation API. Eine App installiert eine kleine Function, die Shopify auf den eigenen Servern ausführt, sobald sich ein Warenkorb oder Checkout ändert. Die Function gibt eine Liste von Fehlern zurück. Ist die Liste nicht leer, zeigt Shopify die Meldungen an, und der Käufer kann den Checkout erst abschließen, wenn das Problem behoben ist.

Nein. Shops in jedem Plan können öffentliche Apps aus dem App Store nutzen, die Validierungs-Functions enthalten. Nur Custom Apps mit Functions brauchen Shopify Plus.

Ja. Shopify führt beschleunigte Checkouts als unterstützt auf, die gleiche Function läuft also für die Express-Buttons von Shop Pay, Apple Pay, Google Pay und PayPal. Sie läuft auch bei Headless-Checkouts (Storefront API), B2B-Checkouts und Entwurfsbestellungen.

Shopify führt POS, Bestellungen aus Abo-Verlängerungen, Bestellbearbeitungen, über die Create Order API erstellte Bestellungen sowie Kaufoptionen für Vorbestellungen und Erst-testen-dann-kaufen als nicht unterstützt auf. Bestellungen aus diesen Quellen blockiert eine Validierungs-Function nicht.

Nein. Eine Validierungs-Function kann nur Fehler zurückgeben. Sie kann keine Mengen ändern, keine Artikel entfernen und keine Preise bearbeiten. Der Käufer sieht die Meldung und ändert den Warenkorb selbst.

Allein nicht. Eine Function darf bei öffentlichen Apps keine Netzwerkaufrufe machen, deshalb übergibt die App Zählerstände über Metafelder, und die Function liest einen Snapshot. Sie kann keinen Bestand und keine Zeitfenster reservieren, sodass zwei Checkouts, die fast gleichzeitig um den letzten Platz abschließen, beide durchgehen können.

Bereit, die Kontrolle über deine Bestellungen zu übernehmen?

OrderRules kostenlos testen