Jump to content

[résolu] module Ogone, transaction OK mais erreur après check_validation


Recommended Posts

Bonjour,

 

J'utilise le module natif de Ogone (paiement) et j'ai un problème car aucune de mes commandes n'est reconnue comme "valide" après paiement chez Ogone.

Les serveurs Ogone valident effectivement la commande par exécution de l'URL de validation.

 

Au retour de chez Ogone, la fonction ajax qui boucle sur "checkwaitingorder.php" reçoit bien "ok" après requête sur la BBD cependant une fois la redirection vers "order-confirmation" effectuée, la page affiche un message d'erreur (hookorderconfirmation.tpl), "nous avons constaté un problème sur votre commande. Si vous pensez que c'est une erreur, contactez...".

En effet la variable "status" n'est pas à "ok".

 

Après recherche j'ai vu que le hook hookOrderConfirmation() dans le fichier ogone.php échoue sur la condition suivante :

if ($params['objOrder']->valid)

 

Quand je regarde ce que vaut valid, il est en effet à 0 (donc à false).

 

Mais pourquoi...je ne sais pas... je n'ai pas cherché plus loin.

 

Avez-vous eu ce problème ?

 

Merci !

Edited by PSBeginner (see edit history)
Link to comment
Share on other sites

Je n'ai toujours pas trouvé le problème.

Je vois que le champ "valid" dans la table ps_orders est à 0 et que les champs de transaction dans ps_order_payment ne sont pas rempli. J'ai loggué tous les paramètres reçu des serveurs Ogone et n'ai rien vu d'anormal.

 

J'ai cherché un peu plus loin et j'ai vu une condition qui n'est jamais remplie et qui m'intrigue. Je ne pense qu'elle soit liée à mon problème mais c'est bien possible...

public function validate($id_cart, $id_order_state, $amount, $message = '', $secure_key)
{
 if (isset($this->pcc))
 {
           $this->pcc->transaction_id = Tools::getValue('PAYID');
           $this->pcc->card_number = Tools::getValue('CARDNO');
           $this->pcc->card_brand = Tools::getValue('BRAND');
           $this->pcc->card_expiration = Tools::getValue('ED');
           $this->pcc->card_holder = Tools::getValue('CN');
       }

 

$this->pcc n'est pas une propriété (objet ici) déclarée dans cette classe fille "Ogone" ni même dans la classe parente "PaymentModule", je ne vois pas du tout où elle est déclarée je l'aie d'ailleurs cherchée dans tout mon projet sans succès.

 

Personne n'utilise ce module ?

Je poursuis mes recherches du coup...

Merci

Link to comment
Share on other sites

Ah non excusez-moi il n'y avait pas de solution particulière pour mon problème qui provenait d'une fatal error de php émise depuis un tiers module que j'avais installé. J'avais donc simplement jeter un oeil côté erreur php.

 

Quant à pcc, il n'est jamais utilisé de mon côté...fausse piste.

Edited by PSBeginner (see edit history)
Link to comment
Share on other sites

  • 3 months later...
  • 2 weeks later...

Oui, la solution est ici : http://www.prestashop.com/forums/topic/218531-resolu-probleme-ogone-mailalerts/

Il faut simplement ajouter dans le Validation.php du module Ogone :

include(dirname(__FILE__).'/../../config/config.inc.php');

include(dirname(__FILE__).'/ogone.php');

$ogone = new Ogone();

/* CODE A RAJOUTER */

if (empty(Context::getContext()->link))

Context::getContext()->link = new Link();

 

/* FIN */

 

Merci à gonado pour la solution

Link to comment
Share on other sites

  • 1 year later...

Bonjour,

 

Je déterre ce sujet car je possède le même problème. Même en rajoutant ces lignes, le problème reste présent.

Si j'active le mode debug, deux notices apparaissent :

Notice: Undefined index: _REQUEST in /home/bbcomdev/www/clients/blooms/cache/smarty/compile/77/e8/20/77e820f1dd5a1e3cbf06735d7d2edec8db2204fb.file.header.tpl.php on line 477

Notice: Trying to get property of non-object in /home/bbcomdev/www/clients/blooms/cache/smarty/compile/77/e8/20/77e820f1dd5a1e3cbf06735d7d2edec8db2204fb.file.header.tpl.php on line 477

Au final, la commande est validée par Ogone. J'ai un retour status à 56 (paiement validé avec paiements planifiés). J'ai rajouté le cas 56 dans validation.php (l.79). Mais je possède toujours le message d'erreur "Nous avons constaté un problème avec votre commande. Si vous pensez que c'est une erreur, merci de contacter notre service client.".

 

Est-ce que quelqu'un possède toujours ce problème ? Un petit coup de main serait pas de refus.

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