PS PrestaShop Iniciante

Histórico dos termos e condições e prova de aceitação: documentação

Instalação, publicação e agendamento de versões, prova de aceitação por encomenda, dossiê de prova, registo selado, carimbo temporal e RGPD.

Atualizado Versão do módulo 1.2.0

Instalação

Instale o módulo em Módulos > Gestor de módulos > Carregar um módulo enviando o ficheiro ZIP, ou copie a pasta dftermsversion para o diretório /modules/ da sua loja e clique em Instalar.

Na instalação, o módulo cria as suas tabelas, acrescenta dois separadores no menu Encomendas (Versões dos termos e Registo de aceitações) e importa o conteúdo da sua página CMS dos termos como rascunho. Os seus clientes ainda não veem nada: nenhuma versão está em vigor enquanto não publicar uma.

Confirme que a caixa dos termos e condições está ativada em Parâmetros da loja > Definições de encomendas. Sem ela, os clientes não assinalam nada antes de pagar e a prova é mais fraca. A página de configuração do módulo avisa-o se estiver desativada.

Publicar a primeira versão

Abra Encomendas > Versões dos termos. O rascunho importado aparece com o estado Rascunho. Clique nele para o ler em cada idioma e depois em Editar, se necessário.

Os campos de uma versão

  • Número de versão: a etiqueta mostrada aos clientes, por exemplo 2026-10 ou 4.2. Tem de ser única.
  • Título e texto: por idioma. Um idioma vazio recebe o texto do idioma predefinido na publicação.
  • Em vigor a partir de: deixe vazio para aplicar a versão assim que for publicada. Uma data futura agenda a alteração. Uma data passada acrescenta uma versão anterior ao histórico (ver abaixo).
  • Resumo das alterações: mostrado no histórico público.

Depois clique em Publicar. A versão fica bloqueada: o texto, a impressão digital SHA-256 e os PDF gerados em cada idioma deixam de poder mudar. Se o carimbo temporal estiver ativo, o módulo pede de imediato um carimbo à autoridade configurada.

Uma versão publicada deixa de poder ser editada ou eliminada. É isso que lhe dá valor de prova. Releia o rascunho antes de publicar.

Alterar os seus termos

A partir de uma versão publicada, clique em Criar uma nova versão a partir desta. É criado um rascunho com o mesmo texto. Altere-o, preencha o resumo das alterações, escolha a data de entrada em vigor e publique.

Comparar duas versões

Na vista de uma versão, o bloco Comparar propõe por predefinição a versão anterior, ou a versão em vigor se estiver num rascunho. Clique em Ver as alterações: os parágrafos alterados, adicionados e eliminados ficam realçados, palavra a palavra nos alterados, e os parágrafos sem alterações são recolhidos. Mude de idioma com os botões no canto superior direito.

Agendar uma alteração

Uma versão publicada com data futura tem o estado Agendada. Passa automaticamente a ser a versão em vigor nessa data, sem tarefa cron. A página de configuração mostra a próxima versão agendada.

O que o cliente vê

  • No pagamento: acima dos métodos de pagamento, um aviso indica a versão em vigor, a respetiva data e uma ligação para o PDF, e ainda uma ligação para as versões anteriores se o histórico público estiver ativo.
  • No email de confirmação: o PDF da versão aceite é anexado ao email order_conf.
  • Na conta: o detalhe de cada encomenda lembra a versão aceite com uma ligação de download.
  • Na fatura: uma menção à versão e à sua impressão digital, se a opção estiver ativa.

O que o módulo regista em cada encomenda

Quando o passo de pagamento é apresentado, o módulo anota a versão mostrada ao cliente, com o endereço IP, o navegador e a hora. Na validação da encomenda regista a versão mostrada, a impressão digital SHA-256 do texto no idioma do cliente e estes dados de apresentação.

Se não foi registada nenhuma apresentação, por exemplo com um checkout que não chama o hook displayPaymentTop, o módulo regista a versão em vigor na data da encomenda com o método «Validação da encomenda». Uma encomenda criada no back office é registada com o método «Back office».

Consultar a prova de uma encomenda

Na página da encomenda no back office, o cartão Termos e condições aceites mostra a versão, as datas, o IP, o método de registo, a verificação de integridade do texto e a posição da encomenda no registo. Três botões:

  • Dossiê de prova (ZIP): o ficheiro a enviar em caso de litígio (detalhes abaixo).
  • Certificado de aceitação (PDF): um documento com todos os dados registados, seguido do texto integral aceite.
  • Termos aceites (PDF): o PDF da versão, tal como anexado ao email.

Conteúdo do dossiê de prova

  • 01-acceptance-certificate.pdf: o certificado de aceitação.
  • 02-...pdf: o PDF da versão aceite.
  • 03-accepted-text.txt: o texto de origem exato. O seu SHA-256 é igual à impressão digital registada com a encomenda.
  • 04-version-timestamp/: o manifesto da versão e o respetivo token de carimbo temporal .tsr.
  • 05-register/: a entrada da encomenda no registo, um extrato da cadeia (apenas identificadores e impressões digitais, sem dados de outros clientes) e a selagem que a abrange.
  • README.txt: a explicação de cada ficheiro e os comandos de verificação, no idioma do funcionário.

O registo selado

Cada aceitação contém a impressão digital do seu conteúdo e a impressão digital da aceitação anterior. Alterar, inserir ou eliminar um registo depois quebra esta cadeia. Em Encomendas > Registo de aceitações, o botão Verificar o registo recalcula toda a cadeia e indica a primeira entrada alterada, se existir.

