Passer au contenu principal

Aperçu

Le panier est stocké dans le localStorage du navigateur et persiste entre les rechargements de page. Toutes les opérations sur le panier sont synchrones et mettent à jour l’état local immédiatement.
L’objet komerza est disponible globalement après l’inclusion du script. Appelez komerza.init('votre-id-boutique') avant d’utiliser d’autres méthodes.

Ajouter des articles

Ajoutez une variante de produit au panier avec une quantité spécifiée.
komerza.addToBasket(productId, variantId, quantity);

Paramètres

productId
string
requis
L’identifiant unique du produit
variantId
string
requis
L’identifiant unique de la variante du produit
quantity
number
Combien d’articles ajouter (par défaut 1 si non fourni)

Exemple

// Ajouter 2 articles d'une variante de produit spécifique
komerza.addToBasket("prod_abc123", "var_xyz789", 2);

// Gestionnaire du bouton ajouter au panier
document.getElementById("add-to-cart").addEventListener("click", () => {
  const productId = "prod_abc123";
  const variantId = document.getElementById("variant-select").value;
  const quantity = parseInt(document.getElementById("quantity").value) || 1;

  komerza.addToBasket(productId, variantId, quantity);
  alert("Ajouté au panier !");
});

Voir le panier

Obtenez tous les articles actuellement dans le panier.
const items = komerza.getBasket();

Retours

Retourne un tableau d’objets BasketItem :
interface BasketItem {
  productId: string; // Identifiant du produit
  variantId: string; // Identifiant de la variante
  quantity: number; // Nombre d'articles
}

Exemple

const basket = komerza.getBasket();

if (basket.length === 0) {
  console.log("Le panier est vide");
} else {
  basket.forEach((item) => {
    console.log(
      `Produit : ${item.productId}, Variante : ${item.variantId}, Qté : ${item.quantity}`,
    );
  });
}

Obtenir le nombre d’articles

Obtenez le nombre total d’articles dans le panier (somme de toutes les quantités).
const count = komerza.getBasketItemCount();

Retours

Retourne un nombre représentant la quantité totale de tous les articles.

Exemple

function mettreAJourBadgePanier() {
  const count = komerza.getBasketItemCount();
  document.getElementById("cart-count").textContent = count;

  if (count > 0) {
    document.getElementById("cart-badge").style.display = "block";
  }
}

mettreAJourBadgePanier();

Retirer des articles

Retirez entièrement une variante de produit du panier.
komerza.removeFromBasket(productId, variantId);

Paramètres

productId
string
requis
L’identifiant du produit à retirer
variantId
string
requis
L’identifiant de la variante à retirer

Exemple

function retirerArticle(productId, variantId) {
  if (confirm("Retirer cet article du panier ?")) {
    komerza.removeFromBasket(productId, variantId);
    mettreAJourAffichagePanier();
  }
}

Vider le panier

Retirez tous les articles du panier en une seule fois.
komerza.clearBasket();

Exemple

document.getElementById("clear-cart").addEventListener("click", () => {
  if (confirm("Retirer tous les articles du panier ?")) {
    komerza.clearBasket();
    mettreAJourAffichagePanier();
  }
});

Sauvegarde et restauration

Créez des sauvegardes de l’état du panier et restaurez-les ultérieurement. Utile pour gérer les erreurs de paiement ou implémenter des fonctionnalités « enregistrer pour plus tard ».

Créer une sauvegarde

const success = komerza.createBasketBackup();
Retourne true si la sauvegarde a été créée avec succès.

Restaurer une sauvegarde

const success = komerza.restoreBasketFromBackup();
Retourne true si la sauvegarde a été restaurée avec succès.

Exemple

async function procederAuPaiement() {
  komerza.createBasketBackup();

  try {
    const order = await komerza.checkout(email, couponCode);
    // Succès - redirection vers le paiement
  } catch (error) {
    // Restaurer le panier en cas d'échec
    komerza.restoreBasketFromBackup();
  }
}