SELL · COMMERCE

Sell from the same site.

Products, orders, packages, memberships, documents and shopper accounts are built into Praxis, with no plugin to add. Shoppers pay on Stripe's own checkout page, and the money goes straight to your own Stripe account.

Every figure on this page is as of October 2026.
Commerce, the Orders list on a demo store: $298.00 received, 2 paid and 1 shipped, and the three demo orders with their status and total.
On this pageWhat it does
  1. What it does
  2. Every order, its money and its next step, on one screen.
  3. Your catalog, written here and kept in your site's own database.
  4. Sell a set of things, once.
  5. Recurring access, and the payment account behind all of it.
  6. Files, each with a rule about who may open it.
  7. How your shoppers sign up, sign in and hear from you.
  8. What your shoppers see.
  9. A store that is also a Praxis site.
  10. Bring a WooCommerce store.
  11. How it works
  12. The path of one order.
  13. What keeps it safe
  14. Common questions

What it does

Commerce is one room in your site's admin, with six screens. Each one is also something you can ask the copilot for in a sentence, and anything that changes what shoppers see, or touches an order, stops at an approval card first.

A paid demo order's detail: Trail Socks at $16.00, the totals, both addresses, the payment by card through Stripe with View in Stripe, and the acts Mark as shipped and Cancel order.

Orders

Every order, its money and its next step, on one screen.

  • "Money received" sits at the top, then "All orders", with search, a payment filter and "Needs attention" for anything waiting on you.
  • An order opens to its lines and totals, both addresses, the payment, any coupon, the customer's own note, and "View in Stripe".
  • Four acts, each with its own undo: "Mark as paid", for bank transfer, cheque or cash on delivery; "Mark as shipped", with the carrier and the tracking number; "Mark completed"; and "Cancel order", which puts the stock back and refunds nothing.
  • Four plain-text emails keep the shopper informed: the receipt, shipped, completed and cancelled. "Emails" shows each one, with "Send again".
  • A refund you issue in Stripe appears on the order, with its date, amount and reason. A refund that Stripe later fails stays visible, and stops counting.
  • Issue a refund from the order screen, through Stripe. Coming soon.
  • Download up to 5,000 orders as a spreadsheet file.
  • In a sentence: "Mark order 1042 shipped" · "Resend the receipt".
Commerce, Products on a demo store: the form to change the Harbor Hoodie, with its name, price, stock, category, description and picture.

Products

Your catalog, written here and kept in your site's own database.

  • "Set up the store" makes your product catalog and three draft pages, Shop, Cart and Checkout, after one card: "Set up your store?".
  • "Add product" asks for a name, a price in US dollars, the stock, a category, a description and a picture.
  • A new product starts hidden, so nothing reaches the shop until you choose "Put on sale". "Change" edits it, and "Take out of the store" withdraws it.
  • Products that came across from a WooCommerce store are listed here too. You edit them here like any other product. Coming soon.
  • Create coupons with their own rules. Product variations, such as sizes and colours, are coming soon.
  • Set your own shipping zones and rates, and charge tax worked out by Stripe Tax at checkout. Coming soon.
  • Back-in-stock notices are built for stores moved from WooCommerce that had sign-ups on: the shopper's request is kept and one email goes out when the product is back on sale. A switch for stores opened on Praxis is coming soon.
  • In a sentence: "Set up the store" · "Add an $8 sourdough loaf and put it on sale".

Packages

Sell a set of things, once.

  • A package is a named collection of articles, documents and media that a reader buys with a single payment: "New package", "What's in it", "Sell it on its own" with its price, "Membership tiers that include it", and "Sales". A package can be archived or deleted.
  • Buying a package needs a shopper account. A full refund removes its access; a partial refund does not.
  • In a sentence: "Make my three guides a package called Meal Plans and sell it for $49".
Commerce, Membership on a site that does not take payments yet: the three conditions for selling, each not met, and the Payment account card, Not connected, with its Stripe secret key box and Connect Stripe.

Membership

Recurring access, and the payment account behind all of it.

  • Your payment account. Paste your Stripe secret key and choose "Connect Stripe". Praxis checks the key with Stripe before it stores it, keeps it encrypted, and only ever shows its last characters again. Stripe's payment notifications are registered for you.
  • Connection checks. "Check the connection" asks Stripe whether your saved key still works, and records the answer with its time. If the payment notifications are not registered, an Admin can choose "Register payment notifications again" and approve its card.
  • What members pay. "What members pay" holds monthly or yearly tiers, what each tier opens (everything, or the packages you name), and one-time offers. A membership is a Stripe subscription, and buying one needs a shopper account.
  • Ready to sell. A strip checks the three things selling memberships and packages needs: a connected payment account, something priced, and a way for customers to sign in.

Documents

Files, each with a rule about who may open it.

  • Upload PDFs and videos of up to 50 MB each, and give each one a rule: "Public", "Members only" or "In a package"; a PDF can also be "Gated" behind a form, released once the visitor sends it.
  • Copy a file's link, or remove it. Contributors and every role above them can work here.

Customer identity

