Hemos estado observando en varias tiendas online de Prestashop tanto la version 1.6 como la version 1.7 se están reproduciendo un error común en las ultimas versiones de Prestashop, aparece una advertencia que indica que se ha pagado el doble de la cantidad que deberia de pagar el cliente.
Como sabéis Prestashop es una CMS especializado en Ecommerce, que nos brindan un catalogo de mas de 300 herramientas que podremos usar para poder construir nuestra propia tienda online, para poder hacerlo es mínimo un poco de conocimiento de la materia, al menos saber instalarlo, configurarlo, instalar themes o plantillas e instalaar Plugins o Addons, como se conoce en Prestashop, necesarios, aunque ya casi Prestashop viene con toda la base necesaria instalada para poder prescindir de instalar plugins extras. Solo si necesitas algo muy concreto deberás tirar por mas Addons.
Pero hablemos del Error Advertencia X euros pagados en vez de Y euros
Indice de contenidos
¿Por qué se produce este error de Advertencia?
Hay quien dice que este error se produce por el los modulos de pago de PayPal o por el modulo de Redsys o equivalente, pero depende de la advertencia mostrada el error puede ser debido a un factor u otro. En este caso abordamos el caso de que nos aparece la advertencia con un un importe pagado que es siempre el doble de lo que debería haber pagado el cliente.
Pero mucho cuidado porque realmente el cliente no ha pagado el doble del importe, se trata de un error de configuración.
El error se produce por un cambio de Estado del pedido, ya que el primer estado del pedido después de hacer un pago correctamente es Pago Aceptado y esto genera un registro en la tabla pagos de nuestros pedido.
Como habéis podido ver en la imagen anterior, no aparece la advertencia porque el sistema solo ha puesto un registro tras su estado de Pago Aceptado, pero en cuanto cambiamos a Preparación en Curso, Enviado o Entregado el error se nos reproduce.
Ejemplo de pago doble porque se aplico directamente el Estado Enviado
La solución a la Advertencia de Pago Doble de Prestashop
La solución es muy sencilla, ya que lo que debemos hacer es configurar los estados Enviado y Preparación en Curso que son los que nos estan dando la lata.
Para solucionarlo haz lo siguiente:
- Abre el BackEnd de Prestashop
- Parámetros de la tienda
- Configuracion de Pedidos
- Pestaña Estados
Deberas ver una pantalla como esta
Si entramos en el Estado Preparacion en Curso veremos lo siguiente:
Repetimos el mismo procedimiento con el de Envio y el problema se resolverá
Cabe destacar que esto no corrige los anteriores estados que ya han sido creados, por lo que el error no se borrara, simplemente el error no se repetirá para futuros pedidos.
Advertencia de Pago de Prestashop con importe distinto pero no doble
Puede existir otro caso que es que el importe aparezca distinto pero quizás unos euros o céntimos de diferencia con respecto al importe pagado, precisamente este error aunque sea aparentemente igual no lo es.
Este error se ha visto mucho en las versiones de Prestashop 1.5 y el modulo de PayPal, donde el problema de esto era el redondeo que realizaba Prestashop que era diferente al redondeo que realizaba PayPal.
El redondeo que realizaba PayPal es diferente porque el tratamiento de los productos eran sobre el total del carro y no sobre cada producto en general.
Aunque cambiaras el tipo de redondeo en Prestashop, ya sea para que redondee por productos o redondee por total del carro siempre fallaba con el redondeo de PayPal por unos centimos.
Aquí la solución que pasamos fue pasar de Prestashop 1.5 a 1.7, ya que realmente tocaba por seguridad actualizar el prestashop a una versión mas estable.