Jump to content

Erreur Validation De Commande


Recommended Posts

Bonjour à tous,

 

J'ai créé un site sur presta 1.6.1.2 ma fois très fonctionnel, seul problème je rencontre un soucis lors de la validation des commandes. 

J'ai trouvé plusieurs posts sur ce sujet mais aucune réponse efficace.

 

Lors de la validation de la commande, que ce soit par chèque, virement ou Paypal, on obtient une erreur 500.
Pour Paypal cependant l'erreur survient après la validation du paiement. Le règlement est donc effectué mais la commande n'est pas importée dans le backoffice. (pas pratique pour la gestion des commandes).

Lorsque je tente de créer une commande manuellement j'obtiens l'erreur suivante :

Etant peu à l'aise en php, cela ne me parle pas vraiment.

Je joins un fichier html en PJ qui est la réplique exacte de la page d'erreur.

 

Si jamais quelqu'un comprend d'où provient l'erreur et éventuellement comment la régler ce serait vraiment top !

 

Edit : je pense que le problème peut venir de la base de données, dans certaines tables phpmyadmin j'obtiens l'erreur "disparité du jeton" mais j'ignore ce que cela signifie.

Merci 

Can't save Order
at line 345 in file classes/PaymentModule.php

340.                     // Creating order
341.                     $result = $order->add();
342. 
343.                     if (!$result) {
344.                         PrestaShopLogger::addLog('PaymentModule::validateOrder - Order cannot be created', 3, null, 'Cart', (int)$id_cart, true);
345.                         throw new PrestaShopException('Can\'t save Order');
346.                     }
347. 
348.                     // Amount paid by customer is not the right one -> Status = payment error
349.                     // We don't use the following condition to avoid the float precision issues : http://www.php.net/manual/en/language.types.float.php
350.                     // if ($order->total_paid != $order->total_paid_real)
PaymentModuleCore->validateOrder - [line 1160 - controllers/admin/AdminOrdersController.php] - [9 Arguments]
1155.                     $employee = new Employee((int)Context::getContext()->cookie->id_employee);
1156.                     $payment_module->validateOrder(
1157.                         (int)$cart->id, (int)$id_order_state,
1158.                         $cart->getOrderTotal(true, Cart::BOTH), $payment_module->displayName, $this->l('Manual order -- Employee:').' '.
1159.                         substr($employee->firstname, 0, 1).'. '.$employee->lastname, array(), null, false, $cart->secure_key
1160.                     );
1161.                     if ($payment_module->currentOrder) {
1162.                         Tools::redirectAdmin(self::$currentIndex.'&id_order='.$payment_module->currentOrder.'&vieworder'.'&token='.$this->token);
1163.                     }
1164.                 }
1165.             } else {
AdminOrdersControllerCore->postProcess - [line 178 - classes/controller/Controller.php]
173.             if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className))) {
174.                 $this->setMedia();
175.             }
176. 
177.             // postProcess handles ajaxProcess
178.             $this->postProcess();
179. 
180.             if (!empty($this->redirect_after)) {
181.                 $this->redirect();
182.             }
183. 
ControllerCore->run - [line 367 - classes/Dispatcher.php]
362.             if (isset($params_hook_action_dispatcher)) {
363.                 Hook::exec('actionDispatcher', $params_hook_action_dispatcher);
364.             }
365. 
366.             // Running controller
367.             $controller->run();
368.         } catch (PrestaShopException $e) {
369.             $e->displayMessage();
370.         }
371.     }
372. 
DispatcherCore->dispatch - [line 58 - admin/index.php]
53. if (!isset($_REQUEST['controller']) && isset($_REQUEST['tab'])) {
54.     $_REQUEST['controller'] = strtolower($_REQUEST['tab']);
55. }
56. 
57. // Prepare and trigger admin dispatcher
58. Dispatcher::getInstance()->dispatch();

erreur-presta.html

Edited by M.Slurp (see edit history)
Link to comment
Share on other sites

  • 2 months later...

Bonjour,

 

Avez-vous réglé ce problème,  car j'ai le même problème maintenant.

 

Je viens de changer de serveur dédié, et j'ai pris un certificat SSL, comme vous le paiement s'éffectue et puis une erreur 500, avec le mode débug activé j'ai cette erreur:

 

Notice: Undefined index: RedirectRequired in /home/rosmant/domains/motosrosmant.be/public_html/modules/paypal/express_checkout/payment.php on line 312 Fatal error: Uncaught Unknown column 'round_type' in 'field list'
 
INSERT INTO `ps_orders` (`id_address_delivery`, `id_address_invoice`, `id_cart`, `id_currency`, `id_shop_group`, `id_shop`, `id_lang`, `id_customer`, `id_carrier`, `current_state`, `secure_key`, `payment`, `module`, `recyclable`, `gift`, `gift_message`, `mobile_theme`, `total_discounts`, `total_discounts_tax_incl`, `total_discounts_tax_excl`, `total_paid`, `total_paid_tax_incl`, `total_paid_tax_excl`, `total_paid_real`, `total_products`, `total_products_wt`, `total_shipping`, `total_shipping_tax_incl`, `total_shipping_tax_excl`, `carrier_tax_rate`, `total_wrapping`, `total_wrapping_tax_incl`, `total_wrapping_tax_excl`, `round_mode`, `round_type`, `shipping_number`, `conversion_rate`, `invoice_number`, `delivery_number`, `invoice_date`, `delivery_date`, `valid`, `reference`, `date_add`, `date_upd`) VALUES ('42', '42', '72', '2', '1', '1', '2', '5', '7', '0', 'cf8a660f42729db99eeff0c0b02282dc', 'PayPal', 'paypal', '0', '0', NULL, '0', '0', '0' in /home/rosmant/domains/motosrosmant.be/public_html/classes/db/Db.php on line 791
Link to comment
Share on other sites

Bonjour,

le message d'erreur vous indique qu'il vous manque la colonne "round-type" dans la table ps_orders.

J'ai vérifié et ce champ est bien présent sur une 1.6.1.4 (pas vérifier sur les autres versions).

 

Il faudrait essayer de comprendre pourquoi ce champ n'existe pas sur votre version et éventuellement le rajouter.

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...