Updates a specified cart's properties.
The updateCart()
function returns a Promise that resolves when the specified cart's properties are updated.
Note: When updating catalog items, options.lineItems.catalogReference
is required.
function updateCart(_id: string, options: UpdateCartOptions): Promise<Cart>;
ID of the cart to be updated.
Available options to use when updating a cart.
Apply a coupon to a cart
/**************************************
* Backend code - my-backend-file.web.js *
*************************************/
import { Permissions, webMethod } from "wix-web-module";
import { cart } from "wix-ecom-backend";
export const myUpdateCartFunction = webMethod(
Permissions.Anyone,
async (_id, options) => {
try {
const updatedCart = await cart.updateCart(_id, options);
console.log("Success! Updated cart:", updatedCart);
return updatedCart;
} catch (error) {
console.error(error);
// Handle the error
}
},
);
/*************
* Page code *
************/
import { myUpdateCartFunction } from "backend/my-backend-file.web";
// Sample cartId:
const _id = "ba47a627-7bb8-4918-89b2-6a72af464765";
// Coupon code to be applied to the cart
const updateOptions = {
couponCode: "SUMMERSALE10",
};
myUpdateCartFunction(_id, updateOptions)
.then((updatedCart) => {
// appliedCoupon boolean resolves to true if coupon object exists
const appliedCoupon = !!updatedCart.appliedDiscounts[0].coupon;
console.log("Success! Updated cart:", updatedCart);
return updatedCart;
})
.catch((error) => {
console.error(error);
// Handle the error
});
/* Promise resolves to:
*
* {
* "_id": "ba47a627-7bb8-4918-89b2-6a72af464765",
* "appliedDiscounts": [
* {
* "coupon": {
* "_id": "fbb94b06-7447-4161-9c48-59bfcdc39e77",
* "code": "SUMMERSALE10"
* }
* }
* ],
* "lineItems": [
* {
* "_id": "00000000-0000-0000-0000-000000000001",
* "quantity": 1,
* "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": {
* "visitorId": "4c7ce95c-9fb3-417d-9f02-b41e82b841f7"
* },
* "currency": "EUR",
* "conversionCurrency": "EUR",
* "buyerLanguage": "en",
* "siteLanguage": "en",
* "taxIncludedInPrices": false,
* "weightUnit": "KG",
* "subtotal": {
* "amount": "10",
* "convertedAmount": "10",
* "formattedAmount": "€10.00",
* "formattedConvertedAmount": "€10.00"
* },
* "inSync": true,
* "_createdDate": "2022-05-15T11:31:30.484Z",
* "_updatedDate": "2022-06-16T09:20:23.388Z"
* }
*
*/
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.