jmcamps Posted January 24, 2013 Share Posted January 24, 2013 (edited) 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 February 26, 2013 by jmcamps (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted January 24, 2013 Share Posted January 24, 2013 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 More sharing options...
jmcamps Posted January 24, 2013 Author Share Posted January 24, 2013 Gracias, actualizado. Ya te contaré. Link to comment Share on other sites More sharing options...
jmcamps Posted January 25, 2013 Author Share Posted January 25, 2013 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 More sharing options...
Sergio Ruiz Posted January 25, 2013 Share Posted January 25, 2013 Pasandome por aqui por simple curiosidad. Si todo funciona bien, y el cliente no ve el warning, yo no me preocuparia. Link to comment Share on other sites More sharing options...
jmcamps Posted January 25, 2013 Author Share Posted January 25, 2013 Gracias. Link to comment Share on other sites More sharing options...
txotxopeludo Posted February 6, 2013 Share Posted February 6, 2013 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 More sharing options...
txotxopeludo Posted February 6, 2013 Share Posted February 6, 2013 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 More sharing options...
joseantgv Posted February 26, 2013 Share Posted February 26, 2013 El problema es que está intentando instanciar la clase Paypal y no está incluída. Hay que añadir esta línea al principio: include_once(_PS_MODULE_DIR_.'paypal/paypal.php'); Link to comment Share on other sites More sharing options...
txotxopeludo Posted February 26, 2013 Share Posted February 26, 2013 Gracias, No esperaba que nadie diese la solución a estas alturas. Eres el puto amo. Link to comment Share on other sites More sharing options...
jmcamps Posted February 26, 2013 Author Share Posted February 26, 2013 Gracias a todos por la respuesta Link to comment Share on other sites More sharing options...
nadie Posted February 26, 2013 Share Posted February 26, 2013 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 More sharing options...
jmcamps Posted February 26, 2013 Author Share Posted February 26, 2013 /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 Link to comment Share on other sites More sharing options...
nadie Posted February 26, 2013 Share Posted February 26, 2013 /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 More sharing options...
jmcamps Posted February 26, 2013 Author Share Posted February 26, 2013 Gracias de nuevo. Pongo el tema como solucionado. Link to comment Share on other sites More sharing options...
jmcamps Posted February 26, 2013 Author Share Posted February 26, 2013 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 More sharing options...
joseantgv Posted February 27, 2013 Share Posted February 27, 2013 (edited) Creo que la has puesto antes de los otros 2 includes, puede ser? Déjalo así: include_once(dirname(__FILE__).'/../../../config/config.inc.php'); include_once(dirname(__FILE__).'/../../../init.php'); include_once(_PS_MODULE_DIR_.'paypal/paypal.php'); Edited February 27, 2013 by joseantgv (see edit history) Link to comment Share on other sites More sharing options...
jmcamps Posted February 27, 2013 Author Share Posted February 27, 2013 Listo, Muchas gracias de nuevo Link to comment Share on other sites More sharing options...
xabikip Posted March 7, 2013 Share Posted March 7, 2013 Tengo el mismo problema. He puesto esta linea include_once(_PS_MODULE_DIR_.'paypal/paypal.php'); en ajax.php y nada me sigue saliendo el mismo error. Ando con la version PayPal 3.4.5 y PS 1.5.3.1 Link to comment Share on other sites More sharing options...
joseantgv Posted March 7, 2013 Share Posted March 7, 2013 Que error te da? Lo has puesto después de los otros 2 includes? Link to comment Share on other sites More sharing options...
Recommended Posts