Carrinho de compras
Seu carrinho está vazio

Atendimento

0

Embalagem discreta

para todo o Brasil

Descontos

em pagamentos à vista

Entrega local

receba em até 1 dia

Pague com cartão

em até 3x s/ juros

Segurança

Loja oficial

Trocas e devoluções

 

Solicitação de troca ou devolução

Toda solicitação de troca ou devolução deve ser comunicada à Central de Atendimento para instruções detalhadas sobre o processo. No rodapé do site ou na página de Fale Conosco, você encontra os dados de contato com a nossa central de atendimento.

 

Condições para Troca, Devolução ou Arrependimento da compra

O prazo máximo é de 7 dias após o recebimento do produto.

A mercadoria deverá retornar nas mesmas condições em que foi entregue, ou seja: lacres intactos do fabricante e na embalagem original e com todos acessórios que acompanham o produto. É importante ressaltar que a caixa do produto também deve estar em perfeitas condições, isto é, a embalagem não pode ter sido danificada ou violada.

Esclarece-se que o produto NÃO PODE TER SIDO USADO.

 

Envio para Troca, Devolução ou Arrependimento da compra

O custo de frete para o retorno da mercadoria será de responsabilidade da loja virtual, não tendo custo adicional ao consumidor.

É necessário que o consumidor solicite a troca, devolução ou direito de arrependimento no prazo máximo de 7 dias após o recebimento da mercadoria.

O fluxo de envio será explicado por nossa equipe de atendimento, onde irá depender da quantidade e tamanho do produto que será retornado.

Atenção! Ao chegar, o produto será analisado. Caso seja constatado o uso, a troca ou devolução poderá ser recusada e o produto, retornado.

 

Devolução do valor para Cartão

Após o recebimento do produto em nosso Centro de Distribuição e aprovação da devolução ou troca mediante análise dos itens, enviaremos a solicitação de estorno para a administradora do cartão de crédito que esta, por sua vez tem o prazo para processar a requisição de acordo com a política de cada administradora de cartão de crédito.

Poderá ocorrer do valor estornado ser devolvido em faturas futuras, sendo política da administradora de cartão.

 

Devolução do valor Boleto, Pix ou Transferência

A restituição do valor será processada após a aprovação da devolução mediante análise dos itens em nosso Centro de Distribuição e será realizada por meio de reembolso em uma conta corrente ou poupança.

No momento da solicitação da troca ou devolução, deverão ser informados os dados bancários.

ItSophie é intimidade, a nossa intimidade. Aquele autocuidado, cheio de descobertas. Porque a sexualidade é parte do ser humano e cosméticos sensoriais só nos ajudam a nos conectar melhor com nosso corpo e com o outro.
Atendimento
Formas de pagamento
  • Cartão Visa - Vindi
  • Cartão MasterCard - Vindi
  • Cartão Diners - Vindi
  • Cartão Amex - Vindi
  • Cartão Elo - Vindi
  • Boleto - Vindi
  • Pix - Vindi
Selos de Segurança
  • Loja Protegida
ItSophie | Descubra-se todos os dias. Todos os direitos reservados © 2025 - SSB Comercio e Eventos LTDA - CNPJ: 18.850.718/0001-32
×

A ItSophie está com um novo site!


RECADASTRE-SE e ganhe um cupom de 40% de desconto.
É rápido e seguro!


Se está chegando agora, faça seu cadastro e aguarde seu cupom exclusivo!


