createCart( )


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.

Permissions
Manage eCommerce - all permissions
Manage Stores - all permissions
Manage Restaurants - all permissions
Manage eCommerce - Admin Permissions
Learn more about app permissions.
Method Declaration
Copy
function createCart(options: CreateCartOptions): Promise<Cart>;
Method Parameters
optionsCreateCartOptions

Cart creation options.

Returns
Return Type:Promise<Cart>
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" * } * */
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Did this help?