Débito direto SEPA com autorização online: documentação do módulo PrestaShop
Instalar, configurar e usar o módulo de débito direto SEPA: autorização assinada online, ficheiro pain.008, planos recorrentes e rejeições.
Apresentação
O módulo dfsepadebit adiciona o débito direto SEPA como método de pagamento no PrestaShop 8 e 9. O cliente assina uma autorização online durante a encomenda com um código recebido por email. Cada encomenda, cada prestação de subscrição ou cada cobrança pontual torna-se uma cobrança pré-notificada ao cliente. Gera o ficheiro pain.008 e envia-o ao seu banco, e depois importa os ficheiros de retorno para atualizar pagamentos e rejeições.
O módulo não se liga ao seu banco e nenhum dado passa por terceiros: os fundos chegam diretamente à sua conta.
Requisitos
- Identificador de credor SEPA e contrato de emissão de débitos diretos SEPA, a pedir ao seu banco. Indique o esquema B2B se debitar empresas.
- O formato de ficheiro aceite pelo banco (pain.008.001.02 ou pain.008.001.08) e o prazo de entrega (normalmente 1 dia útil TARGET antes da data de cobrança).
- Uma loja em EUR: o método de pagamento só aparece para carrinhos em euros.
- PrestaShop 8.0 a 9.x, PHP com a extensão OpenSSL (cifragem AES-256-GCM dos IBAN).
- Uma tarefa cron diária (painel do alojamento ou serviço externo) para os planos e as confirmações automáticas.
Instalação
- Em Módulos > Gestor de módulos, clique em Enviar um módulo e selecione o ZIP
dfsepadebit. - O módulo cria as suas tabelas, dois estados de encomenda («A aguardar débito direto SEPA» e «Débito direto SEPA rejeitado») e um menu Vender > Débito direto SEPA.
- Abra a configuração e preencha os dados do credor. Enquanto o nome, o identificador e o IBAN não forem válidos, o método de pagamento fica oculto.
- Copie o URL cron apresentado no topo da configuração e agende-o uma vez por dia.
Configuração
Credor
Nome do credor (tal como aparecerá nos extratos dos clientes), identificador de credor, IBAN da conta creditada, BIC (opcional no EEE) e morada. O identificador e o IBAN são verificados ao guardar.
Autorizações e checkout
- Esquema das novas autorizações: SEPA B2B ou SEPA Core.
- Prefixo das referências de autorização: letras e números, 8 caracteres no máximo (DF por defeito).
- Assinatura com um código enviado por email: recomendado. Desativada, o cliente assina com uma caixa de seleção.
- Apenas para clientes com nome de empresa: o método de pagamento só é proposto se a morada de faturação tiver uma empresa.
- Grupos de clientes autorizados, montantes mínimo e máximo da encomenda.
- Exposição máxima por cliente: cobranças ainda não pagas mais o carrinho atual. Acima disso, o método de pagamento fica oculto para esse cliente.
- Ocultar após rejeições nos últimos 12 meses: 2 por defeito, 0 para desativar.
Cobranças e ficheiros bancários
- Prazo de pré-notificação: o prazo legal por defeito é de 14 dias. Um prazo mais curto (o módulo propõe 2 dias) só é válido se constar das suas condições de venda. Uma encomenda é debitada no fim deste prazo.
- Prazo de entrega do seu banco, em dias úteis TARGET.
- Formato do ficheiro: pain.008.001.02 (o mais aceite) ou pain.008.001.08.
- Lançamento agrupado: um único crédito por ficheiro no extrato, ou um crédito por cobrança.
- Primeiro débito como FRST: mantenha ativado se o banco ainda exigir a sequência FRST.
- Gerar o ficheiro bancário automaticamente: a tarefa diária cria o ficheiro das cobranças que vencem em N dias e envia-o em anexo para o endereço de alertas.
- Marcar como paga automaticamente após N dias sem rejeição (5 por defeito). 0 para confirmar manualmente ou com camt.054.
Rejeições
- Códigos de motivo com nova tentativa automática: AM04, MS03 por defeito.
- Número máximo de novas tentativas e prazo antes de uma nova tentativa.
- Custo de rejeição acrescentado ao montante da nova tentativa, apenas se as condições de venda o previrem.
- Códigos de motivo que revogam a autorização: AC01, AC04, AC06, AC13, MD01, MD07 por defeito.
- Email para alertas ao comerciante: rejeições, revogações, mudanças de banco, planos em pausa, ficheiros automáticos.
Percurso do cliente
Assinatura no checkout
No passo de pagamento, o cliente escolhe «Pagar por débito direto SEPA». Com uma autorização ativa, seleciona a conta (IBAN mascarado) e confirma a encomenda. Caso contrário, abre-se um formulário no bloco de pagamento, pré-preenchido a partir da morada de faturação: empresa, titular, morada, IBAN (verificado durante a escrita) e BIC. Lê o texto da autorização, assinala a aceitação e recebe um código de 6 dígitos por email. A autorização fica assinada assim que o código é introduzido. Até lá, a confirmação da encomenda está bloqueada com uma mensagem.
Se o tema impedir a execução do script, o cliente é redirecionado após a confirmação para uma página de assinatura dedicada e depois a encomenda é criada. Nenhum pagamento se perde.
Conta do cliente
A página As minhas autorizações SEPA lista as autorizações com o PDF, os planos em curso e os últimos débitos. O cliente pode revogar uma autorização ou clicar em Alterar a conta bancária: assina uma nova autorização, os seus planos e cobranças ainda não enviadas passam para a nova conta e a autorização antiga é encerrada. O detalhe de cada encomenda mostra a data de débito e o estado.
Back-office
Painel
Montante a enviar ao banco em 7 dias, montante no banco a aguardar confirmação, cobrado no mês, taxa de rejeição a 90 dias, receita recorrente mensal dos planos de montante fixo, autorizações ativas e pendentes. Um gráfico mostra as próximas 6 semanas (cobranças criadas e previsão dos planos). As últimas rejeições e as autorizações a aguardar assinatura, com um botão Relembrar, completam a página. Aparece um aviso se a tarefa diária não for executada há 36 horas.
Autorizações
O botão Nova autorização oferece dois modos: enviar ao cliente um pedido de assinatura online (recebe um link seguro, sem login) ou registar uma autorização em papel já assinada com a data de assinatura. O campo Substitui a autorização transfere os planos de uma autorização existente quando a nova for assinada. A ficha da autorização mostra as provas de assinatura (data, método, IP, navegador, impressão digital SHA-256), o PDF, os planos e as cobranças, e permite a revogação.
Cobranças
Lista filtrável de todas as cobranças com o seu estado: a exportar, enviada ao banco, paga, rejeitada, cancelada. Na ficha de uma cobrança: marcar como paga, registar uma rejeição com o código, cancelar (antes da exportação). O botão Nova cobrança pontual cria uma cobrança numa autorização ativa, eventualmente associada a uma encomenda.
Planos recorrentes
Um plano está associado a uma autorização (ativa ou a aguardar assinatura) e funciona em dois modos: montante fixo ou repetir uma encomenda (a encomenda de referência é refeita aos preços do dia em cada vencimento e depois debitada). Escolha a frequência, o próximo vencimento e o número de débitos (0 para sem fim). O cliente recebe um email de resumo. Um plano pode ser colocado em pausa, retomado ou terminado.
Ficheiros bancários
- Escolha a data limite das cobranças a incluir e clique em Gerar.
- Descarregue o ficheiro XML e envie-o ao banco no mesmo dia.
- Depois importe os ficheiros de retorno do banco: pain.002 (rejeição de ficheiro ou de transações), camt.054 ou camt.053 (devoluções e créditos).
Um ficheiro ainda não enviado pode ser cancelado: as suas cobranças voltam a exportar.
Ciclo de uma cobrança
- A exportar: criada com a encomenda, por um plano ou manualmente. O cliente recebe a pré-notificação.
- Enviada ao banco: incluída num ficheiro. A data pode passar para o primeiro dia possível do calendário TARGET2.
- Paga: após o prazo sem rejeição, na importação de um camt.054 ou manualmente. A encomenda passa a «Pagamento aceite».
- Rejeitada: código R registado, encomenda em «Débito direto SEPA rejeitado», nova tentativa ou revogação conforme a configuração.
Gestão das rejeições
| Código | Significado | Ação por defeito |
|---|---|---|
| AM04 | Saldo insuficiente | Nova tentativa |
| MS03 | Motivo não especificado pelo banco | Nova tentativa |
| AC01, AC04, AC06 | Conta incorreta, encerrada ou bloqueada | Revogação da autorização |
| AC13 | Conta de consumidor no esquema B2B | Revogação da autorização |
| MD01 | Sem autorização válida (muitas vezes uma autorização B2B não comunicada ao banco) | Revogação da autorização |
| MD07 | Devedor falecido | Revogação da autorização |
| MS02, MD06 | Recusa ou reembolso pedido pelo devedor | Alerta, tratamento manual |
A rejeição de um ficheiro ou de um bloco de pagamento num pain.002 (formato, identificador não reconhecido…) não diz respeito ao cliente: as cobranças voltam a exportar no ficheiro seguinte.
Tarefa diária (cron)
O URL cron, protegido por token, cria as cobranças dos planos que vencem dentro do prazo de pré-notificação, gera o ficheiro automático se estiver ativado, marca como pagas as cobranças sem rejeição após o prazo configurado, faz expirar as autorizações sem uso há 36 meses e elimina as assinaturas abandonadas há 60 dias. O botão Executar as tarefas agora da página Ficheiros bancários faz o mesmo para a loja atual.
Emails enviados
- Ao cliente: código de assinatura, confirmação da autorização com PDF, pedido de assinatura, resumo do plano, pré-notificação do débito, rejeição.
- Ao comerciante: rejeição, revogação pelo cliente, mudança de banco, plano em pausa, ficheiro automático pronto (XML em anexo).
Os modelos são fornecidos em 8 idiomas em mails/ e editam-se como os emails nativos.
Fatura, ficha da encomenda e RGPD
A fatura PDF inclui uma menção de pré-notificação (montante, data, IBAN mascarado, referência da autorização, identificador de credor), que passa a «pago em» quando a cobrança é confirmada. A ficha da encomenda no back-office mostra a autorização e as cobranças. Com o módulo RGPD oficial, as autorizações são incluídas na exportação de dados; ao eliminar um cliente, só são anonimizadas as autorizações pendentes e as encerradas há mais de 14 meses, sendo as restantes conservadas como prova.
Resolução de problemas
O método de pagamento não aparece
Verifique se o credor é válido (caixa verde no topo da configuração), se o carrinho está em EUR, se o cliente tem sessão iniciada (não é convidado), se a morada de faturação tem empresa quando a opção está ativa e se o cliente não ultrapassou a exposição ou o número de rejeições permitidos.
Rejeição MD01 numa autorização B2B
O cliente não comunicou a autorização ao seu banco. Peça-lhe que o faça com a referência da autorização e o seu identificador de credor, e depois crie uma nova cobrança pontual.
O cliente não recebe o código
Verifique a configuração de emails do PrestaShop e a pasta de spam do cliente. Pode ser pedido um novo código após um minuto; o código é válido durante 10 minutos.