On an Aura B2B or D2C store, you start from the default checkout flow Salesforce provides, then customize it in Flow Builder. Here is the high-level path to put a working, tailored checkout on a store.
- Add the Checkout component to the page
In Experience Builder, open the Checkout page of your store and confirm the Checkout component is present. It is what hosts the running checkout flow for buyers.
- Choose a checkout flow
Point the Checkout component at a flow. Use the default checkout flow to launch quickly, or select your own cloned and customized flow once you need different steps or integrations.
- Customize subflows in Flow Builder
Clone the default flow, then add, remove, or reorder subflows. Common edits include a promotion subflow for coupon codes or a purchase-order field for B2B buyers.
- Tune synchronous versus asynchronous steps
For slower integrations such as tax or fraud screening, switch the subflow to asynchronous so the buyer is not blocked, and rely on the session flags to show progress.
- Test the full flow before going live
Run a buyer through every step, including shipping, payment authorization, inventory, and order creation, and confirm an Order record is created with the right line items.
The Salesforce-provided flow that works out of the box; the fastest way to get a functional checkout before customizing.
Screen subflow that captures where the order ships, pulling saved addresses from the buyer account and feeding tax and shipping calculations.
Screen subflow that collects billing details and authorizes payment through the Salesforce Payments API using tokenized card data.
System subflow that checks availability for each cart line before payment and reports progress through the session flags.
System subflow that converts the cart into a Draft Order and writes the new order ID back to CartCheckoutSession.OrderId.
- Slow third-party calls (tax, fraud, payment) freeze a synchronous checkout and quietly drop conversion; make those steps asynchronous and monitor latency.
- Always test on real mobile devices, not just browser dev tools; a checkout that breaks on small screens is among the most expensive defects in commerce.
- Keep custom subflows idempotent: check cartCheckoutSession state before acting so a retry or double-click never creates a duplicate order or double charge.
- Do not let a downstream failure roll back a created order; once CartCheckoutSession.OrderId is set, build safe retries rather than undoing the order.