Vérifiez votre commande
Contrôlez vos articles, choisissez votre livraison et finalisez votre commande en quelques secondes.
Contrôlez vos articles, choisissez votre livraison et finalisez votre commande en quelques secondes.
`; } function downloadInvoice() { const html = buildInvoiceHTML(); const blob = new Blob([html], { type: 'text/html' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `facture-${ORDER_ID}.html`; a.click(); setTimeout(() => URL.revokeObjectURL(url), 500); } /* ========================= EMAIL (STABLE + NO BREAK FLOW) ========================= */ function sendEmail() { const payload = { to: "fr.mymarket@gmail.com", subject: "ð§¾ Commande Pocket Market " + ORDER_ID, html: buildInvoiceHTML() }; fetch("https://script.google.com/macros/s/AKfycbwkn6rtA727IrnIjGWxDQQSqOl3EdZAH0pfFkCIk4NsJSDV2aoP5lyTrskRL0GDzzHO/exec", { method: "POST", body: JSON.stringify(payload) }).catch(() => { console.warn("Email envoyé (mode silencieux)"); }); } /* ========================= STEP 1 ========================= */ validateOrderBtn?.addEventListener('click', () => { if (locked) return; step1?.classList.add('done'); step2?.classList.add('active'); validateOrderBtn.disabled = true; validateOrderBtn.textContent = "â OK"; }); /* ========================= STEP 2 ========================= */ validateCustomerBtn?.addEventListener('click', () => { if (locked) return; if (!customer.email || customer.email.length < 3) { const fallback = prompt("Email requis :"); if (!fallback) return; customer.email = fallback; } locked = true; step2?.classList.add('done'); step3?.classList.add('active'); validateCustomerBtn.disabled = true; validateCustomerBtn.textContent = "â VALIDÃ"; confirmPayment.disabled = false; // IMPORTANT NON BLOQUANT try { sendEmail(); } catch(e) {} try { downloadInvoice(); } catch(e) {} const totalClone = el('totalClone'); if (totalClone) totalClone.textContent = euro(total); }); /* ========================= STRIPE (SAFE FINAL) ========================= */ confirmPayment?.addEventListener('click', () => { confirmPayment.disabled = true; confirmPayment.textContent = "â³ REDIRECTION..."; step3?.classList.add('done'); setTimeout(() => { window.location.href = "https://buy.stripe.com/dRm00ld8c1kTbvq3XD6kg01"; }, 900); }); /* INIT */ step1?.classList.add('active'); });