Skip to main content
shoppy.cart.update(lineId, quantity)
shoppy.cart.update(lines)
Updates the quantity of one or more items in the cart.

Parameters

Single item

ParamTypeRequiredDescription
lineIdstringYesCart line ID
quantitynumberYesNew quantity

Multiple items

ParamTypeRequiredDescription
linesCartLineUpdateInput[]YesArray of updates

Returns

Promise<ShopifyCart>

Examples

Update single item

const lines = shoppy.cart.lines()
await shoppy.cart.update(lines[0].id, 5)

Update multiple items

const lines = shoppy.cart.lines()

await shoppy.cart.update([
    { id: lines[0].id, quantity: 2 },
    { id: lines[1].id, quantity: 4 }
])

Quantity selector

document
    .querySelector('.quantity-input')
    .addEventListener('change', async (e) => {
        const lineId = e.target.dataset.lineId
        const quantity = parseInt(e.target.value)

        if (quantity > 0) {
            await shoppy.cart.update(lineId, quantity)
        }
    })

Increment/decrement buttons

async function updateQuantity(lineId, delta) {
    const line = shoppy.cart.lines().find((l) => l.id === lineId)
    const newQuantity = line.quantity + delta

    if (newQuantity > 0) {
        await shoppy.cart.update(lineId, newQuantity)
    } else {
        await shoppy.cart.remove(lineId)
    }
}
Setting quantity to 0 will not remove the item. Use .remove() instead.