Skip to main content
A design is your own website, uploaded as a ZIP, that PapelShip serves as your storefront. You keep full control of the markup and add commerce in three ways:
  1. Liquid pages: pages/*.liquid render with your store data on the server.
  2. data-ps attributes: plain HTML that PapelShip fills with product data on the server.
  3. The SDK: window.PapelShip for products, cart and checkout in the browser.

Package

Each page listed in config/design.json gets a path on your store. Templates. pages/product.liquid (or .html) is your product page and pages/shop.liquid your shop listing. Without them, PapelShip shows a neutral product or shop page inside your design. Not found. Add pages/404.html (or .liquid) for your own not-found page. Unknown addresses and unknown products show it.

Scan and review

Every upload is scanned before it can go live. Code that attacks customers or the platform is blocked: card-data fields, hidden redirects, forms that post to other sites, requests to PapelShip APIs or other stores, and harmful scripts. Unusual code goes to a PapelShip review first. Fix the listed files and upload again. Edits are saved as drafts; your store keeps the published version. Publish scans exactly the files it sends live: blocked code refuses the publish, and findings that need review wait for a PapelShip review while the store keeps the current version, then go live once approved.

data-ps attributes

Mark elements and PapelShip fills them with product data on the server:

Values

Conditions

Containers

Liquid pages

.liquid pages use the same objects, filters and tags as Liquid themes, including {% app_block %}. See Themes and Liquid. Static exports that use {{ }} for other template engines stay safe: only .liquid pages are rendered.

SDK

The SDK is loaded only on design pages that contain a data-ps binding or a data-app-block placeholder. Call it from a DOMContentLoaded listener. See Commerce and checkout.
On those pages the SDK is available as window.PapelShip.

Components

The code editor’s Insert component menu writes ready-made, editable code: product grid, product card, product page, price, buy button, add to cart, cart count, cart drawer, embedded checkout and collection list. Click a component in the preview to change its settings again.

Store pages

Checkout, cart, sign-in, account and order tracking render inside your design with a layout you pick in the panel. To design them yourself, add pages/checkout.liquid, pages/cart.liquid, pages/login.liquid, pages/account.liquid or pages/track.liquid (or .html) with exactly one locked block, for example <div data-app-block="checkout_form"></div>. The blocks are listed in Platform pages.
Customers always pay on the PapelShip checkout page or its embedded popup. Designs can’t replace checkout or collect card data.