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.
function createCart(options: CreateCartOptions): Promise<Cart>;
Cart creation options.
/**************************************
* 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"
* }
*
*/
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.