> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # Method name: createCart(options: CreateCartOptions) # Method package: wixEcomBackend # Method menu location: wixEcomBackend --> cart --> createCart # Method Link: https://dev.wix.com/docs/velo/apis/wix-ecom-backend/cart/create-cart.md # Method Description: Creates a new cart. The `createCart()` function returns a Promise that resolves to the new cart when it's created. > **Note:** When adding catalog items, `options.lineItems.catalogReference` is required. # Method Code Examples: *** Note: do not assume any prop names or enum values other than the ones in the example. ## Create a cart with minimum required fields ```javascript /************************************** * Backend code - my-backend-file.web.js * *************************************/ import { Permissions, webMethod } from 'wix-web-module'; import { cart } from 'wix-ecom-backend'; export const myCreateCartFunction = webMethod(Permissions.Anyone, async (options) => { try { const newCart = await cart.createCart(options); console.log('Success! Created newCart:', newCart); return newCart; } catch (error) { console.error(error); // Handle the error } }); /************* * Page code * ************/ import { myCreateCartFunction } from 'backend/my-backend-file.web'; // Sample options object: const options = { lineItems: [{ catalogReference: { // appId for Wix Stores Catalog appId: "215238eb-22a5-4c36-9e7b-e7c08025e04e", // example of Wix Stores productId catalogItemId: "c8539b66-7a44-fe18-affc-afec4be8562a" }, quantity: 3 }] } myCreateCartFunction(options) .then((newCart) => { const cartId = newCart._id; const cartCheckoutId = newCart.checkoutId; console.log('Success! Created newCart:', newCart); return newCart; }) .catch((error) => { console.error(error); // Handle the error }); /* Promise resolves to: * * { * "_id": "96a61a4b-6b61-47d1-a039-0213a8230ccd", * "lineItems": [ * { * "_id": "00000000-0000-0000-0000-000000000001", * "quantity": 3, * "catalogReference": { * "catalogItemId": "c8539b66-7a44-fe18-affc-afec4be8562a", * "appId": "215238eb-22a5-4c36-9e7b-e7c08025e04e" * }, * "productName": { * "original": "Shirt", * "translated": "Shirt" * }, * "url": "https://example.wixsite.com", * "price": { * "amount": "10", * "convertedAmount": "10", * "formattedAmount": "€10.00", * "formattedConvertedAmount": "€10.00" * }, * "fullPrice": { * "amount": "10", * "convertedAmount": "10", * "formattedAmount": "€10.00", * "formattedConvertedAmount": "€10.00" * }, * "priceBeforeDiscounts": { * "amount": "10", * "convertedAmount": "10", * "formattedAmount": "€10.00", * "formattedConvertedAmount": "€10.00" * }, * "descriptionLines": [], * "image": "wix:image://v1/3c76e2_c5331f937348492a97df87b0a3b34ea4~mv2.jpg#originWidth=1000&originHeight=1000", * "availability": { * "status": "AVAILABLE" * }, * "physicalProperties": { * "sku": "364115376135191", * "shippable": true * }, * "couponScopes": [ * { * "namespace": "stores", * "group": { * "name": "collection", * "entityId": "00000000-000000-000000-000000000001" * } * }, * { * "namespace": "stores", * "group": { * "name": "product", * "entityId": "c8539b66-7a44-fe18-affc-afec4be8562a" * } * } * ], * "itemType": { * "preset": "PHYSICAL" * }, * "paymentOption": "FULL_PAYMENT_ONLINE" * } * ], * "buyerInfo": { * "memberId": "c43190d2-eea3-493e-b6e8-f146850c6873" * }, * "currency": "EUR", * "conversionCurrency": "EUR", * "buyerLanguage": "en", * "siteLanguage": "en", * "taxIncludedInPrices": false, * "weightUnit": "KG", * "subtotal": { * "amount": "30", * "convertedAmount": "30", * "formattedAmount": "€30.00", * "formattedConvertedAmount": "€30.00" * }, * "appliedDiscounts": [], * "inSync": false, * "_createdDate": "2022-05-16T12:04:01.244Z", * "_updatedDate": "2022-05-16T12:04:01.244Z" * } * */ ``` ---