# Store with Shopping Cart

The Store with Shopping Cart brings the full e-commerce experience to your app. Users can browse multiple categories of products, view details about those products, add them to a shopping cart, and purchase them with Stripe. This template is perfect for any goods you’re selling through your app, whether physical or digital.

{% embed url="<https://app.arcade.software/share/wdEb0eWSqyHTLX1aAC6r>" %}

### Tips and Things to Know

* It’s important to note that users must be signed in to shop since the shopping cart functionality is tied to a user. If a user is signed out, the template shows a modal asking them to sign up or sign in.
* The way orders work is important to understand. Clicking on any link that takes you to the cart screen or a product page first checks to see if you have an active order (an order that isn’t complete). If no active order is found, one is created for you.
  * In order for the “Add to Cart” button to properly add the product to the current order, this button is actually a list that shows only one item, which is the user’s most recent active but not complete order.
  * Clicking “Add to Cart” creates a new “Order Item” in the current order with the details of the current product. This allows the user to add the same product to the cart multiple times to purchase more than one of a given item.
  * The cart screen similarly is a list of orders filtered to just one item: the user’s most recent active but not complete order.
  * Purchasing an order marks it as complete.
* Purchasing requires our Stripe component so be sure to read the docs for that component if you’re having trouble setting it up.
* The shipping address feature requires Location functionality, which is only available on certain Adalo plans. Be sure to check your plan to see if you have this functionality. You will also need a Google Maps API key.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.adalo.com/feature-templates/store-with-shopping-cart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
