¿Por qué algunos pedidos no se asignan en Prestashop?

El hecho de que algunos pedidos no se asignan en el Back Office de Prestashop puede deberse a varios factores:

  1. Verifique que la URL de notificación esté bien configurada: Consulte el capítulo Configurar la notificación al final del pago en la documentación y compruebe que la configuración se realizó de forma correcta. Recuerde que la documentación está disponible en la parte de configuración del módulo: Haga clic para acceder a la documentación de configuración del módulo.
  2. Verifique el código de respuesta del llamado a la URL de notificación: Conéctese desde el Back Office Vendedor, busque la transacción en cuestión y haga doble clic en ella.

    En la pestaña Información, busque Estado de la URL de notificación y compruebe que el estado sea Enviado, los errores más frecuentes son los siguientes:

    • Error 500

      A veces aparece un error 500 al llamar a la URL de notificación. Este error es un error de aplicación y no significa que el problema provenga de nuestro módulo. Para obtener los detalles del error, debe activar los registros de apache de su servidor y, a continuación, buscar el llamado en cuestión que presenta el problema.

      Si no tiene acceso a los registros del servidor, consulte el capítulo ¿Cómo mostrar los errores 500 en Prestashop? de las PF para que los errores se muestren en la página de retorno.

    • Error 404

      Verifique que la configuración de la URL de notificación sea la correcta, retomando el primer punto de este artículo.

  3. Verifique que el módulo haya respondido de forma correcta durante el llamado: Para verificar la respuesta del módulo, conéctese desde el Back Office Vendedor, busque la transacción en cuestión y haga doble clic en ella.

    Haga clic en la pestaña Historial, luego seleccione la línea Llamado URL de notificación, en el cuadro Info. adicional: Llamado URL de notificación, debe ver lo siguiente: OK-Accepted payment, order has been updated.

    Si alguna vez, observa el mensaje Error fatal, puede deberse a lo siguiente:
    • La URL de notificación que se configuró es la de una tienda desactivada o en mantenimiento: Si se trata de un uso multitienda, nuestro módulo mostrará la URL de la tienda Prestashop por defecto, y en caso de que esta estuviera desactivada o en mantenimiento, habrá que ingresar la URL de otra tienda en el Back Office Vendedor.
    • Un error de CMS: En este caso, tendrá que mirar los registros de error de su servidor para entender el problema, por ejemplo:
      • validateOrder - Secure key does not match: En el caso improbable de que un comprador crea dos cuentas de clientes idénticas de forma fraudulenta, Prestashop crea una secureKey en la tabla ps_cart diferente de la secureKey de la tabla ps_customer.

        Por lo tanto, la solución sería poner una secureKey idéntica entre las dos tablas, luego volver a llamar a la URL de notificación.