Carts and checkout
On this page
A cart holds a customer’s selections until checkout turns it into an order. Use this page to see how that happens, what you can change about checkout with configuration alone, and where a change needs work on the theme.
How a cart becomes an order
- A visitor adds a product and StoreConnect creates a Cart for their session (web, POS or API). An anonymous cart lives only as long as the browser session; signing in attaches the cart to the customer, so they can come back to it later. See About carts: statuses, sessions, flows.
- The customer moves through the checkout steps: customer details, shipping, then payment. Each step updates the cart’s status.
- On successful payment (or a quote request), the cart converts into an Order with Status
Draft, and the order products and payment are written to Salesforce; see Cart to order conversion and How an order is recorded in Salesforce. - The order’s Checkout Step ends in
-syncinguntil payment finalizes, then in-finalizedwhile the records sync to Salesforce, and reachescompletewhen the sync is done. Trigger Flows and transactional emails fromcomplete, not from order creation; see About order checkout steps. - A web cart that has not converted a set time after it was created is marked abandoned, and can then be reported on or cleaned up. The window is 10 hours by default and is set with the
cart_abandoned_hoursstore variable; see Process empty and abandoned carts.
What you can configure without changing the theme
Most checkout behavior is controlled from Salesforce, through Store settings, store variables and the records below. Each row links to the article that covers it.
Customer details step
| To | See |
|---|---|
| Collect a company name, or split the name into first and last name fields | Collect company details at checkout, Show first and last name fields at checkout |
| Make state and postcode optional for countries that do not use them | Address field localization at checkout |
| Offer address autocomplete | Google address autocomplete, Addressfinder integration |
| Let the customer ship to someone else, or add delivery instructions | Ship items to a third party, Add delivery instructions with shipping notes |
| Ask extra questions, with conditions that show or hide them based on earlier answers | Custom forms (checkout forms and product forms) |
| Require acceptance of terms, or a signature | Require terms & conditions acceptance at checkout, Collect customer signature at checkout |
| Block bots | Adding captcha to your checkout flow |
Shipping step
| To | See |
|---|---|
| Set flat, tiered, weight or price based rates, and free shipping for chosen products | Custom shipping rates |
| Quote live carrier rates | Set up shipping providers |
| Offer collection from a store or warehouse | Click-and-collect configuration |
Payment step
Which payment methods a customer sees depends on the payment providers configured for the store, plus a small number of per-customer settings.
| To | See |
|---|---|
| Offer cards, ACH, buy now pay later, or wallet buttons on product and cart pages | Payment methods, Express checkout |
| Let approved B2B customers pay on account with a PO number, per Account and Contact | Pay on account at checkout |
| Let customers pay with account credit or loyalty points | Account credit, Loyalty points |
| Take a deposit at checkout and the balance later | Accept deposits for purchases |
| Pass a payment provider’s fee to the customer | Passing payment surcharges to customers |
Prices and offers
| To | See |
|---|---|
| Apply automatic discounts, or promo codes the customer enters | Discounts, Promotions |
| Sell and redeem vouchers | Vouchers |
| Hide prices and take quote requests instead of payment | Enable customers to request product quotes |
| Let the customer choose the amount, for donations and tips | Variable pricing for donations and tips |
Carts
| To | See |
|---|---|
| See every cart a customer has, and let them reorder from a past cart | Manage multiple carts per customer |
| Build a cart in Salesforce and send the customer a link to pay | Build and send a cart to a customer |
| Link straight to a pre-filled cart or checkout from an email, ad or Salesforce Flow | Direct to cart link |
| Report on carts, or find out why one did not convert | Review carts and generate cart reports, Troubleshoot carts |
After checkout
| To | See |
|---|---|
| Send order confirmation, shipped and fulfilled emails | Transactional emails |
| Define the statuses an order moves through | Set up order paths |
| Record who assisted a sale | Link a staff member to an order |
What needs theme work
The options above cover the checkout as StoreConnect ships it. Anything conditional on data the standard checkout does not look at is a theme change, made in Liquid by whoever maintains your theme:
- Showing or hiding a payment method based on a value on the cart, the customer or the products in it (for example, offering only pay on account when a custom checkbox on the cart is set). The standard checkout decides payment methods from the payment providers and the Account and Contact settings listed above, not from custom fields.
- Changing the order or layout of the checkout steps, or adding a step.
- Adding fields to checkout beyond what store variables and custom forms provide, and writing them to the order.
For these, start with Theme templates for how a client theme overrides the checkout templates, Liquid controllers for running logic server-side during checkout, and Cart and checkout configuration in the store design section for the design-side settings. If you are unsure whether a change is configuration or theme work, contact support with the behavior you want.
In this section
- About carts: statuses, sessions, and flows
- Process empty and abandoned carts
- Manage multiple carts per customer
- Review carts and generate cart reports
- Build and send a cart to a customer
- Direct to cart link
- Cart to order conversion
- Express checkout
- Collect company details at checkout
- Ship items to a third party
- Adding captcha to your checkout flow
- Troubleshoot carts
Was this article helpful?
Thanks for your feedback! It helps us improve our docs.