leheuzey Posted August 31, 2011 Share Posted August 31, 2011 Bonjour, Sur 1.4.4 avec le dernier module Paypal 2.8,j'ai un problème de création de commande une fois le payement effectué : page blanche avec "La création de la commande a échoué" - Le moyen de payement "a la livraison" fonctionne (la commande est crée sans probleme) - J'ai desinstallé le module paypal 2.6 et reinstallé le 2.8 - mon install est depuis le début en 1.4.4 - J'ai essayé avec le template de base - J'ai CHMODé validation.php en 777 - Les API, renvoi de paypal etc sont ok, et je suis en sandbox Et j'ai généré un débug...que je n'arrive pas à interpreter (cf plus bas). Dernier "détail", je suis hebergé sur online.net (une personne de passage sur le forum a eu le meme probleme que moi, mais impossible de comprendre comment il a resolu la 1ere étape : http://www.prestashop.com/forums/topic/119593-resolu-probleme-creation-commande-suite-paiement-paypal/ ) --> Je cherche donc quelqu'un qui sait comment debloquer la situation. Faites moi des propositions La boutique est visible ici : http://www.lapieuvrealunettes.com Merci beaucoup Guillaume Order Object ( [id_address_delivery] => 14 [id_address_invoice] => 14 [id_cart] => 38 [id_currency] => 1 [id_lang] => 2 [id_customer] => 13 [id_carrier] => 30 [secure_key] => /edité/ [payment] => PayPal [module] => paypal [conversion_rate] => 1.000000 [recyclable] => 0 [gift] => 0 [gift_message] => [shipping_number] => [total_discounts] => 0 [total_paid] => 0 [total_paid_real] => 29 [total_products] => 0 [total_products_wt] => 0 [total_shipping] => 0 [carrier_tax_rate] => 0 [total_wrapping] => 0 [invoice_number] => [delivery_number] => [invoice_date] => 0000-00-00 00:00:00 [delivery_date] => 0000-00-00 00:00:00 [valid] => [date_add] => 2011-08-30 22:09:49 [da te_upd] => 2011-08-30 22:09:49 [tables:protected] => Array ( [0] => orders ) [fieldsRequired:protected] => Array ( [0] => conversion_rate [1] => id_address_delivery [2] => id_address_invoice [3] => id_cart [4] => id_currency [5] => id_lang [6] => id_customer [7] => id_carrier [8] => payment [9] => total_paid [10] => total_paid_real [11] => total_products [12] => total_products_wt ) [fieldsValidate:protected] => Array ( [id_address_delivery] => isUnsignedId [id_address_invoice] => isUnsignedId [id_cart] => isUnsignedId [id_currency] => isUnsignedId [id_lang] => isUnsignedId [id_customer] => isUnsignedId [id_carrier] => isUnsignedId [secure_key] => isMd5 [payment] => isGenericName [recyclable] => isBool [gift] => isBool [gift_message] => isMessage [total_discounts] => isPrice [total_paid] => isPrice [total_paid_real] => isPrice [total_products] => isPrice [total_products_wt] => isPrice [total_shipping] => isPrice [carrier_tax_rate] => isFloat [total_wrapping] => isPrice [shipping_number] => isUrl [conversion_rate] => isFloat ) [webserviceParameters:protected] => Array ( [objectMethods] => Array ( [add] => addWs ) [objectNodeName] => order [objectsNodeName] => orders [fields] => Array ( [id_address_delivery] => Array ( [xlink_resource] => addresses ) [id_address_invoice] => Array ( [xlink_resource] => addresses ) [id_cart] => Array ( [xlink_resource] => carts ) [id_currency] => Array ( [xlink_resource] => currencies ) [id_lang] => Array ( [xlink_resource] => languages ) [id_customer] => Array ( [xlink_resource] => customers ) [id_carrier] => Array ( [xlink_resource] => carriers ) [module] => Array ( [required] => 1 ) [invoice_number] => Array ( ) [invoice_date] => Array ( ) [delivery_number] => Array ( ) [delivery_date] => Array ( ) [valid] => Array ( ) [current_state] => Array ( [getter] => getCurrentState [setter] => setCurrentState [xlink_resource] => order_states ) [date_add] => Array ( ) [date_upd] => Array ( ) ) [associations] => Array ( [order_rows] => Array ( [resource] => order_row [setter] => [virtual_entity] => 1 [fields] => Array ( [id] => Array ( ) [product_id] => Array ( [required] => 1 ) [product_attribute_id] => Array ( [required] => 1 ) [product_quantity] => Array ( [required] => 1 ) [product_name] => Array ( [setter] => ) [product_price] => Array ( [setter] => ) ) ) ) ) [table:protected] => orders [identifier:protected] => id_order [_taxCalculationMethod:protected] => 0 [id] => [fieldsSize:prot ected] => Array ( ) [fieldsRequiredLang:protected] => Array ( ) [fieldsSizeLang:protected] => Array ( ) [fieldsValidateLang:protected] => Array ( ) [image_dir:protected] => [image_format:protected] => jpg ) Link to comment Share on other sites More sharing options...
P-ter Posted August 31, 2011 Share Posted August 31, 2011 Bonsoir, Il me semble que tout est là : - Le premier symptome c'etait le bug décrit sur le forum : page blanche + “La création de la commande a échoué” + mail d'erreur envoyé au client alors que le paiement a bien eu lieu - Après correction de celui-ci on tombe sur : "UNE ERREUR EST SURVENUE LORS DU PAIEMENT DE VOTRE COMMANDE." + aucun produit dans le panier + commande en statut "erreur de paiement" + total_paid = 0 alors que total_paid_real = montant du paiment paypal Solution : J'ai modifié la classe d'accès à la base de données MySQL (MySQL.php) pour vérifier avant chaque appel à la base si la connexion est encore active. Sinon on déclenche une déconnection/reconnection avant d'effectuer la requête SQL. Concrètement j'ai remplacé les tests if ($this->_link) par un appel à une nouvelle méthode if ($this->checkLink()) qui fait : /* Check DB link and reconnect after a timeout. (eg Paypal) */ public function checkLink() { if ($this->_link) { if (!mysql_ping ($this->_link)) { $this->disconnect(); $this->connect(); } } return $this->_link; Editez le fichier MySQL.php dans classes et suivez ce qu'à fait l'auteur. Pour être plus "propre", faites une surcharge de la classe. 1 Link to comment Share on other sites More sharing options...
leheuzey Posted September 1, 2011 Author Share Posted September 1, 2011 Merci pour ta réponse. ce post semble en effet correspondre exactement à mon probleme (je l'avais mis en lien plus haut), mais je n'ai pas retrouvé comment corriger le 1er bug (il indique "Après correction de celui-ci on tombe sur") et concernant la mise à jour de MySQL.php, j'ai tenté de le faire mais cela m'a generé uniquement des erreurs 500. Avec mon faible niveau de php... j'ai tenté de comprendre/deviner : - Doit je remplacer "if ($this->_link)" uniquement dans le fichier MySQL.php ? - Doit je remplacer aussi les "$this->_link" par la fonction ? - Mais au fait, que signifie $this->_link ? ;-) - (sans parler de la surchage de classe) -> En clair, j'ai besoin d'aide, d'où ma demande de prestation. Je n'ai pas reussi à contacter l'utilisateur qui avait le meme probleme Bonne journée Link to comment Share on other sites More sharing options...
Captain FLAM Posted September 1, 2011 Share Posted September 1, 2011 Déjà : Je ne pense pas que ce soit une bonne idée de poster ta 'secure_key' J'ai CHMODé validation.php en 777 : non, non : dir : 755 php : 644 fichiers : 644 Link to comment Share on other sites More sharing options...
P-ter Posted September 1, 2011 Share Posted September 1, 2011 Merci pour ta réponse. ce post semble en effet correspondre exactement à mon probleme (je l'avais mis en lien plus haut), mais je n'ai pas retrouvé comment corriger le 1er bug (il indique "Après correction de celui-ci on tombe sur") et concernant la mise à jour de MySQL.php, j'ai tenté de le faire mais cela m'a generé uniquement des erreurs 500. Avec mon faible niveau de php... j'ai tenté de comprendre/deviner : - Doit je remplacer "if ($this->_link)" uniquement dans le fichier MySQL.php ? - Doit je remplacer aussi les "$this->_link" par la fonction ? - Mais au fait, que signifie $this->_link ? ;-) - (sans parler de la surchage de classe) -> En clair, j'ai besoin d'aide, d'où ma demande de prestation. Je n'ai pas reussi à contacter l'utilisateur qui avait le meme probleme Bonne journée Je vous envoie un MP Link to comment Share on other sites More sharing options...
leheuzey Posted September 5, 2011 Author Share Posted September 5, 2011 j'ai reussi à corriger mon bug en modifiant MySQL.php (cf les indications sur post plus haut) Link to comment Share on other sites More sharing options...
RiSteve Posted October 4, 2011 Share Posted October 4, 2011 Pouvez-vous indiquer ce que vous avez corrigé dans mySQL.php : toutes les lignes "$this->_link" sont-elles à remplacer par "$this->checkLink()" ? Ou bien on ne touche pas à ce qui existe et on ajoute seulement la fonction checkLink ??? Link to comment Share on other sites More sharing options...
P-ter Posted October 4, 2011 Share Posted October 4, 2011 je vous ai répondu par MP Link to comment Share on other sites More sharing options...
537718 Posted October 5, 2011 Share Posted October 5, 2011 bonjour, j'ai le même problème et la réponse m'intéresse donc aussi - que faire dans ce fichier "MySQL.php" ? Link to comment Share on other sites More sharing options...
537718 Posted October 5, 2011 Share Posted October 5, 2011 le site en question : http://theatre-des-chimeres.com/shop/ Link to comment Share on other sites More sharing options...
RiSteve Posted October 5, 2011 Share Posted October 5, 2011 Merci à PrestaTer pour sa réponse. Cependant le problème persiste. Il doit s'agir de lignes de codes pas tout à fait correctes dans MySQL.php Un initié pourrait-il nous dire comment on modifie ce fichier exactement ?merci 1 Link to comment Share on other sites More sharing options...
P-ter Posted October 5, 2011 Share Posted October 5, 2011 RiSteve, Envoyez moi le fichier, je vais vérifier. 1 Link to comment Share on other sites More sharing options...
fitao Posted October 6, 2011 Share Posted October 6, 2011 Bonjour, ce qui me choque dans ton objet order, [total_paid] => 0 [total_paid_real] => 29 [total_products] => 0 [total_products_wt] => 0 Cela dit que ta commande n'a pas de montant à payer... et pourtant tu as bien payé 29... C'est très bizarre. Cdlt Link to comment Share on other sites More sharing options...
RiSteve Posted October 12, 2011 Share Posted October 12, 2011 Résolu voir sur http://www.prestashop.com/forums/topic/119593-resolu-probleme-creation-commande-suite-paiement-paypal/ merci à Prestater, Guillaume Leheuey et julio75014 Link to comment Share on other sites More sharing options...
Recommended Posts