Checkpost

How Checkpost works

A technical overview for merchants, developers and agencies evaluating checkout rule apps.

Architecture

  1. Rules are data. The admin app saves your rules as JSON in an app-owned metafield ($app:checkpost/rules) on the Shopify validation or customization that supports them.
  2. A Shopify Function evaluates them. On every cart update and checkout step, Shopify runs Checkpost's Cart and Checkout Validation Function (Rust compiled to WebAssembly) against the live cart.
  3. Only the data rules need is read. Product tags and collections referenced by your rules are passed as input-query variables, so Shopify resolves membership for those alone. Each Function has a fixed input query, and the product evaluator avoids decoding optional product details that its active rules do not need.
  4. Errors appear where they belong. Each matching rule returns your message, targeted at the relevant checkout field (address line, ZIP, email…) or the top of checkout.

When rules run

StepWhat's knownRules that can fire
CartProducts, quantities, customer (if logged in)Quantity, value, product and customer rules set to “in the cart and at checkout”
Checkout+ email, shipping address, delivery methodAll rules, including address and delivery rules
Pay nowEverything, and missing email or phone counts as emptyAll rules: the final, authoritative check

Conditions on information the shopper hasn't entered yet never block. A ZIP rule waits until there is a ZIP.

Consistency between the simulator and checkout

The rule simulator in the admin uses the TypeScript reference implementation of the rule engine. The checkout Function is a Rust port. Every release runs a conformance suite of realistic carts through both and requires identical results.

FAQ

Does it work with Shop Pay, Apple Pay and other express checkouts?

Yes. Checkpost runs on Shopify's server-side Cart and Checkout Validation API, so rules apply in the online store cart, at checkout and to express checkout buttons. No theme code is installed.

Does it slow down checkout?

No measurable amount. Rules are compiled to a WebAssembly Shopify Function written in Rust. A typical store's rules on a 100-line cart use about a quarter of Shopify's instruction budget, and every release is tested against a worst-case cart with all 61 templates enabled.

What happens if the app has an error?

Checkpost creates its checkout validation with "block on failure" turned off, so an unexpected error lets checkout continue rather than blocking a legitimate sale.

What data does the app store?

Live rules are saved on Shopify. The app also stores sessions, AI rule drafts, AI usage and recent rule-change history. Simulator carts are evaluated locally; AI requests send the supplied prompt and rule context to the configured AI provider.

How many rules can I have?

Multiple rules share up to four checkout validations plus payment and delivery customizations. The editor checks supported condition combinations and configuration limits before saving.