How your shoppers sign up, sign in and hear from you.

  • "Customer registration" decides whether people can create their own account.
  • "How your account pages look" sets their layout, their wording, and the links to your privacy policy and terms.
  • "Customer email" sends from your own email provider, Resend or SMTP, with your own from and reply-to addresses, and a test send to prove it.
  • "Claims" holds the shopper accounts that came across from your old site, waiting for their owners to claim them. Passwords never move.
  • Every customer and every member, listed on one screen. Coming soon.

On your site

What your shoppers see.

The shop.

The shop.

A shop page of up to 24 product cards, and a page for each product with "Add to cart". A site with a package or a membership tier adds an "Account" link to its footer, so shoppers find their way back.

Checkout.

Card payments run on Stripe's own hosted page, made with your own key, so the card is typed on Stripe's page and never on yours. Bank transfer, cheque and cash on delivery place the order as awaiting payment.

Guests welcome.

Shoppers can buy without an account. Their orders join their account once they prove the mailbox is theirs.

The receipt.

A receipt on the page after payment, and the same receipt by email.

The shopper's account.

At /account: "What you bought", "Your downloads", "Your coupons" and "Membership". Shoppers sign in with a password or "Email me a sign-in link", and shoppers from your old store claim their imported account here.

Members-only articles.

The rest of the article is removed from the page before it leaves the server. The reader sees "The rest of this article is for members", with buttons to buy, to create an account or to sign in.

With the experience layer

A store that is also a Praxis site.

Products recommended to each shopper.

The Recommendations section ranks product cards, with their prices, for each visitor from the affinity engine's interest scores, and falls back to your own order when there is nothing to rank on. Our engineers set the engine up with you.

An offer at the cart.

A time-boxed live offer can appear on the page after a shopper adds something to the cart, only with their consent, and leaves when its time is up.

Revenue in your numbers.

Analytics counts revenue as purchases minus refunds, each in the period it happened, and every campaign shows what it earned. A paid order from a shopper who declined analytics still counts, without their identity.

Moving a store

Bring a WooCommerce store.

  • A WooCommerce import lands in Praxis's own tables: products and their variations, categories, reviews, coupons, tax, shipping, orders and their refunds, order notes, downloads and tracking.
  • What came across keeps working at checkout: tax tables by class and address, with priority and compounding; flat-rate, free and pickup shipping from your zones; coupons with their spend and usage limits, product rules and expiry; and downloads with their expiry, limits and access log.
  • A moved store runs on Praxis's own checkout, paid into your own Stripe account.
  • Every store is different, so our engineers scope each move with you.

Our migration service

What converts

How it works

The path of one order.

  1. Cart to draft order.

    The cart applies the store's coupons and shipping rates. Checkout creates a draft order with both addresses and the shopper's note.

  2. Stripe's page.

    A card payment opens a Stripe-hosted checkout page made with your own key: one payment for the whole total.

  3. Paid on Stripe's word.

    When Stripe's signed event arrives, the order becomes paid exactly once, the stock drops and never below zero, and any coupon use is spent. A payment whose amount or currency does not match never pays the order.

  4. Right without waiting.

    If Stripe's event is late, the shopper's return page and your order screen both ask Stripe directly and confirm the order through the same step, so the late event changes nothing.

  5. Fulfilled.

    You mark the order shipped, completed or cancelled, each with an undo, and the shopper's emails go out through your own email provider or the platform's, retried on the next change.

What keeps it safe

Your money, your account.

Payments go to your own Stripe account. Praxis takes no cut of your sales.

A key that stays sealed.

Your Stripe secret key is checked with Stripe before it is stored, kept encrypted, and never shown again beyond its last characters. No copilot tool takes it.

Stripe decides what is paid.

A card order becomes paid only on a signature-checked event from Stripe, or on Stripe's own answer when asked, and only once. The amount and the currency must match. An order paid offline is marked paid by you, with "Mark as paid".

Every act can be taken back.

"Mark as paid", "Mark as shipped", "Mark completed" and "Cancel order" each carry an undo.

Approval for anything public.

When the copilot sets up a store, puts a product on sale, changes a price, sends an order email or acts on an order, it stops at an approval card that says what will happen.

Paid access that fails closed.

Whether a reader may open a members-only article or a file in a package is decided from their signed-in session, never from the visitor profile, and access is refused when anything is unclear. The gate covers the links you share after you set it. A shopper whose browser sends Global Privacy Control keeps everything they paid for.

Common questions

Do I need WooCommerce, or a plugin?

No. The store is part of Praxis, in your site's own database.

Where does the money go?

To your own Stripe account. Praxis records the order and never holds your money.

Can I charge tax and shipping?

On a store you moved from WooCommerce, yes: its tax tables, shipping zones and coupons come across and are honoured at checkout. Every store can also set its own shipping zones and rates, with tax worked out by Stripe Tax at checkout. Coming soon.

Can I refund from Praxis?

Praxis records every refund issued in Stripe on its order, with the amount, the reason and the date, and takes it off your revenue in the period it happened. You issue a refund from the order screen, through Stripe. Coming soon.

Can I sell digital things?

Yes: documents and media in a package, sold once; memberships, billed monthly or yearly; and PDFs or videos released to a visitor after they send a form.

What happens to the shoppers from my old store?

Their accounts come across waiting to be claimed, without their passwords, and each shopper claims theirs from your shop's account page.