Skip to main content

Checkout

WooCommerce's classic checkout, re-skinned: contact, address, shipping and payment in one column; the order in the other. Every gateway and every plugin hook keeps working, and it shows the "thank you" receipt after paying, on the same page.

The checkout: contact, billing details and the order panel beside them

And the receipt, on the same page, once the order is paid:

The receipt: the order facts, its lines and the billing address

ComponentWhat it is
CheckoutThe whole thing
Checkout FormThe checkout without its summary
Checkout summaryThe "Your order" panel on its own

For two columns of your own, place Checkout Form and Checkout summary side by side.

Not for the checkout block

This re-skins the classic checkout, which is a different form. On a shop using WooCommerce's checkout block, this component would style something your customers never reach — the settings screen and the builder panel both say so when they detect it.

Skipping the cart page​

Fancy Etch → Shop can take one screen out of the way of buying: /cart sends people to the checkout, the mini cart offers "Checkout" alone, and the checkout's order summary becomes editable — a stepper and a remove button on every line.

The three go together on purpose. Taking the cart page away without letting people fix a quantity where they land leaves somebody who added two of the wrong thing with nowhere to go.

Props

PropTypeDefaultWhat it does
Screen to previewchoice: form, receipt, failedformThis one block is two screens: WooCommerce renders the checkout before paying and the “thank you” receipt afterwards, on the same page. The canvas never has a paid order, so this is how the receipt gets looked at while you style it. It changes nothing on the site.
Colors → Card backgroundtextvar(--fe-woo-surface, #ffffff)
Colors → Borderstextvar(--fe-woo-border, #e8ebef)
Colors → Place order buttontextvar(--fe-woo-accent, #111d2e)
Colors → Button texttextvar(--fe-woo-accent-color, #ffffff)
Colors → Buttons on hovertextvar(--fe-woo-accent-hover, color-mix(in srgb, var(--fe-woo-checkout-accent, #111d2e) 85%, var(--fe-woo-checkout-accent-color, #ffffff)))
Colors → Button text on hovertextvar(--fe-woo-accent-color-hover, var(--fe-woo-checkout-accent-color, #ffffff))
Include the order summaryon / offonOff leaves only the form, so the “Your order” panel can be placed on its own with the Checkout summary component. Put exactly one summary on the page: two of them and WooCommerce refreshes whichever the browser finds first.

Variables of its own

VariableDefaultWhat it controls
--fe-woo-checkout-invalidvar(--fe-woo-danger, #b91c1c)A field that needs correcting.
--fe-woo-checkout-positivevar(--fe-woo-success, #15803d)A coupon that applied.
--fe-woo-checkout-sale-bg#dcfce7The badge on a line that is on sale.
--fe-woo-checkout-sale-color#15803dIts text.
--fe-woo-checkout-dangervar(--fe-woo-danger, #b91c1c)A payment that failed, or a line that cannot be bought.
--fe-woo-checkout-danger-bgvar(--fe-woo-danger-soft, #fee2e2)The pale background behind it.

The pieces​

Placed on their own, to lay the checkout out yourself. They read the same variables as the whole component.