& Users

Snipcart will post completed order information back to your site and if required you can configure the system to associate these with your user accounts. They can then use the orders widget to view their history.

Requiring Sign In

You can allow anonymous purchases. Details about the user from their credit card and billing information are still recorded but you may want to either allow or even force people to be signed on when they make a purchase.

Snipcart offers its own sign-in form and user management and you are free to use that. Currently, the module does not pull in order information from Snipcart but this ability does exist through Snipcart's API. But you may already have or plan to manage your own user accounts through Sitefinity and want to associate orders with these accounts.

There are a couple of switches that you can apply in the Snipcart configuration node in the Advanced Settings.
Allow Anonymous Purchases (true by default)
Use Sitefinity Accounts (false by default)
Sign In URL (/sign-in bydefault)

To force the user to sign in before getting to the checkout screen set the Allow Anonymous to false and Use Sitefinity Accounts to true as well as define where you sign in page is.

When the user moves from the cart summary screen to the check out screen a call to the profile API will be called. If the returned data indicates the user is not logged in then they will be redirected to the sign-in page to sign in.

If the user is signed in then the billing information is updated with the user's name and email. There are fields for a users billing and shipping address details if known but Sitefinity doesn't store these by default and so these are always empty.

If you do have this information and wish it to be populated you can create your own profile API that returns a Pdr.Sitefinity.Snipcart.Model.Profile JSON class. You can have the site use this new API by replacing the attribute defined in the core widget template.

<div id="snip-cart-config" data-profileApi="@profileApi"></div>