Pagamento com sinal: sinal na encomenda e saldo na entrega
Instalação, regras e percentagens de sinal, Stripe e transferência, pedido do saldo, faturas de sinal, gestão no back office e resolução de problemas.
Instalação
Instale o módulo em Módulos > Gestor de módulos > Enviar um módulo enviando o ficheiro ZIP, ou copie a pasta dfdeposit para o diretório /modules/ da loja e clique em Instalar.
Na instalação, o módulo:
- cria as suas tabelas (sinais, transações Stripe, regras de percentagem);
- cria cinco estados de encomenda: A aguardar o sinal, Sinal recebido, saldo por pagar, Saldo solicitado, Pronto para levantamento, saldo por pagar e Enviado, saldo por pagar;
- acrescenta o menu Encomendas > Sinais e o ecrã Percentagens de sinal, acessível a partir desse menu e da configuração;
- regista os seus hooks: métodos de pagamento, página de produto, carrinho, confirmação de encomenda, conta de cliente, página da encomenda no back office e fatura PDF.
Na desinstalação, as tabelas são mantidas de propósito: a numeração das faturas de sinal e das notas de crédito tem de continuar sequencial se reinstalar o módulo.
Verificação da configuração
A página de configuração começa com uma lista de verificações a verde, laranja ou vermelho: método de pagamento pronto, chave Stripe aceite pelo Stripe, modo de teste ainda ativo, segredo do webhook preenchido e data do último evento recebido, última execução do cron, estados que pedem o saldo presentes, um deles marcado como pago, menções legais das faturas. Corrija qualquer linha vermelha antes de abrir as vendas.
O botão Testar a chave Stripe consulta o Stripe com a chave do modo selecionado. O teste também é feito automaticamente ao guardar quando a chave muda. Os URL do webhook e do cron copiam-se com o botão Copiar.
Regras de sinal
Percentagem e montante mínimo
Percentagem de sinal: parte dos produtos elegíveis paga na encomenda, entre 1 e 99 %. Montante mínimo da encomenda (IVA incluído): abaixo dele, a opção de sinal fica oculta. 0 significa sem mínimo.
Categorias elegíveis e outros produtos
Deixe a lista vazia para propor o sinal em todo o catálogo, ou selecione as categorias pretendidas. A definição Outros produtos do carrinho decide o que acontece aos produtos não elegíveis num carrinho misto: Pagos na totalidade com o sinal (somados a 100 % ao montante do sinal) ou Ocultar a opção de sinal.
Portes de envio e arredondamento
Os portes podem ser pagos com o saldo (predefinição), pagos com o sinal ou repartidos segundo a percentagem de sinal. O arredondamento é feito ao cêntimo ou à unidade seguinte, para montantes como 748 € em vez de 747,35 €.
Grupos de clientes e apresentação
Grupos de clientes: só os grupos selecionados veem a opção, por exemplo os profissionais para equipamento profissional. Vazio = todos os clientes. Mostrar nas páginas de produto acrescenta por baixo do botão de compra uma linha como «Encomende com um sinal de 30 %: 747,00 € agora, 1743,00 € no envio ou no levantamento». Mostrar no carrinho acrescenta ao resumo a repartição sinal / saldo.
Percentagens por produto, categoria ou marca
Abra Percentagens de sinal a partir da lista de sinais ou da configuração e clique em Adicionar uma percentagem. Cada regra visa um único alvo: um produto (pesquisa por nome, referência ou ID), uma categoria ou uma marca, com uma percentagem entre 0 e 99 %.
Ordem de prioridade: a regra do produto, depois a da categoria mais profunda entre as categorias do produto, depois a da marca e, por fim, a percentagem predefinida da configuração. Uma percentagem de 0 % exclui o alvo: o produto é pago na totalidade com o sinal. Uma regra aplica-se mesmo que a categoria do produto não esteja entre as categorias elegíveis.
Quando um carrinho tem produtos com percentagens diferentes, o sinal é calculado linha a linha. A percentagem mostrada ao cliente e na fatura é então a percentagem efetiva, por exemplo 48,39 %.
Saldo
Estados que pedem o saldo
Quando uma encomenda com o sinal pago passa para um destes estados, o cliente recebe o email de pedido do saldo com a ligação de pagamento. Por predefinição: Saldo solicitado, Pronto para levantamento, saldo por pagar e Enviado, saldo por pagar.
Não use o estado nativo Enviado numa encomenda com o saldo por pagar: está marcado como pago no PrestaShop, que regista então automaticamente o resto como pago. Use Enviado, saldo por pagar. A verificação da configuração assinala um estado que pede o saldo marcado como pago.
Estado após pagamento total
Estado aplicado quando o saldo chega a zero (Pagamento aceite por predefinição), e um segundo para as encomendas já enviadas (Enviado por predefinição). É nesse momento que o PrestaShop gera a fatura final.
Lembretes e notificações
Lembrete a cada X dias e Número máximo de lembretes controlam os emails de lembrete enviados pela tarefa cron. Notificações à equipa: endereços, separados por vírgulas, avisados quando um cliente paga um sinal ou um saldo online, quando chega um sinal com um montante inesperado e quando é feita uma encomenda por transferência.
Outras formas de pagar o saldo
Texto livre por idioma mostrado na página do saldo e nos emails, por exemplo «O saldo também pode ser pago com cartão ou em numerário no levantamento na oficina».
Pagamento com cartão (Stripe)
- Ative Ativar o pagamento com cartão e escolha o modo Teste ou Produção.
- Cole a chave secreta do modo escolhido (
sk_test_,sk_live_ou uma chave restritark_). As chaves guardadas aparecem mascaradas. - No painel do Stripe, Programadores > Webhooks, crie um endpoint com o URL indicado na configuração e os eventos
checkout.session.completedecheckout.session.async_payment_succeeded. - Copie o segredo de assinatura
whsec_para o campo Segredo de assinatura do webhook.
O cliente é redirecionado para uma página do Stripe Checkout. No regresso, a encomenda é criada de imediato. Se o cliente fechar o separador antes de regressar, é o webhook que cria a encomenda. Cada sessão é processada uma única vez.
Depois do primeiro pagamento de teste, a linha «Último evento Stripe recebido» da verificação deve ficar verde. Se continuar laranja, verifique o URL e os eventos do endpoint.
Transferência bancária
Ative Propor o sinal por transferência e preencha o titular, o IBAN, o BIC e o nome do banco. A encomenda é criada em A aguardar o sinal; o cliente vê os seus dados bancários na página de confirmação e recebe-os por email, com a referência da encomenda como referência da transferência.
Mostrar os dados bancários para o saldo acrescenta a transferência como forma de pagar o saldo. Cancelar encomendas por transferência não pagas após X dias: a tarefa cron cancela as encomendas que continuam a aguardar o sinal sem nenhum pagamento, e o stock volta a estar à venda. 0 desativa este cancelamento.
Fatura de sinal
Prefixo de numeração (AC por predefinição) e Prefixo das notas de crédito (AVAC por predefinição) têm de ser diferentes. Número seguinte (mínimo) permite continuar uma numeração existente: a fatura seguinte recebe este valor se for superior ao último número emitido. Menções legais: texto por idioma impresso no fundo de cada fatura de sinal (denominação social, capital, NIF, condições de pagamento).
Tarefa cron
Agende uma vez por dia o URL do cron indicado na configuração, por exemplo às 6h. Envia os lembretes de saldo e cancela as encomendas por transferência expiradas, para todas as lojas. A verificação da configuração indica a sua última execução.
O percurso do cliente
- No checkout, o cliente escolhe «Pagar um sinal de X € com cartão» ou «por transferência». O detalhe mostra o total, o sinal, o saldo e uma barra de repartição.
- Após o pagamento com cartão, a encomenda passa para Sinal recebido, saldo por pagar e a fatura de sinal é emitida e anexada ao email. Com transferência, a encomenda aguarda a sua confirmação.
- Quando a encomenda chega a um estado que pede o saldo, o cliente recebe a ligação para a página do saldo: pagamento com cartão, dados bancários e as suas indicações.
- Depois de pago o saldo, a encomenda passa para o estado final e o cliente recebe um email de confirmação.
Um progresso em três passos (Sinal pago, Encomenda pronta e saldo pedido, Totalmente paga) aparece na confirmação, no detalhe da encomenda da conta de cliente e na página do saldo. O cliente pode pagar o saldo a partir da sua conta antes mesmo de lhe ser pedido.
Gerir os sinais no back office
Encomendas > Sinais
No topo, quatro indicadores: saldos ainda por receber, saldos pedidos, transferências por confirmar e sinais recebidos este mês. Para cada encomenda, a lista mostra a percentagem, o total, o sinal, o montante pago, o saldo por pagar, o estado e a fatura de sinal. Selecione várias encomendas e escolha Pedir o saldo para enviar as ligações de uma só vez, por exemplo no dia em que um lote está pronto para levantamento.
Bloco «Sinal e saldo» da página da encomenda
- Confirmar o sinal: para uma transferência recebida, indique o montante, o método e a referência. O pagamento é registado e a fatura de sinal emitida e enviada.
- Pedir o saldo agora ou Reenviar a ligação de pagamento, com a ligação do saldo para copiar.
- Registar um pagamento do saldo: transferência, cheque, numerário, cartão na loja ou na entrega. Quando o saldo chega a zero, a encomenda passa para o estado final e o cliente é avisado.
- Anular a fatura de sinal (nota de crédito): para uma encomenda cancelada, emite uma nota de crédito numerada. O reembolso em si é feito no Stripe ou por transferência.
Faturação
A fatura de sinal inclui a morada de faturação, a referência da encomenda, a percentagem, uma linha por taxa de IVA com montante sem IVA, IVA e montante com IVA, o método de pagamento e o saldo restante. A repartição do IVA é calculada proporcionalmente às taxas da encomenda, portes e embrulho incluídos, e fixada na emissão. O cliente transfere-a a partir da sua conta, o administrador a partir da lista ou da página da encomenda.
A fatura final do PrestaShop é gerada no pagamento do saldo, com um bloco que refere a fatura de sinal. A nota de crédito retoma os montantes da fatura de sinal com sinal negativo e a referência da fatura anulada.
Em Portugal, as faturas devem ser emitidas por programa certificado pela AT. Confirme com o seu contabilista se a fatura de sinal deve ser emitida no seu software de faturação certificado, usando o documento do módulo como suporte interno.
Resolução de problemas
A opção de sinal não aparece no checkout
Verifique por esta ordem: um método de pagamento pronto (chave Stripe ou IBAN), o grupo do cliente, o montante mínimo, as categorias elegíveis e as regras a 0 %, e a definição «Ocultar a opção de sinal» se o carrinho tiver um produto não elegível.
Um pagamento com cartão não criou nenhuma encomenda
O segredo do webhook provavelmente falta ou está errado, ou o endpoint não escuta os eventos certos. O pagamento continua visível no Stripe. Depois de corrigir o webhook, reenvie o evento a partir do painel do Stripe: a encomenda é criada.
A encomenda está em «Erro de pagamento»
O montante pago com cartão não corresponde ao sinal previsto, normalmente porque o carrinho mudou durante o pagamento. Verifique os pagamentos da encomenda e depois confirme o sinal no bloco da página da encomenda ou reembolse o cliente.
Os lembretes não são enviados
A tarefa cron não está a ser executada ou o intervalo de lembrete está a 0. A verificação da configuração indica a data da última execução.
O saldo aparece como pago mas o cliente não pagou nada
Foi aplicado à encomenda um estado marcado como pago (Pagamento aceite, Enviado): o PrestaShop regista então o resto como pago. Verifique os pagamentos da encomenda e, nas próximas, use os estados do módulo.
Compatibilidade
- PrestaShop 8.0 a 9.x, o mesmo ZIP cobre as duas versões.
- Multiloja, multimoeda (moedas sem casas decimais tratadas para o Stripe) e multilingue.
- Arquitetura ModuleAdminController, API do Stripe chamada diretamente, sem dependências Composer.
- Interface, emails e PDF em francês, inglês, espanhol, alemão, italiano, neerlandês, polaco e português.