Error cuando un cliente paga con Paypal en Prestashop 1.7: «Error de validación de pedido: Can’t load Order status. Attention, your payment is made. Please, contact customer support. Your transaction ID is : XXXXXXXXXXXXXXXX» o en español «Error de validación de pedido: No se puede cargar el estado del pedido. Atención, tu pago se ha realizado. Por favor, contacta con el servicio de atención al cliente. El ID de tu transacción es : XXXXXXXXXXXXXXXX».  Os explicamos como solucionar este problema relativamente frecuente de la última versión de módulo oficial de Paypal para Prestaashop a día de hoy (la versión 1.5.3) y para el que todavía no hay muchas soluciones colgadas en internet.

Cuando se instala el módulo todo parece correcto, pero cuando el cliente realiza un pedido y elige pagar con Paypal, introduce sus datos de Paypal y completa el pago, aparece  el error anteriormente citado. Para el cliente es frustrante porque se le dice que ha pagado, pero que no se ha validado el pedido. Y para el administrador de la tienda es aún peor ya que ni le aparece el pedido en el BackOffice y cuando le llama un cliente para comentarle el problema, le pilla desprevenido., pero es cierto que en su cuenta de Paypal se refleja la transacción y ha llegado el dinero.

Error que  ve el usuario en el front office:

El administrador, si va a la configuración del  módulo de Paypal, a la pestaña de LOGS, se encuentra con este error:

Order validation error : Can’t load Order status; File: /var/www/vhosts/mifarmaciasalud.es/httpdocs/classes/PaymentModule.php; Line: 243;

Como nota adicional, debo decir que nosotros nos hemos encontrado con este problema en una tienda que habíamos actualizado de Prestashop 1.6 a Prestashop 1.7 y que ya tenía un módulo antiguo de Paypal funcionando. Nosotros desinstalamos ese módulo, instalamos la última versión disponible del módulo de Paypal y nos encontramos con el problema. Pero sabemos que también le ha pasado a gente con versiones anteriores del módulo y a gente que estaba trabajando directamente con una instalación nueva de Prestashop 1.7.

PASOS A SEGUIR PARA SOLUCIONAR EL PROBLEMA DE PAYPAL

1. Deshabilitar y desinstalar el módulo de Paypal en Prestahop.

2. Acceder por FTP a la carpeta modules y borrar la carpeta paypal.

3. Acceder a la base de datos y buscar todas las tablas que Payapl ha creado (son las que en su nombre llevan la palabra «paypal» así que podemos hacer una búsqueda). Se pueden borrar, pero nosotros nos sentimos más cómodos renombrándolas para no perder esos datos y por si hubiese que echar mano de ellos en algún momento.

4. En nuestro equipo, descomprimiremos la carpeta zip del módulo Paypal que nos hemos descargado.

5. Editaremos el archivo paypal/vendor/ppbtlib/src/Db/DbTable.php quitando de la función create () este texto «COLLATE=$this-collation».

6. Guardaremos cambios y volveremos a comprimir la carpeta de Paypal.

7. Volveremos a subir el nuevo módulo editado y a instalarlo con normalidad.

8. ¡Listo! Os recomiendo hacer una prueba para verificar que se ha solucionado el problema.