`; document.body.appendChild(overlay); document.body.style.overflow = "hidden"; const titleElement = document.getElementById( "itsophie-agegate-title" ); const messageElement = document.getElementById( "itsophie-agegate-message" ); const frameContainer = document.getElementById( "itsophie-agegate-frame-container" ); const loadingElement = document.getElementById( "itsophie-agegate-loading" ); const loadingMessageElement = document.getElementById( "itsophie-agegate-loading-message" ); const retryButton = document.getElementById( "itsophie-agegate-retry" ); const homeButton = document.getElementById( "itsophie-agegate-home" ); retryButton.textContent = "Tentar novamente"; homeButton.textContent = "Voltar para a loja"; loadingMessageElement.textContent = "Aguarde enquanto confirmamos o resultado."; function clearTimers() { if (pollingTimer) { clearInterval(pollingTimer); pollingTimer = null; } if (timeoutTimer) { clearTimeout(timeoutTimer); timeoutTimer = null; } } function setMessage(title, message) { titleElement.textContent = title; messageElement.textContent = message; } function showLoading() { frameContainer.style.display = "none"; loadingElement.style.display = "block"; retryButton.style.display = "none"; homeButton.style.display = "none"; setMessage( "Verifica\u00e7\u00e3o enviada", "Estamos processando o resultado. N\u00e3o feche esta p\u00e1gina." ); } function showError(message, allowRetry) { clearTimers(); frameContainer.style.display = "none"; loadingElement.style.display = "none"; retryButton.style.display = allowRetry ? "block" : "none"; homeButton.style.display = "block"; setMessage( "N\u00e3o foi poss\u00edvel analisar a imagem. Verifique se o ambiente est\u00e1 bem iluminado, limpe a lente da c\u00e2mera e tente novamente, mantendo o rosto centralizado e vis\u00edvel.", message ); } function approveAccess() { clearTimers(); try { sessionStorage.setItem( APPROVAL_KEY, "approved" ); } catch (error) { console.warn( "AgeGate: nao foi possivel salvar aprovacao", error ); } document.body.style.overflow = previousBodyOverflow; overlay.remove(); style.remove(); } async function checkStatus() { if (!currentReference) { return; } try { const endpoint = API_BASE + "/api/agegate/status?reference=" + encodeURIComponent(currentReference); const response = await fetch(endpoint, { method: "GET", mode: "cors", cache: "no-store", credentials: "omit" }); const data = await response .json() .catch(function () { return {}; }); if (!response.ok) { throw new Error( data.error || "status_request_failed" ); } if ( data.status === "approved" && data.decision === "ADULTO" ) { approveAccess(); return; } if (data.status === "rejected") { showError( "N\u00e3o foi poss\u00edvel confirmar a idade m\u00ednima para acessar esta \u00e1rea.", false ); return; } if ( data.status === "inconclusive" || data.status === "error" ) { showError( "A an\u00e1lise n\u00e3o foi conclu\u00edda. Voc\u00ea pode realizar uma nova tentativa.", true ); } } catch (error) { console.error( "AgeGate: falha ao consultar resultado", error ); } } function startPolling() { clearTimers(); showLoading(); checkStatus(); pollingTimer = setInterval( checkStatus, 2000 ); timeoutTimer = setTimeout(function () { showError( "O processamento demorou mais que o esperado. Tente novamente.", true ); }, 120000); } async function createSession() { clearTimers(); currentReference = null; retryButton.style.display = "none"; homeButton.style.display = "none"; loadingElement.style.display = "none"; frameContainer.style.display = "block"; frameContainer.innerHTML = ""; setMessage( "Verifica\u00e7\u00e3o de idade", "Preparando o acesso \u00e0 c\u00e2mera..." ); try { const response = await fetch( API_BASE + "/api/agegate/session", { method: "POST", mode: "cors", cache: "no-store", credentials: "omit", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ pageUrl: window.location.href }) } ); const data = await response .json() .catch(function () { return {}; }); if (!response.ok) { throw new Error( data.message || data.error || "session_creation_failed" ); } if ( !data.reference || !data.iframeUrl ) { throw new Error( "invalid_session_response" ); } currentReference = data.reference; const iframe = document.createElement("iframe"); iframe.id = "itsophie-agegate-frame"; iframe.src = data.iframeUrl; iframe.allow = "camera"; iframe.title = "Verifica\u00e7\u00e3o facial de idade"; iframe.setAttribute( "referrerpolicy", "strict-origin" ); frameContainer.appendChild(iframe); setMessage( "Verifica\u00e7\u00e3o de idade", "Autorize o uso da c\u00e2mera e siga as instru\u00e7\u00f5es abaixo." ); } catch (error) { console.error( "AgeGate: falha ao criar sessao", error ); showError( "O servi\u00e7o de verifica\u00e7\u00e3o est\u00e1 temporariamente indispon\u00edvel.", true ); } } window.addEventListener( "message", function (event) { if (event.origin !== AGEGATE_ORIGIN) { return; } const message = event.data || {}; if ( message.type === "agegate:submitted" ) { startPolling(); return; } if ( message.type === "agegate:error" ) { console.warn( "AgeGate:", message.code, message.status, message.message ); if ( message.code === "trial_exhausted" || message.code === "billing_inactive" ) { showError( "O servi\u00e7o de verifica\u00e7\u00e3o est\u00e1 temporariamente indispon\u00edvel.", false ); return; } if ( message.code === "camera_denied" ) { showError( "O acesso \u00e0 c\u00e2mera foi bloqueado. Autorize a c\u00e2mera no navegador e tente novamente.", true ); return; } if ( message.code === "camera_unsupported" ) { showError( "Este navegador n\u00e3o oferece suporte \u00e0 captura pela c\u00e2mera.", false ); return; } if ( message.code === "session_invalid" ) { showError( "A sess\u00e3o de verifica\u00e7\u00e3o expirou. Tente novamente.", true ); return; } showError( "N\u00e3o foi poss\u00edvel concluir a captura. Tente novamente.", true ); } } ); retryButton.addEventListener( "click", function () { createSession(); } ); homeButton.addEventListener( "click", function () { window.location.href = "/"; } ); createSession(); })();