Sin impuesto Con impuesto
Módulo Order Guard - impede pedidos duplicados e extratos de pagamento ou faturas duplicados.

Aviso

Também à venda no PrestaShop Addons, o marketplace oficial do PrestaShop. Ver o módulo no Addons

Módulo Order Guard - impede pedidos duplicados e extratos de pagamento ou faturas duplicados.

Price: 129,35 €
Primeiro ano: 129,35 € IVA incl.
A partir do segundo ano: 32,34 €/ano IVA incl.
  • Um ano de suporte técnico e atualizações vitalícias; a partir do segundo ano, o suporte é alargado por 32,34 €/ano e inclui as suas ideias de melhoria gerais para o módulo.
  • Renova-se sozinha; cancela quando quiser, sem fidelização.
Pagamento único: 129,35 € IVA incl.
  • Um ano de suporte técnico e atualizações vitalícias; depois, o suporte termina (com a subscrição é alargado por 32,34 €/ano).
  • Um único pagamento, sem cobranças automáticas.
106,90 € + IVA = 129,35 €

Evite pedidos duplicados, que resultam em duas faturas ou dois pagamentos quando a transação no gateway de pagamento ou a alteração de status ocorrer duas vezes simultaneamente. Além disso, corrija duplicatas existentes em sua loja devolvendo o estoque retido.

Compatível com PrestaShop 1.7.6 a 9.x. Sem necessidade de alterações.

Compartilhar

Experimente a demo

Read also on our blog

Conteúdo especializado

Revisto pelos nossos especialistas

Written by

Reviewed by

See all our experts

Conteúdo redigido e revisto por profissionais qualificados. A informação tem caráter orientativo.

Pedidos

O cliente pagou uma vez. Sua loja tem dois pedidos.

Duas notificações do gateway de pagamento chegam simultaneamente, ambas perguntando se o pedido existe antes mesmo de qualquer uma delas tê-lo criado, e duas são geradas: cada uma com sua fatura, pagamento e estoque deduzido. Nenhuma verificação padrão as detecta porque ambas parecem estar funcionando corretamente internamente. O RKR Order Guard faz com que a segunda notificação aguarde.

29 carrinhos
com dois pedidos em uma loja física, de um total de 143.649 pedidos, distribuídos por três pontos de coleta.
10 de 10
A execução duplicada resultou em duas faturas sem o módulo; com ele, nenhuma.
0 substituições
Como não altera o núcleo do sistema, ele sobrevive às atualizações do PrestaShop e às atualizações dos seus gateways de pagamento.

Isso impede que aconteça.

Na plataforma de pagamento
Antes que o controlador do módulo de pagamento carregue qualquer coisa, um bloqueio MySQL é obtido. A segunda notificação aguarda e, quando chega, verifica que o pedido já foi criado.
Na mudança de estado
O pedido fica bloqueado enquanto seu status é alterado, para que duas faturas e dois pagamentos não sejam gerados.
Nos bastidores
Evite o envio duplicado do formulário de status, pois a origem humana da mesma falha é evidente.
Marque e cole
Após cada alteração de status, o sistema compara o cabeçalho do pedido com suas próprias linhas e, caso não haja correspondência, redimensiona-o, sem criar ou excluir nada.

E conserte os que você já tem.

Em Pedidos → Pedidos Duplicados, você pode consultar todo o histórico, não apenas os pedidos feitos após a instalação. Cada carrinho duplicado é categorizado de acordo com os pagamentos registrados:

Um pagamento, dois pedidos
Não há dinheiro extra. O excedente é cancelado e seu estoque é devolvido.
B · dois pagamentos, dois pedidos
Houve uma cobrança indevida. O reembolso é decidido por uma única pessoa, sem qualquer intervenção do sistema.
C · indeterminado
Algumas cobranças não possuem identificador. Elas são apenas listadas.

A tela informa qual pedido será mantido e por quê, e permite que você o altere. O excedente é marcado como Cancelado — ele nunca é excluído — e o estoque é medido antes e depois, para que você reabasteça apenas o que não foi devolvido. Você pode simular primeiro: a simulação conta exatamente da mesma forma que a execução real.

O que ele nunca faz : emitir uma devolução ou contatar a plataforma de pagamento; modificar um pedido cujo pacote já foi enviado; remover uma fatura já numerada que precisa de correção; ou executar qualquer ação em lotes sem que você selecione os grupos e confirme. E se o processo de bloqueio terminar, a venda continua mesmo assim: o módulo nunca cancela um pedido.

