pichuki Posted February 19, 2015 Share Posted February 19, 2015 Hola, tras leer varios post sobre el tema no tengo claro cuál es mi problema, por eso quería comentaros lo que me está pasando con el modulo paypal, y espero me podáis ayudar. Versión Prestashop: 1.6.0.11 Versión Módulo Paypal: v3.8.1 Bien, lo primero decir que esto ha ocurrido de un día para otro, sin tocar nada. Una vez el cliente realiza un pedido el pago Paypal se realiza perfectamente, pero sin generarse el pedido. Para generar el pedido utilizo el carro de compras creado por el cliente, pincho en la pestaña "crear un pedido con este carrito" y todo bien, hasta que llego al desplegable de pagos, donde compruebo que están todas las opciones (reembolsos, tarjeta...), excepto la de Paypal, quedando un espacio en blanco, adjunto foto. Da igual de que manera quiera generar el pedido, ese espacio donde debe estar la opción de Paypal siempre sale en blanco, y anterior al error si estaba. He desinstalado y borrado el módulo, para después volver a instalarlo, y el problema persiste. Los datos de identificación api comprobados, están bien. Un saludo. Link to comment Share on other sites More sharing options...
maxoneill Posted February 19, 2015 Share Posted February 19, 2015 Hola, soy Inglés , pero estoy queriendo pedirle ha realizado recientemente la actualización Prestashop ? Puedes activar el modo debug y tratar de probar otro pago , debe apagar un error de depuración que le ayudará a solucionar el problema .Un cordial saludo, Link to comment Share on other sites More sharing options...
pichuki Posted February 20, 2015 Author Share Posted February 20, 2015 Gracias por contestar, mi Prestashop es actualizado, anterior tenía 1.5.3.1. He probado activando modo debug y no hay mensaje, además todos los pagos se realizan perfectamente, incluido Paypal. El resto de pagos si generan los pedidos. Link to comment Share on other sites More sharing options...
pichuki Posted February 22, 2015 Author Share Posted February 22, 2015 He realizado un pedido manual utilizando el espacio en blanco que salía (donde debe estar Paypal), y me sale este error: [PrestaShopException] Property Order->payment is emptyat line 866 in file classes/ObjectModel.php 861. 862. $message = $this->validateField($field, $this->$field); 863. if ($message !== true) 864. { 865. if ($die) 866. throw new PrestaShopException($message); 867. return $error_return ? $message : false; 868. } 869. } 870. 871. return true; ObjectModelCore->validateFields - [line 272 - classes/ObjectModel.php] 267. * 268. * @return array All object fields 269. */ 270. public function getFields() 271. { 272. $this->validateFields(); 273. $fields = $this->formatFields(self::FORMAT_COMMON); 274. 275. // For retro compatibility 276. if (Shop::isTableAssociated($this->def['table'])) 277. $fields = array_merge($fields, $this->getFieldsShop()); ObjectModelCore->getFields - [line 299 - classes/order/Order.php] 294. public function getFields() 295. { 296. if (!$this->id_lang) 297. $this->id_lang = Configuration::get('PS_LANG_DEFAULT', null, null, $this->id_shop); 298. 299. return parent::getFields(); 300. } 301. 302. public function add($autodate = true, $null_values = true) 303. { 304. if (parent::add($autodate, $null_values)) OrderCore->getFields - [line 480 - classes/ObjectModel.php] 475. } 476. 477. // Database insertion 478. if (Shop::checkIdShopDefault($this->def['table'])) 479. $this->id_shop_default = min($id_shop_list); 480. if (!$result = ObjectModel::$db->insert($this->def['table'], $this->getFields(), $null_values)) 481. return false; 482. 483. // Get object id in database 484. $this->id = ObjectModel::$db->Insert_ID(); 485. ObjectModelCore->add - [line 304 - classes/order/Order.php] - [2 Arguments] 299. return parent::getFields(); 300. } 301. 302. public function add($autodate = true, $null_values = true) 303. { 304. if (parent::add($autodate, $null_values)) 305. return SpecificPrice::deleteByIdCart($this->id_cart); 306. return false; 307. } 308. 309. public function getTaxCalculationMethod() OrderCore->add - [line 335 - classes/PaymentModule.php] 330. 331. if (self::DEBUG_MODE) 332. PrestaShopLogger::addLog('PaymentModule::validateOrder - Order is about to be added', 1, null, 'Cart', (int)$id_cart, true); 333. 334. // Creating order 335. $result = $order->add(); 336. 337. if (!$result) 338. { 339. PrestaShopLogger::addLog('PaymentModule::validateOrder - Order cannot be created', 3, null, 'Cart', (int)$id_cart, true); 340. throw new PrestaShopException('Can\'t save Order'); PaymentModuleCore->validateOrder - [line 1366 - modules/paypal/paypal.php] - [10 Arguments] Argument [0] 3300 Argument [1] 2 Argument [2] 42.1927 Argument [3] Argument [4] Pedido manual -- Empleado j. mnez Argument [5] Array ( ) Argument [6] Argument [7] Argument [8] 3fb8deb07f365f30a9c119df762549 Argument [9] PayPal->validateOrder - [line 1098 - controllers/admin/AdminOrdersController.php] - [9 Arguments] 1093. $employee = new Employee((int)Context::getContext()->cookie->id_employee); 1094. $payment_module->validateOrder( 1095. (int)$cart->id, (int)$id_order_state, 1096. $cart->getOrderTotal(true, Cart::BOTH), $payment_module->displayName, $this->l('Manual order -- Employee:').' '. 1097. substr($employee->firstname, 0, 1).'. '.$employee->lastname, array(), null, false, $cart->secure_key 1098. ); 1099. if ($payment_module->currentOrder) 1100. Tools::redirectAdmin(self::$currentIndex.'&id_order='.$payment_module->currentOrder.'&vieworder'.'&token='.$this->token); 1101. } 1102. } 1103. else AdminOrdersControllerCore->postProcess - [line 171 - classes/controller/Controller.php] 166. // setMedia MUST be called before postProcess 167. if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className))) 168. $this->setMedia(); 169. 170. // postProcess handles ajaxProcess 171. $this->postProcess(); 172. 173. if (!empty($this->redirect_after)) 174. $this->redirect(); 175. 176. if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className))) ControllerCore->run - [line 374 - classes/Dispatcher.php] 369. // Execute hook dispatcher 370. if (isset($params_hook_action_dispatcher)) 371. Hook::exec('actionDispatcher', $params_hook_action_dispatcher); 372. 373. // Running controller 374. $controller->run(); 375. } 376. catch (PrestaShopException $e) 377. { 378. $e->displayMessage(); 379. } DispatcherCore->dispatch - [line 54 - admin/index.php] 49. $_POST['controller'] = strtolower($_POST['tab']); 50. if (!isset($_REQUEST['controller']) && isset($_REQUEST['tab'])) 51. $_REQUEST['controller'] = strtolower($_REQUEST['tab']); 52. 53. // Prepare and trigger admin dispatcher 54. Dispatcher::getInstance()->dispatch(); Link to comment Share on other sites More sharing options...
Ciudad17 Posted April 23, 2015 Share Posted April 23, 2015 Hola!! Estoy teniendo exactamente el mismo problema que tu. He leido por ahí que puede ser un problema de permisos en la carpeta del módulo http://www.presto-changeo.com/es/content/10-fixing-paypal-problems Lo intento y te cuento. Link to comment Share on other sites More sharing options...
Ciudad17 Posted June 6, 2015 Share Posted June 6, 2015 He conseguido solucionarlo borrando de /themes/default-bootstrap/modules la carpeta del módulo de Paypal (haz copia de seguridad antes por si acaso). En cuanto la he borrado ya no me aparece la opción de pago de paypal en blanco y me han empezado a llegar bien los pedidos. También he cambiado, por si acaso, los permisos de la carpeta /modules/paypal a 755. Link to comment Share on other sites More sharing options...
Recommended Posts