Jump to content

[Résolu] problème création commande suite paiement Paypal


julio75014

Recommended Posts

bonjour,
Nous travaillons avec la dernière version de prestashop (PrestaShop™ 1.4.3) et le module paypal intégré... j'ai le souci suivant:
je n'arrive pas a créer une commande suite au paiement paypal.
Le souci ne se pose pas quand je choisis l'option de paiement par chèque ou par virement.... lorsque je confirme la commande, j'ai bien la page résumant le produit commandé et le montant etc..
par contre via paypal, je suis redirigé vers paypal, je peux réaliser le paiement. quand je confirme, la redirection vers notre site marchand se fait mais le message suivant apparaît:

"La création de la commande a échoué"

le compte paypal est débité, tout se passe normalement au niveau du paiement. le site marchand reçoit le virement qui est crédité sur le compte... en somme le souci semble localisé au niveau de la création de la commande dans prestashop. nos identifiants API ne sont donc a priori pas en cause...
Je ne reçois aucun message d'erreur via Email de la part de Prestashop (meme en activant le mode debug de paypal.... a priori normal, vu que du point de vu de paypal, tout se passe bien), aucune commande n'est effectivement réalisée et le panier reste donc comme avant le paiement.
que dois-je modifier pour que la création de la commande se passe correctement suite au paiement paypal?
je ne sais pas si cela peut jouer, mais nous n'avons pas de fichier httaccess et sommes hébergés par Online en serveur mutualisé.
Sur notre compte paypal je n'ai pas défini de page de renvoi vers le site marchand... et je n'ai pas activé Transfert des données de paiement.
J'ai bien renseigné l'envoi des IPN vers la page validation.php
Merci d'avance de votre aide précieuse!
si vous avez besoin de précisions n'hésitez pas à me demander, je ferais mon possible pour fournir les infos nécessaires!

Link to comment
Share on other sites

Bonjour,
Vous devriez trouver la solution au probleme avec le module Moneybookers sous le lien suivant:

http://www.prestashop.com/forums/viewthread/117968/rapports_de_bugs/enregistrement_du_client_et_paiement_recus_via_moneybooker_mais_commande_inexistante_

Pouvez vous me confirmer que cela fonctionne?

Bien cordialement,

Anne-Laure
Equipe de service marchands Moneybookers

Link to comment
Share on other sites

Finalement, avec l'aide d'une personne calée en informatique nous avons résolus LES problèmes qui ne permettaient pas de finaliser une commande avec le système paypal.

Problème :

