Skip to content

Order Statuses

Understanding Order Statuses

Every order in Cartly has two independent status indicators: payment status and fulfillment status. Together, they describe the complete lifecycle of an order.

Payment Statuses

  • Pending — The order has been created but payment has not been captured. This typically occurs during the brief window between checkout initiation and payment processing.
  • Paid — Payment has been successfully captured via Stripe. The funds are in your account (or pending payout according to your Stripe schedule).
  • Partially Refunded — A portion of the order total has been refunded. The refunded amount is shown on the order detail page.
  • Refunded — The full order amount has been refunded to the customer.
  • Voided — The payment authorization was cancelled before capture. No money changed hands.

Fulfillment Statuses

  • Unfulfilled — No items have been shipped yet. This is the initial state for all new orders.
  • Partially Fulfilled — Some items have been shipped, but not all. This occurs when you split fulfillment across multiple shipments.
  • Fulfilled — All items have been shipped. Tracking information has been added.

Order Lifecycle

A typical order follows this path:

  1. Customer completes checkout → Order created (Pending / Unfulfilled)
  2. Payment captured → (Paid / Unfulfilled)
  3. Items shipped → (Paid / Fulfilled)

Orders remain in your system permanently and cannot be deleted, only archived. This ensures a complete audit trail for accounting and compliance.

Zero Lost Orders

Cartly's checkout workflow uses the Saga pattern to ensure that once a payment is authorized, an order record is always created. Even if the database experiences a transient failure, Temporal retries the order creation activity until it succeeds. The payment and order creation are linked — you will never have a situation where a customer is charged but no order appears in your admin panel.

Order Events

Every status change is recorded as an order event in the timeline. Events include timestamps, the previous and new status, and the user or system that triggered the change. This provides a complete audit trail for every order.

Was this helpful?