# Carteira de Cliente e Crédito em Loja para PrestaShop 8 e 9

> Apresentação DataFirefly Carteira de cliente acrescenta ao PrestaShop 8 e 9 um saldo por cliente. Nele credita reembolsos, notas de crédito e gestos comerciais; o cliente gasta-o no passo de…

- Página: <https://www.datafirefly.com/pt/documentation/dfwallet/>
- Idioma: pt
- Atualizado em: 2026-09-30
- Outros idiomas: [fr](https://www.datafirefly.com/documentation/dfwallet/index.md), [en](https://www.datafirefly.com/en/documentation/dfwallet/index.md), [es](https://www.datafirefly.com/es/documentation/dfwallet/index.md), [de](https://www.datafirefly.com/de/documentation/dfwallet/index.md), [it](https://www.datafirefly.com/it/documentation/dfwallet/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfwallet/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfwallet/index.md)
- Índice: <https://www.datafirefly.com/pt/documentation/llms.txt>

## Apresentação

DataFirefly Carteira de cliente acrescenta ao PrestaShop 8 e 9 um saldo por cliente. Nele credita reembolsos, notas de crédito e gestos comerciais; o cliente gasta-o no passo de pagamento das encomendas seguintes e pode carregá-lo. O saldo é tratado como um meio de pagamento: uma encomenda paga em parte com a carteira mantém o total, a fatura e a base de IVA, e a parte da carteira aparece como linha de pagamento.

## Instalação

1. Em **Módulos > Gestor de módulos**, clique em **Carregar um módulo** e largue `dfwallet-1.1.1.zip`.
2. Na instalação, o módulo cria as suas tabelas, um separador **Clientes > Carteiras**, um produto virtual oculto `DFWALLET-TOPUP` usado para os carregamentos, e coloca-se em primeiro lugar nos meios de pagamento.
3. Em **Pagamento > Preferências**, confirme que o módulo está autorizado para as suas moedas, países e grupos de clientes.

Para atualizar, carregue o novo ZIP: saldos, histórico e definições são mantidos, e os scripts de atualização acrescentam as novas colunas.

## Configuração

### Pagamento

- **Permitir a utilização parcial no pagamento**: quando o saldo não cobre a encomenda completa, o cliente pode aplicá-lo e pagar o resto com outro meio de pagamento.
- **Estado da encomenda quando a carteira paga a encomenda completa**: Pagamento aceite por defeito.

### Carregamento pelo cliente

- **Montantes sugeridos**: separados por vírgulas, na moeda por defeito. Exemplo: `20,50,100`.
- **Montante livre**, com **carregamento mínimo** e **máximo**.
- **Bónus de carregamento**: escalões no formato `montante:bónus`. Com `50:5,100:15`, um carregamento de 100 € credita 115 €. O bónus é creditado quando o carregamento é pago e retirado se a encomenda for cancelada ou reembolsada.

O carregamento é vendido sem IVA, por se tratar de um pré-pagamento. O saldo só é creditado quando a encomenda de carregamento passa a um estado pago.

### Reembolsos e cancelamentos

- **Devolver a parte da carteira quando uma encomenda é cancelada** e **quando passa a Reembolsado**.
- **Creditar automaticamente cada nova nota de crédito na carteira**: desativado por defeito. Deixe-o desativado se também reembolsar por transferência ou vale nativo; as notas de crédito são então creditadas uma a uma a partir da página da encomenda.

Os créditos ligados a uma encomenda (devoluções e reembolsos) têm como limite o seu montante: ativar a devolução automática e creditar a nota de crédito da mesma encomenda nunca credita duas vezes.

### Expiração dos gestos comerciais

- **Validade** em meses, 0 para nunca expirar. Aplica-se aos gestos comerciais, aos ajustes a crédito e aos bónus de carregamento. Reembolsos, pagamentos devolvidos e carregamentos nunca expiram.
- **Email de lembrete antes da expiração**: dias antes da data, 0 para nenhum lembrete.

Um pagamento usa sempre primeiro os montantes que expiram mais cedo.

### Tarefa cron

O URL apresentado no topo da página de configuração, protegido por token, faz expirar os créditos vencidos e envia os lembretes. Chame-o uma vez por dia:

```
0 6 * * * curl -s "https://a-sua-loja.pt/module/dfwallet/cron?token=O_SEU_TOKEN" > /dev/null
```

Sem cron, o mesmo processamento corre no máximo uma vez por hora ao abrir a lista de carteiras, e os créditos expirados de um cliente são processados assim que a sua carteira é apresentada.

## Creditar uma carteira

### A partir da página da encomenda

O painel **Carteira do cliente** mostra o saldo, os movimentos ligados à encomenda, um botão **Creditar na carteira** para cada nota de crédito e um formulário de crédito (gesto comercial, reembolso, ajuste). Se a encomenda foi paga em parte com a carteira, um botão permite devolver esse pagamento.

### A partir da ficha do cliente e da lista

A ficha do cliente mostra o saldo e um formulário de crédito ou débito. **Clientes > Carteiras** lista todas as carteiras, com crédito rápido por email e uma ficha detalhada por cliente.

Em cada movimento pode indicar uma **mensagem apresentada ao cliente**, uma **nota interna**, uma **data de validade** para os gestos comerciais, e escolher **avisar o cliente por email**.

### Créditos em massa por CSV

O bloco **Gestos comerciais em massa** aceita um ficheiro CSV, um cliente por linha:

```
email;amount;message;valid_until
jane@example.com;10;Pedimos desculpa pelo atraso na entrega;2027-06-30
```

A mensagem e a data são opcionais; as datas podem ser AAAA-MM-DD ou DD/MM/AAAA, e os montantes aceitam vírgula ou ponto. Uma mensagem e uma validade predefinidas aplicam-se às linhas que não as têm. Cada linha tem a sua chave contra duplicados: enviar duas vezes o mesmo ficheiro não credita ninguém duas vezes. Um relatório indica as linhas creditadas, já importadas e com erro.

## Do lado do cliente

- **A minha conta > A minha carteira**: saldo, montantes a expirar em breve, carregamento e histórico paginado com ligações às encomendas.
- **Página do carrinho**: lembrete do saldo disponível.
- **Passo de pagamento**: se o saldo cobrir a encomenda, Pagar com a minha carteira é proposto em primeiro lugar. Caso contrário, o botão Usar o meu saldo mostra o montante deduzido e o que falta pagar, e o cliente escolhe outro meio de pagamento.
- **Confirmação da encomenda**: lembrete da parte paga com a carteira e do montante em falta.

O saldo aplicado ao carrinho aparece no resumo como uma linha Carteira. Se o cliente a remover com o ícone do caixote do lixo, o saldo deixa de ser usado nesse carrinho.

## Contabilidade

Na validação, o saldo usado é registado como pagamento da encomenda. O total de produtos, o IVA e a fatura não mudam. Para pagamentos por transferência ou cheque, as instruções enviadas ao cliente indicam o montante realmente devido.

A lista de carteiras mostra o saldo total em curso por moeda: enquanto não for gasto, é uma dívida para com os seus clientes. O bloco **Exportar movimentos** gera um CSV (UTF-8, separado por ponto e vírgula) com uma linha por movimento: data, cliente, operação, montante, moeda, saldo, encomenda, nota de crédito, validade, funcionário, mensagem e nota.

## Emails

Dois modelos são fornecidos em 8 idiomas em `modules/dfwallet/mails/`: `dfwallet_credit` (carteira creditada) e `dfwallet_expiry` (lembrete antes da expiração). São escritos no idioma do cliente, montantes e datas incluídos. Pode personalizá-los em **Internacional > Traduções > Traduções de emails** ou substituí-los no seu tema.

## Desinstalação e RGPD

Os saldos e o histórico são mantidos na desinstalação, porque são uma dívida para com os seus clientes. Ative **Eliminar saldos e histórico ao desinstalar** apenas se quiser apagar tudo. Os movimentos de um cliente estão incluídos na exportação de dados do módulo RGPD oficial.

## Perguntas frequentes

### O cliente não vê a opção de pagamento com carteira

A opção só aparece quando o saldo cobre a encomenda completa. Caso contrário, é apresentado o botão Usar o meu saldo acima dos meios de pagamento, desde que a utilização parcial esteja ativa. Confirme também que o módulo está autorizado para a moeda, o país e o grupo do cliente.

### A carteira não pode ser usada com um carregamento

É intencional: um carrinho que contém um carregamento não pode ser pago com a carteira.

### O painel não aparece na página da encomenda para um funcionário

O PrestaShop só executa os hooks de um módulo se o perfil do funcionário tiver a permissão Ver nesse módulo. Adicione-a em **Parâmetros avançados > Equipa > Permissões**.
