// Page Code for /checkout-link import { cart } from 'wix-stores'; import wixLocation from 'wix-location'; /** * Accepts `products` query parameter in Meta format: * - Encoded: products=112233%3A1%2C445566%3A2 * - Unencoded: products=112233:1,445566:2 (still works) * * Each entry is ID:QTY. Colons/commas may be RFC 3986-escaped. * Example final URL for Meta: * https://mysticalcrow.com/checkout-link?products=112233%3A1%2C445566%3A2 */ function parseProductsParam(rawParam) { if (!rawParam || typeof rawParam !== 'string') return []; // Try to decode once; if it throws or changes nothing, we still continue safely let decoded = rawParam; try { // decodeURIComponent will convert %3A -> ":", %2C -> "," decoded = decodeURIComponent(rawParam); } catch (_e) { // If decoding fails, we’ll proceed with the original string } // Split by commas (now that we normalized to ":" and ",") // Trim spaces just in case. return decoded .split(',') .map(s => s.trim()) .filter(Boolean) .map(pair => { const [id, qty] = pair.split(':').map(x => (x || '').trim()); const quantity = Number(qty); return (id && !Number.isNaN(quantity) && quantity > 0) ? { productId: id, quantity } : null; }) .filter(Boolean); } async function addAllToCart(items) { // Wix Stores cart.addProducts accepts an array of product objects. // We’ll add one by one to ensure each promise resolves, but you can batch if desired. for (const item of items) { // If a product has variants/options, you’ll need to pass the relevant // selection data here (e.g., options: [{ optionName, selection }]). // For simple products, productId + quantity is sufficient. await cart.addProducts([{ productId: item.productId, quantity: item.quantity }]); } } $w.onReady(async function () { const { products } = wixLocation.query; if (!products) { // No parameter present; go to cart so the user isn't stuck. wixLocation.to('/cart'); return; } const items = parseProductsParam(products); if (!items.length) { // Parameter present but invalid/empty after parsing wixLocation.to('/cart'); return; } try { await addAllToCart(items); // Success: go straight to checkout wixLocation.to('/checkout'); } catch (_err) { // If anything fails (bad ID, etc.), fall back to cart wixLocation.to('/cart'); } });
top of page

Witch’s ncense Kit – Handcrafted Wooden Box

 

This enchanting handmade Witches in Sun wooden box is a must-have for any magical collection. Each box is hand-painted with care and contains a complete set of our premium self-lighting powder incenses, ready to elevate your rituals and spells.

 

Included Scents:

    •    Love – Enhance connections and draw in love’s energy.

    •    Meditation – Promote focus, clarity, and inner peace.

    •    Lodestone – Attract positivity, opportunities, and success.

    •    Patchouli – Ground your energy while invoking prosperity.

    •    Protection – Ward off negativity and create a safe, sacred space.

    •    Come to Me – Strengthen manifestation and draw desired outcomes closer.

    •    Abundance – Invite blessings of wealth and good fortune.

    •    Prosperity – Energize your intentions for growth and success.

    •    Dragon’s Blood – Amplify power and purification in all magical workings.

 

Features:

    •    Self-Lighting: These incenses are effortless to use—no charcoal is needed! Simply touch the powder lightly with a match or lighter, and watch it come alive with enchanting fragrance. Use a fireproof bowl or shell for safe burning.

    •    Versatile Magic: Perfect for standalone use or as a powerful addition to your favorite spells and rituals.

 

Handmade with intention and infused with magical energy, this set is ideal for anyone looking to deepen their spiritual practice or find the perfect gift for a fellow witch or mystical soul.

 

Add a touch of magic to your altar with this stunning handcrafted collection.

Witch's Incense Set and Box

$40.00Price
Quantity
    bottom of page