Overview
An order is a placed purchase. It’s created by completing a Cart and holds its own copy of everything the customer agreed to — items, prices, taxes, discounts and delivery. Anything your storefront stored in the cart’smetadata is copied onto the order too, including onto every order of a checkout split between sellers.
Order attributes
Every amount comes in two forms:
total is the raw value ("135.60") and display_total is formatted for the currency ("$135.60"). Render the display_ one.
Statuses
An order tracks payment and delivery separately, because they genuinely move at different speeds. An order can be paid but not yet sent, or sent and later partly refunded.payment_status
fulfillment_status
A canceled parcel is ignored while others are still live, so an order whose
second parcel was recalled is described by the first.
delivered means every parcel arrived. A fulfillment that travels as several
consignments — a machine in three boxes, a pallet under one freight number —
is only delivered when the last of them lands, and the order follows from
there. See where the parcel actually
is.
Both are worked out automatically from the order’s payments, refunds and fulfillments. You change an order’s status by acting on those — taking a payment, sending a parcel, issuing a refund — never by setting the status yourself.
Reading an order
A customer can fetch their own order; guests use the order token they got at checkout.Managing orders
Back-office work happens through the Admin API.refund_amount names part of that share to return, keeping a restocking fee
back, say. It is refused on an ordinary order rather than ignored: the gateway
returns the whole captured payment there, so a cap could not be honoured, and
accepting one would refund everything while you believed part was held back.
It records who canceled, and optionally why: the reason comes from a list you
manage yourself under Settings, so it can say what your team actually means. A
staff-facing note can go alongside it.
Orders don’t change quietly
A placed order is meant to stay put. Its items and prices are written when the cart is completed and then left alone, so an order keeps saying what the customer actually agreed to — even if a product’s price changes the next day. Where admin edits are allowed, totals are re-added from the order’s existing rows rather than worked out again from scratch. Editing an order must never quietly re-apply today’s promotions and hand the customer a different discount than the one they accepted.Money on an order
Tax, discounts and fees are kept as separate records, so you can ask what tax was charged without picking through a mixed list. See Order totals.Events
Orders publish events —order.placed, order.canceled, order.paid and more — which also reach webhooks. This is the right way to push orders to another system, trigger fulfillment, or start an email flow.
Related
- Carts — shopping and checkout
- Fulfillments — getting items to the customer
- Returns, Exchanges & Claims — after the sale
- Payments — payment methods and processing

