Clip Plus 2
Clip Plus 2 Comienza a aceptar tarjetas hoy mismo El lector de tarjetas móvil que se conecta a tu celular o tablet vía Bluetooth®. Acepta pagos de manera rápida y sencilla, sin imp ortar el lugar donde se encuentre tu negocio. Conexión Bluetooth® Batería de larga duración Cabe en tu bolsillo iOS y Android Comprar con cupón NUEVO10 Beneficios Ideal para Comparar Comisión Funciones principales Todo lo que necesitas para profesionalizar tus cobros y no perder ninguna venta. Conecta tu lector vía Bluetooth® Se conecta a tu celular o tablet para aceptar pagos instantáneamente y tener todo el control en un solo lugar. Compatibilidad total Compatible con iOS y Android. Configuración intuitiva que no requiere conocimientos técnicos para empezar a cobrar. Flexibilidad en tu negocio Se adapta a las necesidades de pequeños comercios, facilitando aceptar tarjetas y realizar transacciones seguras. Llévalo a cualquier lugar Su diseño compacto permite llevarlo en el bolsillo. Perfecto para negocios móviles y eventos; nunca perderás una venta. Control total de tu negocio A través de la App Clip, monitorea ventas, obtén reportes detallados y gestiona tu inventario desde una sola plataforma. Ideal para estos negocios Clip Plus 2 es perfecto para emprendedores y negocios que inician o están en constante movimiento. Profesionales independientes Médicos, dentistas, arquitectos y freelancers que requieren cobrar sus honorarios de forma profesional mediante su smartphone. Bazares y emprendedores Lleva tu terminal en la mochila a cualquier expo, bazar o venta de garaje. Su batería te durará toda la jornada de ventas. Entregas a domicilio Cobra contra entrega en la puerta de tus clientes enviando el comprobante de pago digitalmente a través de SMS o correo. Pequeños comercios Tienditas, estéticas o papelerías con volumen de cobro moderado que desean modernizarse aceptando tarjeta sin mensualidades. Compara las terminales Descubre qué equipo se adapta mejor a tu crecimiento. Característica Clip Plus 2 Clip Total 3 Clip Ultra Precio de oferta $-- $-- $-- Tipo de uso Ventas básicas con celular Autónoma con pantalla doble Autónoma, portátil y resistente Conectividad Bluetooth (Requiere celular) WiFi + SIM gratuita 4G, WiFi y Bluetooth Teclado físico Sí No (Táctil) Sí, retroiluminado Impresión de recibos Digitales (SMS/Email) Impresora integrada Impresora integrada Batería 350 mAh 6080 mAh Hasta 12 horas Calculadora de comisión Calcula cuánto recibirías o cuánto debes cobrar según el método de pago y el plazo. Plazo de cobro En una sola exhibición 3 meses sin intereses 6 meses sin intereses 9 meses sin intereses 12 meses sin intereses 18 meses sin intereses 24 meses sin intereses BIENVENIDO 1 2 3 ⌫ 4 5 6 Tap ToPay ? 7 8 9 ? X 0 . ? En caso de tener una tasa preferencial, elige la que tienes habilitada Comisión Habitual 3.6% más IVA 3.4% más IVA 3.2% más IVA 3% más IVA 2.99% + $1 más IVA Escribir porcentaje manualmente Escribe tu comisión sin IVA % Máximo permitido: 3.6%. El IVA se calcula automáticamente. Instalar calculadora Compartir Entendido × Entendido /* ====== GENERAL VARIABLES ====== */ .clip-plus2-wrap { --cp2-primary: #111111; --cp2-accent: #ff6a00; --cp2-accent-dark: #e65c00; --cp2-text: #1d1d1f; --cp2-muted: #6b7280; --cp2-border: #e5e7eb; --cp2-soft: #f7f8fa; --cp2-radius: 22px; --cp2-shadow: 0 18px 60px rgba(0, 0, 0, 0.08); max-width: 1320px; margin: 0 auto; padding: 10px 20px 54px; color: var(--cp2-text); font-family: inherit; } .clip-plus2-wrap * { box-sizing: border-box; } /* ====== HERO ====== */ .cp2-hero { display: grid; grid-template-columns: minmax(400px, 0.9fr) minmax(400px, 1.1fr); gap: 36px; align-items: center; background: linear-gradient(135deg, #ffffff 0%, #fff7f0 100%); border: 1px solid var(--cp2-border); border-radius: 28px; padding: 28px; box-shadow: var(--cp2-shadow); margin-bottom: 28px; overflow: hidden; } .cp2-hero__media img { display: block; width: 100%; height: auto; border-radius: 22px; object-fit: cover; } .cp2-badge { display: inline-block; background: rgba(255, 106, 0, 0.12); color: #bd4b00; border: 1px solid rgba(255, 106, 0, 0.25); padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 800; margin-bottom: 14px; } .cp2-hero__content h1 { font-size: clamp(32px, 4vw, 50px); line-height: 1.05; margin: 0 0 14px; color: var(--cp2-primary); } .cp2-hero__content p { font-size: 17px; line-height: 1.6; color: var(--cp2-muted); margin: 0 0 20px; } .cp2-hero__highlights { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0 0 22px; list-style: none; } .cp2-hero__highlights li { padding: 8px 14px; background: #fff; border: 1px solid var(--cp2-border); border-radius: 999px; font-size: 14px; font-weight: 700; } .cp2-btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; border: 0; border-radius: 14px; padding: 14px 22px; font-weight: 800; transition: all 0.25s ease; cursor: pointer; } .cp2-btn--primary { background: var(--cp2-accent); color: #fff !important; box-shadow: 0 10px 25px rgba(255, 106, 0, 0.24); } .cp2-btn--primary:hover { background: var(--cp2-accent-dark); transform: translateY(-2px); } /* ====== TABS ====== */ .cp2-tabs__nav { display: inline-flex; flex-wrap: wrap; gap: 8px; padding: 6px; background: var(--cp2-soft); border: 1px solid var(--cp2-border); border-radius: 999px; margin-bottom: 24px; } .cp2-tab { appearance: none; border: 0; background: transparent; color: var(--cp2-primary); padding: 12px 20px; border-radius: 999px; font-weight: 800; cursor: pointer; white-space: nowrap; transition: all 0.2s ease; } .cp2-tab.is-active { background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.08); } .cp2-tabpanel { display: none; } .cp2-tabpanel.is-active { display: block; } .cp2-section-head { margin-bottom: 24px; } .cp2-section-head--center { text-align: center; } .cp2-section-head h2 { margin: 0 0 8px; font-size: clamp(26px, 3vw, 36px); line-height: 1.1; } .cp2-section-head p { margin: 0; color: var(--cp2-muted); font-size: 16px; line-height: 1.6; } /* ====== GRIDS ====== */ .cp2-benefits-grid, .cp2-ideal-grid { display: grid; gap: 20px; } .cp2-benefits-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); } .cp2-ideal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cp2-card, .cp2-ideal-card { background: #fff; border: 1px solid var(--cp2-border); border-radius: var(--cp2-radius); overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); transition: transform .25s ease, box-shadow .25s ease; display: flex; flex-direction: column; } .cp2-card:hover, .cp2-ideal-card:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(0,0,0,.08); } .cp2-card__image { width: 100%; height: 200px; object-fit: cover; display: block; } .cp2-ideal-card img { width: 100%; height: 240px; object-fit: cover; display: block; } .cp2-card__body, .cp2-ideal-card__body { padding: 22px; flex-grow: 1; } .cp2-card__body h3, .cp2-ideal-card__body h3 { margin: 0 0 10px; font-size: 20px; line-height: 1.2; } .cp2-card__body p, .cp2-ideal-card__body p { margin: 0; color: var(--cp2-muted); line-height: 1.6; font-size: 15px; } /* ====== TABLE ====== */ .cp2-table-wrap { overflow-x: auto; border: 1px solid var(--cp2-border); border-radius: 22px; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.05); } .cp2-compare-table { width: 100%; min-width: 800px; border-collapse: collapse; font-size: 15px; } .cp2-compare-table th, .cp2-compare-table td { padding: 16px 14px; border-bottom: 1px solid var(--cp2-border); text-align: center; vertical-align: middle; } .cp2-compare-table th { background: #111; color: #fff; font-weight: 800; } .cp2-compare-table td:first-child, .cp2-compare-table th:first-child { text-align: left; font-weight: 800; } .cp2-highlight { background: #fff4ec; font-weight: 800; color: #111; } .cp2-price { color: var(--cp2-accent); font-size: 18px; font-weight: 900; } /* ====== CALCULATOR WRAPPER ====== */ .cp2-commission-shell { background: linear-gradient(180deg, #ffffff 0%, #fbfbfc 100%); border: 1px solid var(--cp2-border); border-radius: 28px; padding: 28px 18px 24px; box-shadow: 0 12px 40px rgba(0,0,0,.05); } /* CALCULATOR CORE CSS */ .calc-container { max-width: 460px; margin: 0 auto; text-align: center; font-family: 'Inter', sans-serif; position: relative; overflow: visible; } #estado { font-size: 13px; color: #C0392B; margin-bottom: 8px; min-height: 20px; } .top-controls-wrapper { display: flex; flex-direction: column; align-items: stretch; margin-top: 82px; margin-bottom: -20px; position: relative; z-index: 1; padding: 0 20px; } .select-label { font-size: 11px; font-weight: 800; color: #FF6A00; text-align: left; margin-bottom: 5px; padding-left: 4px; } .calc-select { width: 100%; padding: 12px 38px 12px 12px; border: 2px solid #FF6A00; border-radius: 14px; font-size: 14px; font-weight: 700; color: #333; background-color: #fff; box-shadow: 0 4px 12px rgba(255,106,0,0.16); outline: none; appearance: none; -webkit-appearance: none; background-image: linear-gradient(45deg, transparent 50%, #FF6A00 50%), linear-gradient(135deg, #FF6A00 50%, transparent 50%); background-position: calc(100% - 22px) 50%, calc(100% - 15px) 50%; background-size: 7px 7px, 7px 7px; background-repeat: no-repeat; } .calc-select:focus { border-color: #E65C00; box-shadow: 0 0 0 3px rgba(255,106,0,0.18); } .calc-wrapper { position: relative; width: 100%; z-index: 0; overflow: visible; } .calc-img { width: 100%; display: block; position: relative; } .calc-screen { position: absolute; top: 25%; left: 50%; transform: translateX(-50%); width: 76%; min-height: 165px; background: #F2F2F2; border: 2px solid #CCCCCC; border-radius: 18px; padding: 6px; color: #222; font-size: 13px; text-align: left; overflow-y: auto; line-height: 1.25; z-index: 1; } .calc-screen.split { display: flex; flex-direction: column; justify-content: flex-start; padding: 5px; } .calc-big-text { font-size: 39px; font-weight: bold; text-align: center; width: 100%; color: #555; font-family: 'Courier New', monospace; margin-top: 25px; } .btn-grid { position: absolute; top: 57%; left: 50%; transform: translateX(-50%); width: 78%; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; z-index: 2; overflow: visible; } .calc-btn, .mode-main-btn { height: 45px; background: linear-gradient(to bottom, #ffffff, #f2f2f2); border: 1px solid #cccccc; border-radius: 30px; color: #4a4a4a; font-size: 16px; font-weight: 500; cursor: pointer; box-shadow: 0 4px 0 #d1d1d1, 0 6px 5px rgba(0,0,0,0.15), inset 0 2px 2px rgba(255,255,255,0.9); transition: all 0.08s ease; padding: 0; -webkit-tap-highlight-color: transparent; display: flex; align-items: center; justify-content: center; } .calc-btn:active, .mode-main-btn:active { transform: translateY(2px); box-shadow: 0 2px 0 #d1d1d1, 0 2px 2px rgba(0,0,0,0.1), inset 0 3px 5px rgba(0,0,0,0.15); background: #ebebeb; } .mode-cell { height: 45px; position: relative; overflow: visible; } .mode-main-btn { width: 100%; font-size: 11px; font-weight: 800; text-align: center; line-height: 1.05; } .terminal-mode-logo, .miclip-mode-logo { width: 64px; max-width: 96%; max-height: 32px; display: block; object-fit: contain; } .ttp-mode-btn { flex-direction: column; gap: 1px; color: #FF6A00; border-color: #FF6A00; font-size: 8.8px; line-height: 1; } .ttp-mode-logo { width: 16px; height: 16px; object-fit: contain; display: block; margin-bottom: 1px; } .mode-help-outside { position: absolute; right: -28px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; min-width: 22px; border-radius: 50%; border: 2px solid #ffffff; background: #FF6A00; color: #fff; font-size: 13px; font-weight: 900; line-height: 18px; cursor: pointer; padding: 0; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,0.22); z-index: 10; } .selected-mode .mode-main-btn { background: linear-gradient(to bottom, #ff6a00, #e65c00) !important; color: white !important; border: 1px solid #cc5200 !important; box-shadow: 0 4px 0 #b34700, 0 6px 5px rgba(0,0,0,0.15), inset 0 2px 2px rgba(255,255,255,0.3) !important; } .selected-mode .ttp-mode-logo, .selected-mode .miclip-mode-logo { filter: brightness(0) invert(1) !important; } .selected-mode .terminal-mode-logo { filter: none !important; } .preferential-rate-wrapper { display: flex; flex-direction: column; align-items: stretch; margin-top: 18px; margin-bottom: 18px; padding: 0 20px; text-align: left; } .manual-rate-wrapper { margin-top: 10px; background: #FFF5F0; border: 1px solid rgba(255,106,0,0.35); border-radius: 14px; padding: 10px 12px; } .manual-rate-label { display: block; font-size: 11px; font-weight: 800; color: #FF6A00; margin-bottom: 6px; } .manual-rate-field { display: flex; align-items: center; border: 2px solid #FF6A00; border-radius: 12px; background: #fff; overflow: hidden; } .manual-rate-input { width: 100%; border: none; outline: none; padding: 11px 10px; font-size: 15px; font-weight: 800; color: #333; background: transparent; } .manual-rate-symbol { padding: 0 12px; font-size: 15px; font-weight: 900; color: #FF6A00; } .manual-rate-note { margin-top: 6px; font-size: 10.5px; color: #666; line-height: 1.3; } .split-header { text-align: center; font-weight: bold; font-size: 11px; color: #444; padding-bottom: 3px; border-bottom: 1px solid #ccc; margin-bottom: 4px; } .split-body { display: flex; flex-direction: row; justify-content: space-between; align-items: stretch; flex-grow: 1; } .split-pane { width: 50%; padding: 0 3px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: flex-start; overflow: hidden; } .split-pane:first-child { border-right: 1px solid #CCCCCC; } .pane-title { font-weight: 500; font-size: 9.5px; text-align: center; margin-bottom: 3px; color: #444; line-height: 1.2; } .monto-destacado { font-size: 12px; font-weight: 800; color: #111; } .resultado-principal { font-size: 20px; letter-spacing: -0.3px; font-weight: 800; text-align: center; margin: 3px 0; color: #222; white-space: nowrap; } .desglose { font-size: 8.5px; line-height: 1.15; margin-top: 2px; } .desglose-line { font-size: 8.5px; display: flex; justify-content: space-between; margin-bottom: 2px; gap: 3px; } .msi-warning-screen { color: #D32F2F; font-weight: 800; text-align: center; font-size: 9.2px; background: #FFEBEE; border: 1px solid #FFCDD2; border-radius: 6px; padding: 4px; margin-top: 4px; line-height: 1.15; } .icon-row { margin-top: 25px; display: flex; justify-content: center; gap: 20px; align-items: center; flex-wrap: wrap; } .action-card { display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: #FFFFFF; border: 2px solid #FF6A00; border-radius: 16px; padding: 12px 10px; width: 125px; height: 115px; box-sizing: border-box; box-shadow: 0 4px 10px rgba(0,0,0,0.08); cursor: pointer; } .install-app-icon, .share-icon { width: 45px; height: 45px; border-radius: 10px; margin-bottom: 8px; } .icon-text { font-size: 11px; font-weight: 600; color: #333; line-height: 1.2; text-align: center; } @keyframes vibrar-calculadora { 0% { transform: translateX(0); } 20% { transform: translateX(-3px); } 40% { transform: translateX(3px); } 60% { transform: translateX(-2px); } 80% { transform: translateX(2px); } 100% { transform: translateX(0); } } .vibrando-calc { animation: vibrar-calculadora 0.22s linear 1; } .popup-bg, .info-modal-fondo { position: fixed; inset: 0; width: 100%; height: 100%; display: none; justify-content: center; align-items: center; box-sizing: border-box; } .popup-bg { background: rgba(0,0,0,0.45); z-index: 99999; padding: 16px; } .popup-box { background: white; width: 85%; max-width: 420px; padding: 22px; border-radius: 14px; text-align: left; box-shadow: 0 4px 20px rgba(0,0,0,0.2); max-height: 86vh; overflow-y: auto; } .popup-title { font-size: 17px; font-weight: bold; margin-bottom: 10px; color: #FF6A00; } .popup-sub { font-size: 13px; color: #444; margin-bottom: 10px; } .popup-btn, .info-modal-btn { background: #FF6A00; color: white; border-radius: 12px; border: none; cursor: pointer; width: 100%; font-weight: 800; } .popup-btn { padding: 10px 18px; font-size: 14px; margin-top: 10px; } .info-modal-fondo { background: rgba(0,0,0,0.62); z-index: 10000000; padding: 18px; } .info-modal-caja { position: relative; background: #fff; width: 100%; max-width: 430px; max-height: 86vh; overflow-y: auto; border-radius: 18px; padding: 24px 22px 20px; text-align: left; box-shadow: 0 12px 32px rgba(0,0,0,0.32); font-family: 'Inter', sans-serif; box-sizing: border-box; } .info-modal-titulo { color: #FF6A00; font-size: 22px; font-weight: 800; line-height: 1.15; padding-right: 30px; margin-bottom: 12px; } .info-modal-texto { color: #3f3f3f; font-size: 14px; line-height: 1.5; } .info-modal-texto p { margin: 0 0 11px; } .info-modal-texto ol { margin: 8px 0 12px 22px; padding: 0; } .info-modal-texto .nota-modal { background: #FFF5F0; border-left: 4px solid #FF6A00; padding: 10px 12px; border-radius: 10px; margin-top: 12px; font-size: 13px; } .info-modal-btn { padding: 13px 18px; font-size: 15px; margin-top: 14px; } .info-modal-cerrar { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; border: none; border-radius: 50%; background: #F2F2F2; color: #555; font-size: 24px; line-height: 34px; cursor: pointer; font-weight: 700; padding: 0; } .info-modal-link-btn { background: linear-gradient(45deg, #FF6A00, #FF3D00, #FF6A00); background-size: 200% 200%; color: #FFFFFF !important; text-align: center; padding: 13px 18px; border-radius: 30px; border: none; font-size: 16px; font-weight: 800; width: 100%; margin: 14px auto 0; text-decoration: none; display: block; box-shadow: 0 4px 15px rgba(255, 106, 0, 0.35); box-sizing: border-box; } /* ====== RESPONSIVE ====== */ @media (max-width: 1080px) { .cp2-hero { grid-template-columns: 1fr; gap: 24px; } .cp2-benefits-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 749px) { .clip-plus2-wrap { padding: 10px 14px 34px; } .cp2-hero { padding: 18px; border-radius: 20px; } .cp2-hero__content h1 { font-size: 28px; } .cp2-hero__highlights li { font-size: 13px; padding: 6px 10px; } .cp2-tabs__nav { display: flex; width: 100%; overflow-x: auto; flex-wrap: nowrap; } .cp2-tab { flex: 1 0 auto; padding: 12px 10px; font-size: 14px; text-align: center; } .cp2-benefits-grid, .cp2-ideal-grid { grid-template-columns: 1fr; } .cp2-commission-shell { padding: 18px 8px; border-radius: 20px; } .calc-container { max-width: 360px; } .btn-grid { gap: 12px; } .mode-main-btn { font-size: 10px; } .ttp-mode-btn { font-size: 8.2px; } .ttp-mode-logo { width: 15px; height: 15px; } .terminal-mode-logo, .miclip-mode-logo { width: 60px; max-height: 31px; } .mode-help-outside { right: -25px; width: 20px; height: 20px; min-width: 20px; font-size: 12px; } .top-controls-wrapper { margin-top: 78px; padding: 0 18px; } .calc-select { font-size: 13px; padding: 11px 36px 11px 11px; } .preferential-rate-wrapper { padding: 0 18px; margin-top: 16px; } .manual-rate-input { font-size: 14px; padding: 10px; } .info-modal-caja { padding: 22px 18px 18px; border-radius: 16px; } .info-modal-titulo { font-size: 20px; } .info-modal-texto { font-size: 13.5px; } } @media (max-width: 380px) { .calc-container { max-width: 338px; } } (function() { /* ================================================================= LÓGICA DEL CUPÓN ================================================================= */ const CONFIG_PROMOCION = { descuento: 0.10, // 10% descuento con NUEVO10 handlePlus2: "clip-plus-2", handleTotal3: "clip-total-3", handleUltra: "nuevo-clip-ultra", fallbackPricePlus2: 29900 // $299 mxn fallback }; function formatMoneyMXN(cents) { return new Intl.NumberFormat("es-MX", { style: "currency", currency: "MXN", maximumFractionDigits: 0 }).format(cents / 100); } async function actualizarPreciosPlus2() { let basePrice = CONFIG_PROMOCION.fallbackPricePlus2; try { const fetchUrl = window.location.pathname.includes('/products/') ? window.location.pathname + '.js' : '/products/' + CONFIG_PROMOCION.handlePlus2 + '.js'; const response = await fetch(fetchUrl); if (response.ok) { const productData = await response.json(); if (productData && productData.price) { basePrice = productData.price; } } } catch (error) {} // Calcula descuento del 10% const precioConDescuento = Math.max(Math.round(basePrice * (1 - CONFIG_PROMOCION.descuento)), 0); // Actualiza en la tabla const tableSaleEl = document.getElementById("price-plus2-sale"); const tableRegEl = document.getElementById("price-plus2-regular"); if (tableSaleEl) tableSaleEl.textContent = formatMoneyMXN(precioConDescuento); if (tableRegEl) tableRegEl.textContent = formatMoneyMXN(basePrice); } // Actualiza precios en tabla comparativa para Total 3 y Ultra async function fetchTableProduct(handle, saleId, regId) { try { const response = await fetch('/products/' + handle + '.js'); if(response.ok) { const product = await response.json(); if(product && product.price) { document.getElementById(saleId).textContent = formatMoneyMXN(product.price); } } } catch(e) {} } actualizarPreciosPlus2(); fetchTableProduct(CONFIG_PROMOCION.handleTotal3, "price-total3-sale", "price-total3-regular"); fetchTableProduct(CONFIG_PROMOCION.handleUltra, "price-ultra-sale", "price-ultra-regular"); /* ================================================================= LÓGICA DE PESTAÑAS (TABS) ================================================================= */ const tabs = document.querySelectorAll('.cp2-tab'); const panels = { beneficios: document.getElementById('tab-beneficios'), ideal: document.getElementById('tab-ideal'), comparar: document.getElementById('tab-comparar'), comision: document.getElementById('tab-comision') }; tabs.forEach(tab => { tab.addEventListener('click', function() { const target = this.dataset.tab; tabs.forEach(btn => { btn.classList.remove('is-active'); btn.setAttribute('aria-selected', 'false'); }); Object.values(panels).forEach(panel => { if (panel) panel.classList.remove('is-active'); }); this.classList.add('is-active'); this.setAttribute('aria-selected', 'true'); if (panels[target]) panels[target].classList.add('is-active'); }); }); })(); /* ================================================================= CALCULADORA DE COMISIONES ================================================================= */ const CONFIG_CLIP = { tasaBase: 0.036, tasaTTP: 0.0299, tasaMiClip: 0.0199, fijoTTP: 1.00, fijoTerminalPreferencial: 1.00, iva: 1.16 }; const LINK_TTP = "https://clip.onelink.me/jXom/ttp-reseller?af_click_lookback=0h&deep_link_sub1=850f8ebc&deep_link_value=context-attribution"; const LINK_MICLIP = "https://miclip.onelink.me"; const LINK_CALCULADORA = "https://distribuidorclip.com/pages/calculadora"; const formatearMoneda = function(numero) { return new Intl.NumberFormat('es-MX', { style: 'currency', currency: 'MXN' }).format(numero); }; function validarTasaManual() { const input = document.getElementById("tasaManual"); if (!input) return; let valor = parseFloat(input.value); if (!isNaN(valor) && valor > 3.6) input.value = "3.6"; autoCalc(); } function actualizarTasaPreferencial() { const select = document.getElementById("tasaTerminal"); const manualWrapper = document.getElementById("tasaManualWrapper"); if (!select || !manualWrapper) return; manualWrapper.style.display = select.value === "manual" ? "block" : "none"; if (modo === "calcular") autoCalc(); } function obtenerConfigTasaTerminal() { const select = document.getElementById("tasaTerminal"); const manualInput = document.getElementById("tasaManual"); let tasa = CONFIG_CLIP.tasaBase, fijo = 0, texto = "3.6%", esPreferencial = false, esManual = false; if (!select) return { tasa, fijo, texto, esPreferencial, esManual }; switch (select.value) { case "3.4": tasa = 0.034; texto = "3.4%"; esPreferencial = true; break; case "3.2": tasa = 0.032; texto = "3.2%"; esPreferencial = true; break; case "3": tasa = 0.03; texto = "3%"; esPreferencial = true; break; case "2.99fijo": tasa = 0.0299; fijo = CONFIG_CLIP.fijoTerminalPreferencial; texto = "2.99%"; esPreferencial = true; break; case "manual": esManual = true; let p = parseFloat(manualInput ? manualInput.value : ""); if (!isNaN(p)) { if (p > 3.6) { p = 3.6; if (manualInput) manualInput.value = "3.6"; } if (p >= 0) { tasa = p / 100; texto = p.toFixed(2).replace(/\.00$/, "") + "%"; esPreferencial = tasa < CONFIG_CLIP.tasaBase; } } break; default: tasa = CONFIG_CLIP.tasaBase; texto = "3.6%"; esPreferencial = false; break; } return { tasa, fijo, texto, esPreferencial, esManual }; } function generarContenidoAyudaTerminal() { const configTasa = obtenerConfigTasaTerminal(); const notaPreferencial = configTasa.esPreferencial ? 'Tasa solo para usuarios seleccionados.Esta comisión aplica únicamente si la tienes habilitada en tu cuenta Clip.' : ""; const notaFijo = configTasa.fijo > 0 ? 'La tasa seleccionada para Terminal es ' + configTasa.texto + ' más IVA. En esta opción, el IVA se calcula sobre la comisión porcentual y el cargo fijo.' : 'La tasa seleccionada para Terminal es ' + configTasa.texto + ' más IVA. El IVA se calcula sobre la comisión.'; return ` Esta opción te ayuda a calcular cuánto recibirías al cobrar con una terminal Clip física. ${notaFijo} Si eliges meses sin intereses, también se suma la tasa del plazo seleccionado. La pantalla te muestra dos escenarios: Si cobras el monto ingresado, cuánto recibirías aproximadamente. Si quieres recibir ese monto neto, cuánto tendrías que cobrar aproximadamente. Si se elige meses sin intereses, se suma la tasa MSI correspondiente y después se calcula el IVA sobre la comisión total. ${notaPreferencial} Los resultados son aproximados y sirven como referencia para entender mejor tus cargos. `; } function calcularFuenteResultado(montoTexto) { const l = montoTexto.length; if (l 3.6) { displayScreen.className = "calc-screen"; displayScreen.innerHTML = 'Escribe una tasa válida de 0% a 3.6%.'; return; } } let venta1 = monto, comisionBase1 = venta1 * tasaBase, comisionMSI1 = venta1 * tasaMSI, iva1 = (comisionBase1 + comisionMSI1 + fijoTerminal) * (ivaFactor - 1), recibir1 = venta1 - (comisionBase1 + comisionMSI1 + fijoTerminal + iva1); let neto2 = monto, venta2 = (neto2 + (fijoTerminal * ivaFactor)) / (1 - tasaTotal), comisionBase2 = venta2 * tasaBase, comisionMSI2 = venta2 * tasaMSI, iva2 = (comisionBase2 + comisionMSI2 + fijoTerminal) * (ivaFactor - 1); let v1Str = formatearMoneda(venta1), r1Str = formatearMoneda(recibir1), n2Str = formatearMoneda(neto2), v2Str = formatearMoneda(venta2); const lineaFijo1 = fijoTerminal > 0 ? 'Fijo' + formatearMoneda(fijoTerminal) + '' : ""; const lineaFijo2 = fijoTerminal > 0 ? 'Fijo' + formatearMoneda(fijoTerminal) + '' : ""; displayScreen.className = "calc-screen split"; let msg = ` ${plazoTexto} Si cobras ${v1Str}recibirás: ${r1Str} Comisión (${textoTasaTerminal})${formatearMoneda(comisionBase1)} ${tasaMSI > 0 ? 'MSI (' + (tasaMSI * 100).toFixed(2) + '%)' + formatearMoneda(comisionMSI1) + '' : ''} ${lineaFijo1} IVA${formatearMoneda(iva1)} Para recibir ${n2Str} netosdebes cobrar: ${v2Str} Comisión (${textoTasaTerminal})${formatearMoneda(comisionBase2)} ${tasaMSI > 0 ? 'MSI (' + (tasaMSI * 100).toFixed(2) + '%)' + formatearMoneda(comisionMSI2) + '' : ''} ${lineaFijo2} IVA${formatearMoneda(iva2)} `; displayScreen.innerHTML = msg; } function shareCalc() { if (navigator.share) { navigator.share({ title: "Calculadora Clip", text: "Calcula tus comisiones Clip fácil y rápido.", url: LINK_CALCULADORA }); } else if (navigator.clipboard) { navigator.clipboard.writeText(LINK_CALCULADORA).then(function() { alert("Link de la calculadora copiado al portapapeles."); }).catch(function() { alert("Comparte este link: " + LINK_CALCULADORA); }); } else { alert("Comparte este link: " + LINK_CALCULADORA); } }
More you might like
Related
Pokémon Plush Clip (Clip-On Plush) PokeBall
Related
Pokémon - Plush Clip (Clip-On Plush) Eevee #1 W10
Related
Gas Clip MGC-S-PLUS Multi Gas Clip Simple Plus, 1 Each
Related