// 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

Blue Teacup Candle and Saucer with Skull Blue  & angel aura crystals

Vintage Ceramic Teacup Candle – Green

One of a kind Candle, you will receive the one pictured above!

 

This enchanting candle is hand-poured into a beautifully crafted green ceramic teacup and saucer, blending vintage charm with a touch of mystical elegance.

 

Made with 100% soy wax and lightly scented with essential oils, each candle is thoughtfully handcrafted using high-quality materials. Many feature unique additions such as crystals, herbs, and wax figures, making each piece a one-of-a-kind creation.

 

Perfect for setting a magical ambiance, you can choose to burn it with care or display it as a decorative treasure. This candle is ideal for those who love vintage aesthetics, witchy vibes, or unique home decor.

 

Details:

•    100% soy wax and essential oils

•    Includes possible additions like crystals, herbs, and wax accents

•    Comes in a green ceramic teacup and saucer

•    Handcrafted with love and care

 

Transform your space with a little vintage magic. Whether on your altar, bookshelf, or as a centerpiece, this candle is sure to captivate.

Blue Teacup Candle and Saucer with Skull Blue

$35.00Price
Quantity
    bottom of page