Sin impuesto Con impuesto

Módulo order guard - evita pedidos duplicados y estados de pago o factura duplicados

Precio: 229,90 €
190,00 € Sin impuesto 229,90 € Con impuesto

Evita que un pedido se duplique, que acabe con dos facturas o con dos cobros cuando la pasarela de pago o el cambio de estado se ejecutan dos veces a la vez. Y repara los duplicados que tu tienda ya tiene, devolviendo el stock atrapado.

Compatible con PrestaShop 1.7.6 a 9.x. Sin overrides.

Compartir

Pedidos

El cliente pagó una vez. Tu tienda tiene dos pedidos.

Dos notificaciones de la pasarela llegan a la vez, las dos preguntan si el pedido existe antes de que ninguna lo haya creado, y salen dos: cada uno con su factura, su cobro y su stock descontado. Ninguna comprobación normal lo ve, porque los dos están bien por dentro. RKR Order Guard hace que la segunda espere.

29 carritos
con dos pedidos en una tienda real de 143.649 pedidos, repartidos entre tres pasarelas
10 de 10
ejecuciones dobles acababan en dos facturas sin el módulo; con él, ninguna
0 overrides
no toca el núcleo, así que sobrevive a las actualizaciones de PrestaShop y de tus pasarelas

/ Lo evita antes de que ocurra

En la pasarela de pago
Antes de que el controlador del módulo de pago cargue nada, se toma un bloqueo de MySQL. La segunda notificación espera y, cuando entra, ve el pedido ya creado.
En el cambio de estado
El pedido se bloquea mientras cambia de estado, para que no nazcan dos facturas ni dos cobros.
En el back office
Evita el doble envío del formulario de estado, el origen humano del mismo fallo.
Comprobar y recuadrar
Tras cada cambio de estado compara la cabecera del pedido con sus propias filas y, si no cuadra, la recuadra: sin crear ni borrar nada.

/ Y arregla los que ya tienes

En Pedidos → Pedidos duplicados revisas todo el histórico, no solo lo posterior a la instalación. Cada carrito duplicado se clasifica según los cobros registrados:

A · un cobro, dos pedidos
No hay dinero de más. Se cancela el sobrante y se devuelve su stock.
B · dos cobros, dos pedidos
Hay dinero cobrado de más. La devolución la decide una persona, y el módulo no la toca.
C · indeterminado
Algún cobro sin identificador. Solo se lista.

La pantalla te dice qué pedido se quedaría y por qué, y te deja cambiarlo. El sobrante pasa a Cancelado —nunca se borra— y el stock se mide antes y después, para reponer solo lo que no haya vuelto. Puedes simular primero: el ensayo cuenta exactamente lo mismo que la ejecución.

Lo que no hace nunca: emitir una devolución ni llamar a la pasarela; tocar un pedido del que ya ha salido un paquete; retirar una factura ya numerada, que pide una rectificativa; ni ejecutar nada en lote sin que marques los grupos y confirmes. Y si el bloqueo agota su espera, la venta sigue igualmente: el módulo nunca corta un pedido.

/ Te avisa de lo que encuentra

Detecta cuatro problemas —pedido duplicado, factura duplicada, cobro superior a lo facturado y pedido descuadrado— y los apunta en un registro de incidencias que se conserva aunque desinstales el módulo.

Compatible con PrestaShop 1.7.6 a 9.x

Desarrollado y mantenido por REKIRE

v1.2.0

El fallo tiene una variante que la 1.1.0 no veía: cuando el módulo de pago crea el pedido DESPUÉS de pagar, lo que se duplica no es la factura, es el pedido. Cada uno de los dos queda internamente coherente —su factura con sus líneas y su cobro cuadrado— así que ninguno de los tres criterios anteriores lo señalaba. Sobre una tienda real con 143.649 pedidos: 29 carritos con dos pedidos, y de los 54 más recientes la detección de la 1.1.0 habría marcado cero.

  • Criterio nuevo duplicate_order: existe otro pedido VIVO del mismo carrito con referencia distinta. La referencia es lo que lo separa de una división por paquete, que PrestaShop hace a propósito y en la que todos los pedidos comparten referencia — por lo mismo, un índice único sobre orders.id_cart no es el arreglo. Se comprueba en actionValidateOrder, que es cuando se sabe que acaba de nacer un pedido, y en cada revisión posterior.
  • Pantalla nueva: Pedidos → Pedidos duplicados. Revisa y arregla los que ya están en la tienda, que es lo que hasta ahora había que hacer a mano uno a uno. No mira RKROG_SINCE: esa fecha es para la vigilancia en vivo, y aquí se viene justamente a ver lo anterior.
  • La clasificación es lo importante de esa pantalla, y sale de order_payment.transaction_id, que es del núcleo y no depende de la pasarela: A un cobro y dos pedidos —se cancela el sobrante, no hay dinero de más—, B dos cobros distintos —hay que devolver dinero y eso lo decide una persona— y C indeterminado, que sólo se lista. Sólo el caso A se toca.
  • Y lo que no hace, que importa igual: si el sobrante tiene factura numerada no se toca la factura (eso pide una rectificativa), si ha salido un paquete no se toca nada, nunca se llama a la pasarela ni se emite una devolución, y nada se ejecuta en lote sin marcarlo y confirmarlo.
  • Simular cuenta exactamente lo mismo que ejecutar. La decisión entera vive en analizar(), que no escribe; aplicar() sólo ejecuta lo ya decidido. El informe cuadra por construcción (grupos = reparados + saltados + sin nada) y la pantalla avisa si alguna vez no cuadrara.
  • El stock se mide, no se supone. El núcleo lo devuelve al cancelar, pero sólo si el estado anterior contaba y el producto no va por gestión avanzada. Se mide antes y después y sólo se repone lo que no haya vuelto: inyectar por si acaso lo devolvería dos veces, que es peor que no devolverlo.
  • La referencia de la pasarela pasa a ser la PRIMERA clave de bloqueo. En un servidor que sólo admite un GET_LOCK por sesión se toma únicamente la primera, y con el carrito delante las dos llamadas de la pasarela bloqueaban nombres distintos: cero exclusión mutua, y el módulo instalado, activo y sin hacer nada. La referencia de la pasarela es la única que llegan por los dos caminos — la notificación servidor-a-servidor suele venir sin un solo parámetro nuestro.
  • Registro opcional de los bloqueos tomados (RKROG_TRACE, apagado de fábrica). Sin él, descubrir lo anterior cuesta una tarde: no había forma de ver qué clave había bloqueado una petición.

4 otros productos de la misma categoría

  • Nuevo
Módulo emails recordatorios y avisos
84,70 €
Product Videos
play_circle_outline
play_circle_outline

Preguntas y respuestas

Todavía nadie ha preguntado nada sobre este producto.

Cargando...
Cookies
Volver arriba