Jump to content

Solucionado: Error Con Paypal


jmcamps

Recommended Posts

Hola,

 

El modulo PayPaypal en Prestashop 1.5.3.1 me funciona correctamente pero en los logs de error del php me sale de vez en cuando esta línea:

 

PHP Fatal error: Class 'Paypal' not found in C:\xampp\htdocs\modules\paypal\express_checkout\ajax.php on line 42

 

¿Alguna idea?

 

La versión actual en producción es la 3.4.1, ¿actualizo a la 3.4.4?

Edited by jmcamps (see edit history)
Link to comment
Share on other sites

Hola,

 

El modulo PayPaypal en Prestashop 1.5.3.1 me funciona correctamente pero en los logs de error del php me sale de vez en cuando esta línea:

 

PHP Fatal error: Class 'Paypal' not found in C:\xampp\htdocs\modules\paypal\express_checkout\ajax.php on line 42

 

¿Alguna idea?

 

La versión actual en producción es la 3.4.1, ¿actualizo a la 3.4.4?

 

Prueba actualizar a la ultima versión del modulo de paypal, tal como comentas.

Link to comment
Share on other sites

Hola nadie,

 

Pues la versión 3.4.4, aunque también me funciona correctamente al igual que la 3.4.1 a nivel de front office, continua lanzando el error el en log de php siguiente:

 

PHP Fatal error: Class 'Paypal' not found in C:\xampp\htdocs\modules\paypal\express_checkout\ajax.php on line 42

 

Alguna sugerencia?

 

Gracias

Link to comment
Share on other sites

  • 2 weeks later...

Hola

 

Tenía el mismo problema y llegué aquí buscando en google. No es una tontería porque se trata de un PHP Fatal error. Además ralentiza la carga de la web y no estoy seguro (soy nuevo y ando probando), pero creo que puede dar problemas en los pagos con Paypal.

 

Siguiendo los log de error de apache, la línea de error y el código php he descubierto que el error se produce cuando no hay stock en un producto. Al entrar en la página de producto, si no hay stock, salta ese PHP Fatal error.

 

Yo tengo puesto en la configuración de prestashop, que ignore los stocks. No me debería dar ningún problema pero... Si no hay stock sale ese php fatal error.

 

Solución. Añadir stock en todos los productos y esperar a que solucionen el problema en futuras versiones.

 

Soy nuevo y es mi primer post. Yo mismo mandaría el bug a la web oficial de prestashop para que lo revisen, pero no se como se hace. Bastante lío tengo de ir haciendo mi tienda. Vengo de Oscommerce.

 

De momento, a poner stock en todo y solucionado.

 

Saludos

Link to comment
Share on other sites

Bueno, otra solución, para no andar preocupándose del stock.

 

En /modules/paypal/express_ckeckout/ajax.php

 

Buscar sobre la línea 42

 

   if ($product_quantity <= 0)
   {
    $paypal = new Paypal();
    echo $paypal->l('This product is no longer in stock with those attributes but is available with others');
   }

 

y reemplazar por

 

   if ($product_quantity <= 100)
   {
    $product_quantity = 100;
    echo $product_quantity;
   }

 

De esta forma, aunque el stock sea 0 o negativo, le decimos al módulo de paypal que siempre tenemos como mínimo 100 productos en stock, o 10, los que sean, pero siempre positivo, nunca negativo (Gran frase de Van Gaal). Podemos reemplazar 100 por 10 o por los que queramos decir a paypal que tenemos siempre como mínimo.

 

Esta solución no es definitiva porque hay gente que sí usa el stock y con esto se pasaría el stock por el forro. Es sólo un pache para los que tenemos puesto que se hagan pedidos aunque no haya stock.

Link to comment
Share on other sites

  • 3 weeks later...

Estimado jmcamps,

 

Si das el tema como solucionado, edita el titulo del tema, editando el primer mensaje, pulsando en editar, y después en "Usar editor completo", añadiendo la palabra "Solucionado" al titulo, esto ayudara, a mantener una mayor organización en el foro.

Link to comment
Share on other sites

/Perdonad de nuevo, entiendo que la línea siguiente debo de incluirla al principio del fichero /modules/paypal/express_checkout/ajax.php, es así?

 

include_once(_PS_MODULE_DIR_.'paypal/paypal.php');de

 

Si, prueba ponerlo despues de donde dice:

 

include_once(dirname(__FILE__).'/../../../init.php');

Link to comment
Share on other sites

Hola,

 

He puesto el tema como solucionado pero después de añadir la línea recibo en el php-error log el siguiente mensaje:

 

PHP Warning: include_once(): Failed opening '_PS_MODULE_DIR_paypal/paypal.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\modules\paypal\express_checkout\ajax.php on line 27

Link to comment
Share on other sites

  • 2 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...