Selagens

Numa selagem, a autoridade aplica um carimbo temporal à impressão digital da última entrada do registo. Isso prova que todo o registo até essa entrada existia nessa data e também revela a eliminação das últimas entradas. Clique em Selar agora ou chame uma vez por dia, numa tarefa cron, o URL indicado no bloco Selagem automática:

0 3 * * * curl -s "https://a-sua-loja.pt/module/dftermsversion/cron?token=..." > /dev/null

O URL só sela o registo se tiverem sido registadas novas entradas desde a última selagem.

Carimbo temporal por terceiros

O carimbo temporal RFC 3161 faz com que uma autoridade independente assine uma impressão digital juntamente com a data. O módulo usa-o para cada versão publicada (num manifesto com a impressão digital do texto em cada idioma) e para as selagens do registo.

Por predefinição, o módulo usa http://timestamp.digicert.com, gratuito e sem conta. Pode indicar outra autoridade na configuração, por exemplo https://freetsa.org/tsr ou uma autoridade qualificada eIDAS. O servidor da loja tem de conseguir contactar a autoridade.

Se a autoridade não responder na publicação, a versão é publicada na mesma. O erro aparece na vista da versão, com um botão Aplicar carimbo agora para tentar de novo.

Loja existente: histórico e encomendas anteriores

Para abranger as encomendas feitas antes da instalação:

  1. Publique primeiro a versão atual dos seus termos.
  2. Crie uma versão por cada versão antiga dos seus termos, com a respetiva data real de entrada em vigor no passado, e publique-a. O módulo só recusa uma data passada se encomendas já associadas a outra versão caírem nesse período.
  3. Em Encomendas > Registo de aceitações, o bloco Encomendas anteriores indica quantas encomendas não estão associadas a nenhuma versão. Clique em Associar estas encomendas: o processamento é feito por lotes, com uma barra de progresso.

Estas encomendas recebem a versão em vigor na respetiva data e ficam marcadas como Associada a posteriori, sem IP nem registo de apresentação. O módulo não afirma o que não constatou: estas associações indicam a versão aplicável, não provam uma apresentação.

Definições do módulo

  • Anexar o PDF aos emails e Modelos de email: order_conf por predefinição, pode acrescentar por exemplo payment ou bankwire.
  • Mostrar a versão no pagamento: o aviso acima dos métodos de pagamento. Mesmo desativado, o módulo regista a versão apresentada.
  • Menção nas faturas.
  • Histórico público de versões: uma página com as versões publicadas e os respetivos PDF.
  • Atualizar a página CMS automaticamente: quando uma versão entra em vigor, o seu texto substitui o da página CMS escolhida, para que a caixa do checkout aponte sempre para a versão certa. O botão Atualizar a página CMS agora força a sincronização.
  • Anonimizar os endereços IP: guarda apenas a parte de rede do IP.
  • Carimbo temporal por terceiros e Autoridade de carimbo temporal.
  • Pedidos de apagamento RGPD: ver abaixo.
  • Eliminar todos os dados na desinstalação: desativado por predefinição. Mantenha-o desativado, as suas versões e o seu registo são as suas provas.

RGPD

O módulo liga-se ao módulo RGPD oficial do PrestaShop (psgdpr). As aceitações de um cliente são incluídas na exportação dos seus dados. Para os pedidos de apagamento, há duas opções:

  • Conservar a prova (predefinição): os registos são mantidos, o que o artigo 17.3.e do RGPD permite para declarar, exercer ou defender um direito num processo judicial. Mencione-o na sua política de privacidade.
  • Apagar o endereço IP e o navegador: estes campos são esvaziados. O registo continua verificável e uma impressão digital calculada no apagamento protege os restantes campos, mas a prova é mais fraca para esse cliente.

Resolução de problemas

O aviso não aparece no pagamento

Confirme que existe uma versão em vigor e que a opção de apresentação está ativa. Se o seu tema ou módulo de checkout não chamar o hook displayPaymentTop, as encomendas são registadas com a versão em vigor na data da encomenda.

O PDF não é anexado ao email

Verifique a opção Anexar o PDF aos emails e o nome exato do modelo. Alguns módulos de pagamento enviam o seu próprio email de confirmação com outro nome de modelo: acrescente-o à lista.

O carimbo temporal falha

A mensagem de erro indica a causa. Na maioria dos casos, o alojamento bloqueia as ligações de saída. Experimente outra autoridade ou peça ao seu fornecedor de alojamento que abra o acesso ao endereço da autoridade. Recomenda-se a extensão PHP cURL.

A verificação do registo indica uma alteração

A mensagem indica a entrada em causa e o tipo de problema: conteúdo alterado, entrada inserida ou eliminada antes dela, ou entrada selada em falta. Restaure a tabela dftv_acceptance a partir de uma cópia de segurança anterior à alteração e volte a executar a verificação.

Compatibilidade

  • PrestaShop 8.0 a 9.x, o mesmo ZIP abrange os dois ramos.
  • Multiloja e multilíngue.
  • PDF gerados com o TCPDF integrado no PrestaShop, extensão PHP zip necessária para o dossiê de prova.
  • Arquitetura ModuleAdminController, sem dependências Composer.
  • Interface disponível em português, inglês, francês, espanhol, alemão, italiano, neerlandês e polaco.
Esta página foi útil?

Ainda com dúvidas? Contacte o suporte