Ele te avisa o que encontra.

Ele detecta quatro problemas — pedido duplicado, fatura duplicada, cobrança indevida e pedido desbalanceado — e os registra em um log de incidentes que é mantido mesmo se você desinstalar o módulo.

E certifique-se de que ninguém desvie seus pagamentos.

Um atacante com acesso FTP a uma loja legítima inseriu seu próprio gateway de pagamento no módulo de pagamentos. Os pedidos foram criados usando o nome do módulo legítimo, apareceram como pagamentos normais no painel administrativo e o dinheiro foi para outra pessoa. Durante meses, ninguém percebeu, pois nada parecia suspeito no painel administrativo. O Order Guard vê o que o painel administrativo não mostra, operando em duas camadas.

Todos
Foram encontrados pedidos desviados na análise do histórico da cópia do sistema daquela loja, nenhum anterior ao primeiro dia do ataque.
0 falsos positivos
entre dezenas de milhares de pagamentos do PayPal e PayPlug analisados
1. O número da operação de cada pedido
Cada gateway de pagamento grava um identificador único no pagamento, e ninguém que o imite consegue replicá-lo com precisão. A Redsys verifica isso comparando a assinatura com o carrinho de compras do pedido; PayPal, PayPlug e Stripe verificam pelo formato do identificador. Essa verificação é realizada em tempo real no momento da criação do pedido, por meio de tarefas agendadas (cron jobs) para pedidos dos últimos sete dias e, principalmente, em Pedidos → Monitoramento de Pagamentos , no modo somente leitura. Um aviso é exibido na página de detalhes do pedido — onde o remetente está localizado — e como um banner vermelho em todo o painel administrativo.
2. Os arquivos do módulo de pagamento
Ele salva o hash SHA256 dos arquivos de código do seu módulo de pagamento (ativos ou inativos), deste módulo e de quaisquer arquivos individuais no diretório raiz. Se algum deles for alterado, aparecer ou desaparecer sem uma atualização do PrestaShop, você será notificado. Atualizações legítimas não acionarão esse alerta; o hash é recriado automaticamente. Se a alteração for sua, você a aceita com um clique.

O que não faz : não processa pedidos nem pagamentos, apenas alerta você. É um rastreamento, não uma prova: cada pedido suspeito é confirmado consultando o número da transação no painel de controle do gateway de pagamento, onde não existem transações fraudulentas. E não verifica o Redsys para você: essa verificação é feita manualmente no painel de controle do seu comerciante, usando a lista na tela.

Compatível com PrestaShop 1.7.6 a 9.x

Desenvolvido e mantido por REKIRE

01/11/2026
v1.4.1

  • A opção "Criar pedido" não altera mais o idioma da tela. Criar uma ordem de pagamento sem um pedido fazia com que o usuário saísse do painel administrativo no idioma do cliente (e com o carrinho e a moeda em contexto) até a próxima página. Agora tudo voltou a ser como era antes.
  • Ajustes no validador de complementos do PrestaShop: o armazenamento de pagamentos sem ordem é passado do módulo e do controlador em vez de ser lido do contexto global, e o estilo de dois comentários foi ajustado aos padrões do PrestaShop.

01/11/2026
v1.4.0

