Jump to content

error creacion pedido paypal


Recommended Posts

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.

post-478433-0-25297600-1424337099_thumb.jpg

Share this post


Link to post
Share on other sites

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,

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 empty
at 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();

Share this post


Link to post
Share on other sites

  • 2 months later...
  • 1 month later...

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.

Share this post


Link to post
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More