By default, customers won't need to have a user account set up on your concrete5 eCommerce site in order to purchase products. Both "regular" (not-logged-in) users and logged-in users will be able to complete the checkout process.
But what if you'd like to make items available only to users with user accounts? What if you want only certain products to be available to guests? eCommerce makes this easy to set up. Here's what users might see:
In addition to restricting purchase access, requiring login or registration is helpful for saving order history against a username. Enabling user-editable Public Profiles can also allow users to update their saved user attribute data, such as shipping and billing addresses. Making sure users are logged in will also enable the eCommerce Wishlist and Gift Registry options for each user.
Remember that unless you already know precisely who your customers are, and have accounts set up for all of them-- you'll need to enable public registration! This will let people sign up for their own user account, and complete the checkout process when prompted.
If you want all users to log into your concrete5 site before completing their orders, simply go to Dashboard > eCommerce > Settings > Order and enable "Force Users to Login Before Checkout." This is the most simple way to make sure your users are logged in before making a purchase.
If you only want certain products to be purchased by registered users, you'll want to leave the overall "Force Users to Login" option in Order Settings (as discussed above) set to "No". Then you'll need to set each product to require login / registration individually from Dashboard > eCommerce > Products > Product Name > Edit Properties. Find the "Purchase and Stock" heading and set the Requires Login dropdown to "Yes" and save your product properties. With this setting enabled, a user will be prompted for login whenever a product with this option enabled is present in the cart. This means that if a number of non-login-required products are in a cart along side one that does require login, the customer will be prompted to login or register.
Although this setting is easy to overlook, it also effectively requires users to login or registration before checkout. This is because concrete5 needs the user account to be set up before it can actually add it to a group.
This is another option that can be enabled by visiting Dashboard > eCommerce > Products > Product Name > Edit Properties. Find the Groups & Sets heading and check out the option labeled "Place customers in user group." Select at least one group from the list and save your product properties.
A couple of interesting things to note: in later versions of eCommerce, we've hidden the Administrators group by default, so there's less chance of accidentally adding users into the group and giving them edit access. We've also added some language that points out how this will affect the checkout experience. Lastly, make sure you actually have groups set up to choose from-- otherwise your list will be empty.