Pagamentos da Redsys que nunca foram processados. O banco cobra, a Redsys notifica, e o pedido não é criado: a notificação chegou, mas validarPedido() A entrega falhou, foi interrompida por falta de tempo ou simplesmente nunca chegou. O cliente já pagou, mas a loja não tem conhecimento disso.

  • Registro de cada notificação do Redsys que entra na loja, capturada no dispatcher antes do carregamento do controlador do módulo de pagamento (se o controlador falhar, a entrada já terá sido feita). Isso se aplica a qualquer módulo que receba Ds_Parâmetros do Comerciante: o oficial, RKR Redsys, o Redsys integrado do RKR Subscriptions ou um de terceiros. Apenas o necessário para a correspondência com um pedido é salvo (número da transação, carrinho, valor, moeda, resposta, tipo, autorização); nunca o cartão nem os parâmetros em si.
  • Assinatura verificada (HMAC_SHA256_V1 e HMAC_SHA512_V2) em relação a todas as chaves Redsys na configuração. Assinaturas que não correspondem não são contabilizadas; sem uma chave para verificar, são contabilizadas, mas marcadas como "assinatura não verificada".
  • Revisão No cron (e com o botão "Verificar agora"): após alguns minutos (15 por padrão, configurável), ele busca o pedido de cada pagamento autorizado — pelo número da operação nas coleções, pelo carrinho ou, em "criar o pedido antes de pagar", pelo ID — e anota. pagamento_sem_pedido qualquer pedido_pago_não_atualizado (O pedido existe, mas ainda não está com status de pago.) Notifique por e-mail e pelo RKR Sentinel e adicione um alerta ao banner vermelho no painel administrativo. Se o pedido aparecer posteriormente, o alerta será fechado automaticamente.
  • Importando o arquivo CSV de operações do portal Redsys (Canais), pelos quais a loja nunca recebeu. Colunas reconhecidas pelo cabeçalho, em espanhol ou inglês; separador ;, , , ou tabulação; UTF-8 ou Latin-1; valores "1.234,56" ou "1234,56". Somente cobranças autorizadas: recusadas, reembolsos e cancelamentos não serão processados.
  • Tela "Pagamentos Redsys sem Pedido" (Pedidos): botão Criar pedido (Em "Pagamento aceito", com o número da transação no pagamento e o funcionário na mensagem do pedido) somente se o carrinho for conhecido, o carrinho ainda não tiver nenhum pedido, a moeda for a do carrinho e o valor cobrado for o total de hoje; o módulo de pagamento é escolhido entre os ativos. Ele usa o mesmo bloqueio da notificação, portanto, não entra em conflito com uma nova tentativa do Redsys. Botão Exclua para itens devolvidos ou resolvidos manualmente, e as notificações mais recentes observadas para verificar se o registro está funcionando.
  • Se outro módulo falhar depois para criar o pedido (um gancho no e-mail de confirmação que espera o formato do preço do front-end, visto com idxrrecargoeO pedido é então criado e o erro é reportado. Sem o formato de preço no contexto, ele é inserido antes da criação.
  • Ajuste o tempo de espera e a disponibilidade nas configurações. As notificações que já contêm seu pedido são excluídas após 180 dias.
  • A funcionalidade de consulta de transações do serviço web Redsys não está disponível: o banco precisa ativá-la separadamente e não há como testá-la.

12/10/2026
v1.3.2

  • A chave do produto PrestaShop Addons (chave_do_módulo), para vendê-lo lá. Nada mais muda.

12/10/2026
v1.3.1

  • Apenas para validadores de complementos do PrestaShop: a descrição do módulo deve estar em uma única linha. Se estiver dividida em várias linhas, o validador não a lerá e suspenderá a seção "Requisitos" com um erro.$this"A descrição não é válida." O texto é o mesmo e a loja não percebe nada.

12/10/2026
v1.3.0

Monitoramento de pagamentos desviados. Isso se origina de um caso real: um invasor com acesso FTP inseriu um pagamento com cartão de crédito de seu próprio gateway de pagamento no módulo Redsys e, durante meses, pedidos foram criados em nome da Redsys, com tudo em ordem no back office — incluindo a própria tabela do módulo — e o dinheiro em sua conta. Nada de novo é alterado em um pedido ou pagamento: o sistema apenas registra e gera alertas.

  • Novo critério pagamento_incompatívelO número da operação não é o que o gateway teria registrado para esse pedido. Validadores de gateway (classes/RkrOrderGuardGateway*.php, (uma lacuna por gateway). O Redsys é verificado por assinaturaO Ds_Order propriamente dito começa com o número do carrinho, com zeros até 8 dígitos, e termina em mmss (ou é o ID do pedido de 12 dígitos com "criar pedido antes de pagar"); é aceitável se for um carrinho ou pedido diferente do mesmo cliente, e formatos vazios ou desatualizados não são considerados. PayPal, PayPlug e Stripe, por exemplo. forma. É analisado açãoValidarPedido E é registrado uma vez por pedido, não uma vez para cada mudança de status.
  • Validado em comparação com a cópia da caixa armazenada. (Mais de cem mil pedidos, analisados em menos de um segundo): exatamente os pedidos desviados aparecem, nenhum anterior ao primeiro dia do ataque, e nenhum falso positivo entre as dezenas de milhares de pedidos do PayPal e PayPlug. Contas legítimas da Redsys com valores na casa dos 12 dígitos apresentam o mesmo problema. mmss válido; 12 dígitos aleatórios tornam isso impossível duas em cada três vezes.
  • Descrição dos arquivos do módulo de pagamento (arquivos_de_pagamento): trecho do hash sha256 de cada arquivo de código nos módulos de pagamento instalados — ativos ou não: o atacante desativou o PayPlug para ocultá-lo —, deste módulo e dos arquivos individuais no diretório raiz. Ele notifica você se um arquivo for alterado, aparecer ou desaparecer. Uma atualização para PrestaShop Não te avisaO carregamento da versão no banco de dados recriará automaticamente a impressão digital. A versão do arquivo é inválida: o invasor usou uma versão mais antiga do módulo.
  • Nova tela: Pedidos → Monitoramento de pagamentos. Alertas abertos (marcados como revisados), arquivos por módulo com "Aceitar arquivos atuais" e revisão do histórico Número da operação, somente leitura.
  • Avisos onde eles são vistosFaixa vermelha em toda a área administrativa enquanto qualquer coisa permanecer aberta, e um aviso no formulário de pedido, que é onde o remetente está localizado. Além do correio e do RKR Sentinel.
  • Cron com seu próprio token (/module/rkrorderguard/cron): verifica os arquivos e pedidos dos últimos sete dias, caso algum tenha sido criado sem passar pelo hook. Sem o cron, o back office realiza a verificação de arquivos no máximo uma vez por intervalo.
  • O que não fazerConsulte a transação com a Redsys. O módulo Redsys não inclui nenhuma consulta e é um serviço separado que cada banco ativa para cada comerciante. A confirmação é feita manualmente no painel de controle.
  • Coexistência com o RKR Order Guard Free, que compartilha a tabela de incidentes e fecha os itens em aberto em um pedido que considera limpo: um pagamento desviado permanece em aberto até que um funcionário o marque como revisado, independentemente de quem o feche.
  • O PrestaShop 9.1 não funciona. exibirAdminAfterHeader Nas páginas do controlador clássico: a banda também é colocada a partir de exibirCabeçalhoDoBackOffice, Sem duplicação.
  • Corrigido um erro fatal latente no PrestaShop 9. na reparação de duplicados: devolução do estoque chamado para StockAvailable::dependsOnStock(), que o 9 já não possui. Ele só chegou lá porque o cancelamento não trouxe o estoque de volta por si só.
  • Análise de complementos: todo o HTML vai para modelos Smarty (visualizações/modelos/admin/) e os scripts para visualizações/js/; nada de Contexto::, , Tab::getIdFromClassName() nenhum Módulo::isInstalado()/isHabilitado() (obsoleto); .htaccess na raiz; l() Sem o suporte do Symfony, o que deixou "Tradução não encontrada" com "Não" e "Total"; a descrição de config.xml O mesmo que PHP; PHP CS Fixer e PHPStan (nível 5) limpos.

30/09/2026
v1.2.0

A decisão tem uma variante que o 1.1.0 Não percebi: quando o módulo de pagamento cria o pedido APÓS o pagamento, o que é duplicado não é a fatura, mas sim o pedido. ordem. Cada um dos dois permanece internamente consistente — suas faturas com seus itens de linha e seu faturamento estão equilibrados — portanto, nenhum dos três critérios anteriores indicou isso. Em relação a uma loja real com 143.649 pedidos: 29 carrinhos com dois pedidos e, dos 54 mais recentes, a detecção do 1.1.0 teria marcado zero.

  • Novo critério ordem duplicadaExiste outro pedido ATIVO do mesmo carrinho com uma referência diferente. A referência é o que o diferencia de uma divisão por pacote, que o PrestaShop faz intencionalmente e na qual todos os pedidos compartilham uma referência — portanto, um índice único. orders.id_cart Essa não é a solução. Confira. açãoValidarPedido, que é quando você sabe que um pedido acaba de ser criado, e em cada revisão subsequente.
  • Nova tela: Pedidos → Pedidos duplicados. Verificar e consertar os que já estão na loja, o que até agora tinha que ser feito manualmente, um por um. Ele não parece RKROG_SINCEEssa data é para monitoramento ao vivo, e é exatamente por isso que estamos aqui, para ver o que foi mostrado acima.
  • O que importa naquela tela é a classificação., e folhas order_payment.transaction_id, que faz parte do núcleo e não depende do gateway: PARA um pagamento e dois pedidos — o excedente é cancelado, não há dinheiro extra —, B duas cobranças separadas — o dinheiro precisa ser devolvido e isso é decidido por uma pessoa — e C indeterminado, que é apenas listado. Apenas o caso A é abordado.
  • E o que não faz, o que é igualmente importante.Se o excedente tiver uma fatura numerada, a fatura não é alterada (isso requer uma correção); se um pacote já foi enviado, nada é alterado, o gateway nunca é acionado nem uma devolução é emitida, e nada é executado em lotes sem marcação e confirmação.
  • A simulação equivale exatamente à execução. Toda a decisão reside em analisar(), que não escreve; aplicar() Ele apenas executa o que já foi decidido. O relatório se encaixa por construção (grupos = reparados + ignorados + nada) e a tela avisa se alguma vez não estiver alinhada.
  • O estoque é medido, não estimado. O núcleo é devolvido após o cancelamento, mas somente se o estado anterior tiver sido considerado e o produto não for gerenciado por meio de gerenciamento avançado. As medições são feitas antes e depois, e apenas o que não foi devolvido é substituído: injetá-lo por precaução resultaria em sua devolução dupla, o que é pior do que não devolvê-lo de forma alguma.
  • A referência do gateway torna-se a PRIMEIRA chave de bloqueio. Em um servidor que suporta apenas um OBTER_BLOQUEIO Apenas a primeira sessão é realizada e, com o carrinho de compras aberto, as duas chamadas ao gateway bloquearam nomes diferentes: exclusão mútua zero, e o módulo estava instalado, ativo e sem fazer nada. A referência ao gateway é a única que chega por ambos os caminhos — a notificação servidor-para-servidor geralmente chega sem nenhum parâmetro da nossa parte.
  • Registro opcional de fechaduras apreendidas (RKROG_TRACE, (desligado de fábrica). Sem isso, descobrir o que foi mencionado acima levaria uma tarde inteira: não havia como ver qual tecla havia bloqueado uma solicitação.

Você também pode gostar

4 outros produtos da mesma categoria

Produtos visualizados

Questions and answers

  • ¿Cómo evita que un mismo pago genere dos pedidos?

    Equipo de Rekire

    0
    • Antes de que el controlador del módulo de pago cargue nada, toma un bloqueo de MySQL: si llegan dos notificaciones de la pasarela a la vez, la segunda espera y, cuando entra, ya ve el pedido creado. También bloquea el pedido mientras cambia de estado, para que no salgan dos facturas ni dos cobros, y evita el doble envío del formulario de estado en el back office. Si el bloqueo agota su espera, la venta sigue: el módulo nunca corta un pedido.

      Equipo de Rekire The shop

  • ¿Sirve para los duplicados que ya tengo en la tienda?

    Equipo de Rekire

    0
    • Sí. En Pedidos → Pedidos duplicados revisa todo el histórico y clasifica cada carrito: un cobro y dos pedidos (cancela el sobrante y devuelve su stock), dos cobros y dos pedidos (lo decide una persona) o indeterminado (solo lo lista). Te dice qué pedido se quedaría y por qué, puedes cambiarlo y simular antes. El sobrante pasa a Cancelado, nunca se borra.

      Equipo de Rekire The shop

  • ¿Hace devoluciones de dinero o toca facturas ya emitidas?

    Equipo de Rekire

    0
    • No. Nunca emite una devolución ni llama a la pasarela, no toca un pedido del que ya ha salido un paquete y no retira una factura ya numerada, que necesitaría una rectificativa. Tampoco ejecuta nada en lote sin que marques los grupos y confirmes.

      Equipo de Rekire The shop

  • ¿Qué es la vigilancia de pagos desviados?

    Equipo de Rekire

    0
    • Comprueba que el número de operación de cada pedido tiene la forma que escribiría su pasarela: en Redsys por firma contra el carrito, y en PayPal, PayPlug y Stripe por la forma del identificador. Además guarda una huella sha256 de los ficheros de tus módulos de pago y te avisa si alguno cambia sin una actualización de PrestaShop. Solo avisa, con una banda roja en el back office y en la ficha del pedido; cada sospecha se confirma en el panel de la pasarela.

      Equipo de Rekire The shop

  • ¿Usa overrides? ¿Qué versiones de PrestaShop admite?

    Equipo de Rekire

    0
    • No usa ningún override, así que no toca el núcleo y sobrevive a las actualizaciones de PrestaShop y de tus pasarelas. Es compatible con PrestaShop 1.7.6 a 9.x.

      Equipo de Rekire The shop

  • ¿Puedo tenerlo instalado junto a RKR Order Guard Free?

    Equipo de Rekire

    0
    • Sí, conviven y comparten el registro de incidencias. Un aviso de pago desviado de este módulo sigue abierto hasta que un empleado lo marque como revisado, aunque la versión gratuita vea limpio ese pedido.

      Equipo de Rekire The shop

Carregando...
Consentimento de cookies
Voltar ao topo