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

About Our Subscription Boxes

 

Discover the magic of The Mystical Crow’s monthly subscription boxes, carefully curated to bring enchantment and intention into your life. Each month, you’ll receive a unique selection of witchy and dark academia-inspired items crafted to enhance your spiritual practices, rituals, and self-care routines. From handcrafted candles and incense to luxurious bath products and curated tools for your magical workings, our boxes are designed to help you connect with your inner power and set meaningful intentions.

 

Each box includes a thoughtful combination of 7–8 items, such as:

• Handmade candles infused with magical elements for rituals and intention-setting

• Artisanal incense and powders for meditation, protection, or manifestation

• Herbal bath products for spiritual cleansing and relaxation

• Spiritual tools like journals for gratitude and intention, loose-leaf teas for divination, or oils infused with crystals

 

Every piece is made with care, ensuring high quality and a touch of mysticism in every detail.

 

Here’s how it works:

• Single Month Boxes, you will get THAT current month's box. If you wish you subscrib youll always get your next months box in time for sabbaths and moon phases.

 

 

 

Limited Availability

 

Our subscription boxes are crafted in small batches to ensure the highest quality and attention to detail. Due to this, availability is limited each month. Once we reach capacity, we will open a waiting list so you can reserve your spot for the next available box.

 

Secure your subscription today to ensure you don’t miss out on the magic!

1 MONTH SUBSCRIPTION BOX

$65.00Price
Quantity
  • Nonrefundable and Non-Customizable

    Please note that my subscription boxes are nonrefundable and cannot be customized. Each box is thoughtfully crafted and curated by me to reflect the theme and intention of the month.

    I pour my passion into selecting and creating every piece, ensuring it brings inspiration and meaning to your magical journey. While substitutions or changes to the contents aren’t possible, you can trust that each box is designed to deliver a unique and personal experience.

    Thank you for supporting my one-woman shop and allowing me to bring a little magic into your life!

  • Step into the magic with a one-month subscription box designed to give you just a taste of the enchantment. This special sampler includes a curated selection of treasures drawn from both past and current boxes, offering you the chance to experience the variety and wonder that each monthly collection brings. From handcrafted creations to seasonal delights, every item is chosen to capture the spirit of my full subscription service.

    This is the perfect way to try before you commit—explore the magi

bottom of page