- tous les problèmes Paypal venaient de timeouts sur la connexion à la base de donnée MySQL (wait_timeout = 120, visible dans l'interface de phpmyadmin)
- le timeout paramétré chez online.net est de 120 secondes ce qui ne donne pas suffisamment de temps pour faire une commande + paiement Paypal
- pas de moyen simple de changer ce timeout (en théorie il faut aller modifier un fichier de configuration sur le serveur, mais on y a pas accès)
- prestashop ne vérifie pas au retour du paiement Paypal si la connexion MySQL est encore active



Conséquences :

- 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;

Link to comment
Share on other sites

  • 1 month later...

Bonjour à tous,

J'ai le même problème, mais la solution énoncée par Julio 75014 ne fonctionne pas pour moi.

Ma commande n'est toujours pas enregistrée dans le back-office (enfin plutôt si, mais elle est annulée et seulement disponible dans la page du client).

J'utilise Prestashop 1.4.2.5

Link to comment
Share on other sites

  • 4 weeks later...
  • 4 weeks later...
  • 3 weeks later...
  • 1 month later...

Exactement le même problème ici, avec Prestashop 1.4.6.2 et Paypal 2.8.5, sauf que ça ne le fait pas à tous les coups. Environ 10% des commandes sont concernées (et vu mon faible volume actuel, ces 10% correspondent à 2 commandes).

Mais les symptômes sont les mêmes. Le paiement est validé, je reçois le mail de paypal, mais sur le site, la commande est en état "annulé", elle est vide et avec un montant à zéro. Le panier existe toujours.

Twenga n'est pas installé.

Une seule chose que j'ai notée, mais c'est peut-être le hasard, ça a concerné des commandes avec plus de 5 articles.

Je n'ai pas essayé la modif de mysql.php

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour à tous,

 

PS 1.4.2.6

API Paypal 2.8.5

Hebergement Online.net

 

Bonjour,

J'ai effectué la mise à jour du fichier MySQL.php, mais sans succès. J'obtiens toujours le message "la création de la commande a échoué".

J'ai pris soin de créer la nouvelle fonction checkLink() en ajoutant un } final et de remplacer les if ($this->_link) par un appel à la nouvelle méthode if ($this->checkLink()), sauf, bien entendu dans la nouvelle fonction checkLink().

Pourriez vous me dire si vous avez procédé de la même manière, et quel résultat vous avez eut ?

 

par avance, un grand merci à tous.

Link to comment
Share on other sites

Un problème rencontré par nombre d'utilisateurs ...

Pas de solution satisfaisante à ce jour à notre connaissance. Paypal (après des jours de dialogue) apporte quasiment la preuve que le souci ne provient pas de chez eux ( éléments correctements retournés). OnLine nous dit que Prestashop est sans doute à l'origine du problème et Prestashop nous demande d'acheter un ticket à 149€HT :wacko:

Bref ...

Link to comment
Share on other sites

  • 4 weeks later...

Bonjour,

 

J'ai le même soucis chez un client en Prestashop 1.4.4. Les commandes sans historique de statut (apparaissent de ce faite en 'Annulée'. Cela se produit avec plusieurs modes de règlement : kwixo, Paybox et peut-être aussi Paypal.

 

Le site du client est chez 1and1.fr Je ne sais pas comment connaître le timeout.

 

Patrice

Link to comment
Share on other sites

  • 3 weeks later...

bonjour

j ai également le même souci

quelqu’un un connait il un moyen de transformer ce panier en commande car ça ne me retire pas le stock sur les articles du coup puisque il n apparaisse pas dans la commande en attendant une véritable réponse

merci

Link to comment
Share on other sites

Bonjour,

 

Vérifier que la commande n'est pas créée dans la base de données. Il est possible que seul le changement de statut ne soit pas enregistré dans ps_order_history. Sinon, j'utilise le module de Julien Breux qui permet de transformer un panier en commande.

 

A+

Patrice

Link to comment
Share on other sites

En PJ le module de Julien BREUX adapté. En dur j'ai mis le paiement Paypal.

 

 

Il faut installer le module. Puis dans Configurer indiquer l'ID du panier puis cliquer sur le bouton pour transformer le panier en commande. Le mieux c'est de ne pas avoir à utiliser ce module et de trouver la solution pour que les commandes se créent toutes seules.

 

Patrice

jbx_cart_to_order.zip

Link to comment
Share on other sites

petit soucis des que j installe le module ma page module plante il ny a plus que le bandeau haut qui apparaît et plus aucun module n apparais le seul moyen de revenir au fonctionnement normal est de supprimer le module par ftp

merci

pierre

Link to comment
Share on other sites

  • 9 months later...

Bonjour,

Up !

Toutes les commandes Paypal passées sur le site ne s'affichent pas dans le BO "commandes". Le paiement arrive bien sur Paypal et pas de problème pour le client. A noter que les commandes Ebay Paypal s'affichent normalement (et les autres : chèque, virement, CB aussi), cela concerne uniquement les paiement paypal passées sur le site.

Je suis obligé de cliquer sur la flèche de gauche de la précédente commande pour y accéder et de la passer de "annulé" en "paiement accepté" pour qu'elle réapparaisse dans le BO.

Merci d'avance si vous avez une piste !

Link to comment
Share on other sites

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...