PS PrestaShop Iniciante

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.

Atualizado Versão do módulo 1.2.1

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)

  1. Ative Ativar o pagamento com cartão e escolha o modo Teste ou Produção.
  2. Cole a chave secreta do modo escolhido (sk_test_, sk_live_ ou uma chave restrita rk_). As chaves guardadas aparecem mascaradas.
  3. No painel do Stripe, Programadores > Webhooks, crie um endpoint com o URL indicado na configuração e os eventos checkout.session.completed e checkout.session.async_payment_succeeded.
  4. 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
Esta página foi útil?

Ainda com dúvidas? Contacte o suporte