Skip to main content

Order Received

OrderReceivedProvider owns the checkout page's two moments: a checkout slot for the in-progress checkout and a received slot for the thank-you experience. The received components read the receivedOrder source and render the order WooCommerce just created.

When To Use This Family​

Use this family on the WooCommerce checkout page. After a customer places an order, the Store API redirect lands back on the checkout page's order-received endpoint; without this family nothing renders there and the customer sees the empty checkout shell again.

Quick Start​

Checkout page with received content
<OmeWooOrderReceivedProvider>
{#slot checkout}
<OmeWooCheckoutProvider>
{#slot default}
<OmeWooCheckoutForm />
{/slot}
</OmeWooCheckoutProvider>
{/slot}
{#slot received}
<OmeWooOrderReceivedNotice />
<OmeWooOrderReceivedDetails />
<OmeWooOrderReceivedItems />
<OmeWooOrderReceivedTotals />
<OmeWooOrderReceivedCustomerDetails />
{/slot}
</OmeWooOrderReceivedProvider>

Drop your existing checkout composition into the checkout slot unchanged. Pages that keep their checkout composition without the provider keep today's behavior.

Components​

Component keyRole
OmeWooOrderReceivedProviderCheckout page shell. Switches between the checkout slot and the received slot.
OmeWooOrderReceivedNoticeThank-you notice with the order status.
OmeWooOrderReceivedDetailsOrder detail rows: number, date, email, total, and payment method.
OmeWooOrderReceivedItemsPurchased item rows with name, quantity, and total.
OmeWooOrderReceivedTotalsOrder totals rows.
OmeWooOrderReceivedCustomerDetailsBilling and shipping addresses plus the payment method title.

Slot Switching And Security​

The received slot renders only when a validated order is present. Validation mirrors WooCommerce's own rules:

  • Guest orders require the order key from the URL, compared in constant time.
  • Signed-in customers may view their own orders without a key.
  • Trashed and missing orders are rejected.

When validation fails, no data source is registered and nothing about the order is disclosed: receivedOrder.isPresent is falsy everywhere, and the checkout slot renders instead with its normal empty-cart behavior.

Block Themes And The Order Confirmation Template​

On WooCommerce block themes, WooCommerce replaces the page template with its Order Confirmation template on order-received requests. When the checkout page carries the provider, Oh My Etch removes that replacement so your composed page renders. Pages without the provider keep the theme's template.

Builder Preview​

OrderReceivedProvider exposes preview.endpoint, a select that switches the builder canvas between the checkout slot and the received slot. The received components render sample data in the builder; the storefront always renders the validated order.

Dynamic Data​

The family reads the receivedOrder source, including its items and totals loops. See Woo Dynamic Data Tree for every field.