Basket (Cart)
This page describes all of the basket (or cart) methods available within the Limio SDK.
Quick flow (offer → basket → checkout)
import React from "react"
import { useBasket } from "@limio/sdk"
import { getCurrentBasketId } from "@limio/shop/src/shop/checkout/basket"
export const SelectOfferButton = ({ offer }) => {
const {
basketLoading,
initiateCheckout,
addOfferToBasket,
navigateToCheckout,
pageOptions,
} = useBasket()
const onSelect = async () => {
const checkoutId = getCurrentBasketId()
if (!checkoutId) {
await initiateCheckout({ order: { orderItems: [{ offer, quantity: 1 }] } })
} else {
await addOfferToBasket({ offer, quantity: 1 })
}
if (pageOptions?.pushToCheckout) {
await navigateToCheckout()
}
}
return (
<button disabled={basketLoading} onClick={onSelect}>
{basketLoading ? "Working…" : offer?.data?.attributes?.cta_text__limio || "Select"}
</button>
)
}useBasket()
useBasket()State
basketLoading
basketLoadingorderItems
orderItemsformattedTotal
formattedTotalexpiresAt
expiresAtCreate or update a basket
initiateCheckout (new basket)
initiateCheckout (new basket)addOfferToBasket (existing basket)
addOfferToBasket (existing basket)Update or remove items
removeFromBasket
removeFromBasketswapOffer
swapOfferupdateItemQuantity
updateItemQuantityclearOrderItems
clearOrderItemsPromotions
redeemPromoCode
redeemPromoCoderemovePromoCode
removePromoCodeCheckout
navigateToCheckout
navigateToCheckoutsetCheckoutDisabled
setCheckoutDisabledValidation and metadata
validateBasket
validateBasketupdateCustomField
updateCustomFieldupdateBasketDetails
updateBasketDetailsSubscription update checkouts
Cart persistence and authentication
Notes for production UI
Legacy (deprecated)
addToBasket
addToBasketField
Type
Description
goToCheckout
goToCheckoutbasketItems
basketItemsLast updated
Was this helpful?

