Precisa de Ajuda? Atendimento
0
Pagamento

Política de Pagamento

O prazo de entrega indicado no pedido começa a contar a partir da data de identificação do pagamento, que varia de acordo com a forma de pagamento:

  • Cartão de Crédito entre quatro (4) e setenta e duas (72) horas úteis
  • Pix em até uma hora
  • Boleto Bancário: após a compensação que pode ocorrer em até 2 dias úteis

Deste modo, caso tenha urgência no recebimento da entrega, sugerimos efetuar o pagamento via Cartão de Crédito ou Pix.

As entregas ocorrem de segunda à sexta-feira das 8h às 18h. Em algumas faixas de CEP de algumas cidades, pode haver entregas aos sábados em horário comercial. Caso você esteja ausente ou havendo necessidade de confirmar endereço e/ou nome do destinatário, ou mesmo na hipótese da caixa ficar retida para análise e validação dos órgãos competentes, o prazo de entrega é pausado.

' : '') + '
' + (original > current ? '' + money(original) + '' : '') + '' + money(current) + 'sem cupom
' + (hasInstallment ? '
ou ' + plots + 'x de ' + money(installment) + ' sem juros
' : (payment && !interestFree && plots && installment ? '
' + escapeText(textOf(payment, '.txt-corparcelas') + ' ' + textOf(payment, '.preco-de') + ' ' + textOf(payment, '.txt-cadaparcelas') + ' ' + textOf(payment, '.operadora')).trim() + '
' : '')); var view = ownView(source); if (!view) { view = document.createElement('div'); source.appendChild(view); } view.className = 'dk-price-view'; view.setAttribute('data-dakar-price-view', ''); view.removeAttribute('style'); view.removeAttribute('hidden'); if (view.innerHTML !== markup) view.innerHTML = markup; source.classList.add('dk-price-source'); for (var i = 0; i < source.children.length; i++) { var child = source.children[i]; if (child.matches(nativeLines)) child.classList.add('dk-price-native-line'); } } function refresh() { pending = false; // Desconecta apenas durante nossas escritas, evitando ciclos do observador. if (observer) observer.disconnect(); // Repara apenas nossa folha de estilos se algum refresh externo a remover. if (priceCss) { priceStyle = document.getElementById('dakar-coupon-price-style'); if (!priceStyle) { priceStyle = document.createElement('style'); priceStyle.id = 'dakar-coupon-price-style'; document.head.appendChild(priceStyle); } if (priceStyle.textContent !== priceCss) priceStyle.textContent = priceCss; } var sources = document.querySelectorAll(selector); sources.forEach(render); if (observer) observer.observe(document.documentElement, { childList: true, subtree: true, characterData: true, attributes: true, attributeFilter: ['class', 'style', 'hidden'] }); if (sources.length && !lastCampaignCheck) loadCampaign(); } function schedule() { if (!pending) { pending = true; window.requestAnimationFrame(refresh); } } /* Native public campaign reader. No credentials, no latest-created inference. * Unknown rules, unknown validity, and multiple public coupons fail closed. * ES5 syntax and explicit loops avoid Prototype.js Array method overrides. */ function readDakarPublicCoupon(doc, now) { 'use strict'; function reject(reason) { return { ok: false, reason: reason }; } function normalize(value) { return String(value || '').replace(/\u00a0/g, ' ').replace(/\s+/g, ' ').trim(); } function joinText(root, selector, separator) { var nodes = root.querySelectorAll(selector); var values = []; for (var i = 0; i < nodes.length; i++) values.push(nodes[i].textContent); return normalize(values.join(separator)); } function calendarDate(value) { var match = /^(\d{2})\/(\d{2})\/(\d{4})$/.exec(value); if (!match) return null; var day = Number(match[1]); var month = Number(match[2]); var year = Number(match[3]); var date = new Date(Date.UTC(year, month - 1, day)); if (date.getUTCFullYear() !== year || date.getUTCMonth() !== month - 1 || date.getUTCDate() !== day) return null; return match[3] + '-' + match[2] + '-' + match[1]; } function currentBrazilDate() { try { var parts = new Intl.DateTimeFormat('en-US', { timeZone: 'America/Sao_Paulo', year: 'numeric', month: '2-digit', day: '2-digit' }).formatToParts(now || new Date()); var dateParts = {}; for (var i = 0; i < parts.length; i++) dateParts[parts[i].type] = parts[i].value; return dateParts.year + '-' + dateParts.month + '-' + dateParts.day; } catch (error) { return null; } } var lists = doc.querySelectorAll('.coupons-list'); if (lists.length !== 1) return reject('missing-or-ambiguous-coupon-list'); var items = lists[0].querySelectorAll('.coupon-item'); if (!items.length) return reject('no-public-coupon'); if (items.length !== 1) return reject('multiple-public-coupons'); var item = items[0]; var codes = item.querySelectorAll('.coupon-code[data-coupon-code]'); if (codes.length !== 1) return reject('missing-or-ambiguous-code'); var code = normalize(codes[0].getAttribute('data-coupon-code')); if (!/^[a-z0-9_-]{1,100}$/i.test(code)) return reject('unsupported-code'); var ruleText = joinText(item, '.coupon-text p', ' - '); var validityText = joinText(item, '.coupon-validity p', ' '); var percentagePattern = /Desconto de\s*(\d+(?:[.,]\d+)?)\s*%/gi; var percentageMatch = percentagePattern.exec(ruleText); if (!percentageMatch || percentagePattern.exec(ruleText)) return reject('missing-or-ambiguous-percentage'); var percent = Number(percentageMatch[1].replace(',', '.')); if (!isFinite(percent) || percent <= 0 || percent >= 100) return reject('unsupported-percentage'); var allProducts = /V[a\u00e1]lido para todos os produtos da loja/i; var combinesOther = /Poder[a\u00e1] acumular com outros descontos/i; var combinesProgressive = /Poder[a\u00e1] acumular com desconto progressivo/i; if (!allProducts.test(ruleText)) return reject('not-unrestricted-storewide'); if (!combinesOther.test(ruleText) || /n[a\u00e3]o\s+poder[a\u00e1]\s+acumular/i.test(ruleText)) return reject('not-confirmed-cumulative'); var minimumPattern = /Compras a partir de R\$\s*((?:\d{1,3}(?:\.\d{3})+|\d+),\d{2})/i; var minimumMatch = minimumPattern.exec(ruleText); var minimumSubtotalCents = minimumMatch ? Math.round(Number(minimumMatch[1].replace(/\./g, '').replace(',', '.')) * 100) : 0; if (!isFinite(minimumSubtotalCents) || minimumSubtotalCents < 0 || minimumSubtotalCents > 9007199254740991) return reject('invalid-minimum'); // Absence of a minimum is accepted only if all other text is recognized. var unknownRules = ruleText.replace(percentageMatch[0], '').replace(minimumPattern, '').replace(allProducts, '').replace(combinesOther, '').replace(combinesProgressive, '').replace(/\s*[-\u2013\u2014]\s*/g, '').replace(/[.\s]+/g, ''); if (unknownRules) return reject('unsupported-rules'); var unlimitedValidity = /^V[a\u00e1]lido por tempo indeterminado\.?$/i.test(validityText); var startsOn = null; var endsOn = null; if (!unlimitedValidity) { var dateMatch = /^V[a\u00e1]lido at[e\u00e9] (\d{2}\/\d{2}\/\d{4})\.?$/i.exec(validityText); if (dateMatch) endsOn = calendarDate(dateMatch[1]); else { dateMatch = /^V[a\u00e1]lido de (\d{2}\/\d{2}\/\d{4}) (?:at[e\u00e9]|a) (\d{2}\/\d{2}\/\d{4})\.?$/i.exec(validityText); if (!dateMatch) return reject('unrecognized-validity'); startsOn = calendarDate(dateMatch[1]); endsOn = calendarDate(dateMatch[2]); if (!startsOn) return reject('invalid-validity-date'); } if (!endsOn || (startsOn && startsOn > endsOn)) return reject('invalid-validity-date'); var today = currentBrazilDate(); if (!today) return reject('unverifiable-current-date'); if (startsOn && today < startsOn) return reject('not-started'); if (today > endsOn) return reject('expired'); } return { ok: true, coupon: { code: code, percent: percent, minimumSubtotalCents: minimumSubtotalCents, minimumConditionText: minimumMatch ? 'em compras a partir de R$ ' + minimumMatch[1] : '', scope: 'all-products', cumulativeOtherDiscounts: true, cumulativeProgressiveDiscounts: combinesProgressive.test(ruleText), startsOn: startsOn, endsOn: endsOn, unlimitedValidity: unlimitedValidity, source: 'native-public-coupon-page', selection: 'sole-public-coupon', latestCreated: null } }; } // Loader contract: accepts a parsed Document and optional epoch milliseconds. // validUntil is the exclusive expiration time in epoch milliseconds. // Brazil's current UTC-03:00 business timezone is used for local midnight. function parsePublicCoupon(doc, nowMs) { var parsed = readDakarPublicCoupon(doc, typeof nowMs === 'number' ? new Date(nowMs) : new Date()); if (!parsed.ok) return null; return { code: parsed.coupon.code, percent: parsed.coupon.percent, minimumCents: parsed.coupon.minimumSubtotalCents, maximumCents: null, validUntil: parsed.coupon.endsOn ? Date.parse(parsed.coupon.endsOn + 'T23:59:59.999-03:00') + 1 : null, conditionsText: parsed.coupon.minimumConditionText }; } function loadCampaign(isRetry) { if (loadingCampaign || !canLoadCampaign) return; window.clearTimeout(retryTimer); if (!isRetry) retryAttempt = 0; loadingCampaign = true; lastCampaignCheck = Date.now(); // A pagina publica e a unica fonte do codigo, percentual e condicoes. // Falhas temporarias nao renovam os cinco minutos da ultima validacao. var completed = false; function finish(nextCampaign, transientFailure) { if (completed) return; completed = true; loadingCampaign = false; if (transientFailure) { if (Date.now() >= campaignFreshUntil) campaign = null; if (retryAttempt < retryDelays.length) { retryTimer = window.setTimeout(function () { if (document.querySelector(selector)) loadCampaign(true); }, retryDelays[retryAttempt++]); } } else { window.clearTimeout(expiryTimer); retryAttempt = 0; campaign = nextCampaign; campaignFreshUntil = campaign ? Date.now() + 300000 : 0; if (campaign && campaign.validUntil) campaignFreshUntil = Math.min(campaignFreshUntil, campaign.validUntil); if (campaign) { expiryTimer = window.setTimeout(function () { campaign = null; campaignFreshUntil = 0; schedule(); }, Math.max(campaignFreshUntil - Date.now(), 0)); } } schedule(); } try { var request = new XMLHttpRequest(); request.open('GET', couponPage + '?dk_campaign=' + lastCampaignCheck, true); request.timeout = 10000; request.onload = function () { if (request.status !== 200) { finish(null, request.status === 0 || request.status === 408 || request.status === 429 || request.status >= 500); return; } try { var page = new DOMParser().parseFromString(request.responseText, 'text/html'); finish(parsePublicCoupon(page, Date.now()), false); } catch (error) { finish(null, false); } }; request.onerror = request.ontimeout = request.onabort = function () { finish(null, true); }; request.send(); } catch (error) { finish(null, true); } } function start() { if (window.MutationObserver) { observer = new MutationObserver(function (changes) { var changedPrice = changes.some(function (change) { var target = change.target.nodeType === 1 ? change.target : change.target.parentElement; if (target && target.closest('#dakar-coupon-price-style')) return true; if (target && target.closest(selector)) return true; for (var r = 0; r < change.removedNodes.length; r++) { if (change.removedNodes[r] === priceStyle) return true; } for (var i = 0; i < change.addedNodes.length; i++) { var node = change.addedNodes[i]; if (node.nodeType === 1 && (node.matches(selector) || node.querySelector(selector))) return true; } return false; }); if (changedPrice) schedule(); }); } refresh(); // Paginas deixadas abertas tambem acompanham a troca da campanha. window.setInterval(function () { if (!document.hidden && document.querySelector(selector)) loadCampaign(); }, 240000); document.addEventListener('visibilitychange', function () { if (!document.hidden) { schedule(); if (document.querySelector(selector) && Date.now() - lastCampaignCheck >= 60000) loadCampaign(); } }); window.addEventListener('online', function () { if (document.querySelector(selector)) loadCampaign(); }); } if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start, { once: true }); else start(); }());