Jump to content

ERREUR the secure key is empty, check your payment account before validation


Recommended Posts

Tout est dans le titre,
Depuis la mise à jour en 1.4 toutes les commande quelque soit le module de payement sont accompagné de ce message
WARNING ! the secure key is empty, check your payment account before validation

Mais qu'elle est donc cette clé manquante, comment résoudre le problème
je ne trouve aucun commentaire sur les forum avec la recheche
Quelqu'un à une idée ?
Merci à Tous

Link to comment
Share on other sites

  • 2 weeks later...

La fonction validateOrder a changé avec la 1.4 dans le fichier ./classes/PaymentModule.php.
Il faut que les modules de paiement se mettent à jour, notamment en rajoutant le paramètre true à la fin, qui correspond à la variable $secure_key.
Si cette valeur n'est pas passée, on obtient l'erreur dans chaque commande.

Link to comment
Share on other sites

Il y a aussi le paramètre $dont_touch_amount juste avant celui ci-dessus qui est à false par défaut (si false, prestashop fait un arrondi du montant à 2 chiffres).
Il n'était pas dans la 1.3.
Donc il faut rajouter 2 paramètres aux appels de la fonction, true ou false (false si l'arrondi est déjà effectué) et true pour éviter le message dans chaque commande.

Link to comment
Share on other sites

Oui OUI ....
Bien étonnant tout ça, vais regarder attentivement le code !
Mais les deux module ATOS et Receive&Paid;on était (par la team) mise à jour pour la 1.4
et le problème est toujours la !

A Suivre

A la limite un détail des modif dans le code serait bienvenu pour les non "PRO" ! :)

Link to comment
Share on other sites

J'ai également le "probleme" du message d'erreur mais les paiements fonctionnent par contre.. il n'y a aucun souci de ce coté la.

Et niveau mise a jour des module de paiement celui que j'utilise est a jour (systempay) et l'erreur est toujours la alors que le secure_key est bien remplie de partout (dans ma gestion de caisse, dans mes clients, dans mes commandes..) je pense que c une erreur de vérification de variable

Link to comment
Share on other sites

Après une heure de recherches actives, je viens de trouver une solution pour que ce message ne s'affiche plus.

Quelque soit le système de paiement que vous utilisez, il utilise forcément la fonction "validateOrder" de la class PaymentModule.

En regardant cette fonction, je me suis aperçu que la fonction contient 9 éléments et l'élément secure_keyest le neuvième.

Maintenant, si vous vous dirigez vers la page PHP de votre module qui valide le paiement (atos_response.php pour le système de paiement ATOS), vous trouverez au moins une ligne appelant la fonction validateOrder.
Corrigez cette fonction en ajoutant ce qu'il manque.

Pour ma part, voici ce que la ligne est devenue :

$atos->validateOrder(intval($cart->id), _PS_OS_PAYMENT_, $cart->getOrderTotal(), $atos->displayName, 'Transaction: '.pSQL($transaction_id), '', $id_currency, false, $cart->secure_key);



A présent le message est Transaction: 134154.

Si vous souhaitez que ce message n'apparaissent plus, il vous suffit de mettre le cinquième élément vide.

A vous de voir comment mettre cela en application de votre côté.

Link to comment
Share on other sites

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

Bonjour à tous !

+ 1 pour moi avec le module SPPLUS.

J'ai appliqué les recommandations de Myriss et cela marche (à l'exception du fait que je n'est que "transaction" affiché dans "Message client" du mail, mais pas de N° de transaction.

 

ligne 186 de servervalidation.php (du répertoire SPPLUS dans les modules), il faut changer :

 

$spplus->validateOrder(intval($cart->id), _PS_OS_PAYMENT_, $cart->getOrderTotal(), $spplus->displayName);

en :

$spplus->validateOrder(intval($cart->id), _PS_OS_PAYMENT_, $cart->getOrderTotal(), $spplus->displayName);

 

ceci étant, j'aimerais bien avoir mon N° de transaction !!!!

qq peut il me donner la clè pour cela ???

 

 

haaa mais j'ai encore une commande... hé cela marche bien... ouf !

Link to comment
Share on other sites

  • 2 months later...

Bonjour,

 

Je reprend un site ou il y a ce même message qui apparait :

  • "Warning : the secure key is empty, check your payment account before validation"
  • pour les erreurs de paiement, problème avec l'url interface retour de confirmation de paiement cgi 2, répond correctement quand le paiement est accepté, répond mal quand le paiement est refusé (erreur http500)
  • Problème avec les numéros de factures : ils ne sont pas identiques entre le tpe virtuel et prestashop.

J'ai le même soucis que vous, à savoir que pour tout paiement fais par le site http://www.starparapharmacie.fr , ce message apparait : "Warning : the secure key is empty, check your payment account before validation", ceci dit les paiements sont bien présents.

 

J'utilise Cybermut (CIC, CM) v1.0 comme module de paiement et je n'arrive pas à résoudre ce problème.

 

Avais vous une idée du moyen que j'aurais de pouvoir résoudre ce problème ou plutôt m'indiquer quel fichier je dois modifier et à quelle ligne.

 

J'ai vérifié différents fichiers afin d'essayer de trouver le numéro de TPE et la clé Mac(40 Caractères :

  • l'index.php : dans /boutique/modules/cic_cm_magavenue
  • validation.php dans /boutique/modules/cic_cm_magavenue
  • cic_cm_magavenue.php dans /boutique/modules/cic_cm_magavenue
  • CMCIC_Tpe.inc.php qu'il y a dans le dossier /boutique/modules/cic_cm_magavenue/cybermut
  • config.inc.php dans /boutique/config
  • PaymentCC.php dans /boutique/classes
  • PaymentModule.php dans /boutique/classes

J'ai juste un doute sur le fichier cic_cm_magavenue.php où apparait :

 

 

public function install()
{
 if (!parent::install() OR !Configuration::updateValue('CYBERMUT_MAGAVENUE_TEST', '0')
  OR !Configuration::updateValue('CYBERMUT_MAGAVENUE_CLE', '77......................................90')
		OR !Configuration::updateValue('CYBERMUT_MAGAVENUE_TPE', '95....90')
		OR !Configuration::updateValue('CYBERMUT_MAGAVENUE_BANQUE', '0')
		OR !Configuration::updateValue('CYBERMUT_MAGAVENUE_CODESO', '0')
		OR !$this->registerHook('payment'))
  return false;
 return true;
}

 

Est ce que le numéro qui suit "CYBERMUT_MAGAVENUE_CLE" doit correspondre à la clé Mac du TPE Virtuel(40 Caractères) et le 'CYBERMUT_MAGAVENUE_TPE' est ce que le numéro qui suit doit correspondre an numéro de TPE(8 caractères).

 

Pensez vous que le problême peux venir d'ailleurs, notamment au niveau de la variable $secure_key qu'il faudrait mettre sur "true" au lieu de "false", si oui quels sont les fichiers à modifier et sur quelles lignes.

 

Merci.

 

A priori je n'ai pas du être assez clair. Y a t-il d'autres informations qu'il faudrait que je vous passe?

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

  • 5 weeks later...
  • 1 month later...

Bonjour,

 

Bonjour,

 

Pour le module CmCIC30 gratuit présent sur le site, j'ai modifié le fichier validation.php pour le validateorder avec la lgine suivante (vers la ligne 186):

 

$class->validateOrder(intval($cart->id), _PS_OS_PAYMENT_, $total, 'CB (CIC)', 'N° autorisation : '.$CMCIC_bruteVars['numauto'], null, $id_currency, false, $cart->secure_key);

 

Grâce à ça, plus de PB, et j'ai le N° de l'autorisation :rolleyes:

 

E espérant que cela puisse vous aider.

  • Like 1
Link to comment
Share on other sites

  • 6 months later...

@MOUSSE60

 

Merci pour ta solution, effectivement ca marche, par contre j'ai toujours N° autorisation a 00000 mais je suis chez le cédit Mutuel.

Une idée ?

 

En tous les cas merci pour le partage,

 

@+

Link to comment
Share on other sites

  • 2 months later...

Bonjour,

 

Bonjour,

 

Pour le module CmCIC30 gratuit présent sur le site, j'ai modifié le fichier validation.php pour le validateorder avec la lgine suivante (vers la ligne 186):

 

$class->validateOrder(intval($cart->id), _PS_OS_PAYMENT_, $total, 'CB (CIC)', 'N° autorisation : '.$CMCIC_bruteVars['numauto'], null, $id_currency, false, $cart->secure_key);

 

Grâce à ça, plus de PB, et j'ai le N° de l'autorisation :rolleyes:

 

E espérant que cela puisse vous aider.

 

Salut Mousse60,

tu as simplement ajouté ces lignes au fichier validation.php ? ce n'est pas une modification de lignes existantes, c'est bien ça ?

(j'utilise aussi le module gratuit du CIC mais je ne sais plus où je l'ai trouvé, c'est celui où le fichier TXT d'installation propose de laisser un lien vers le site des jardins de boriac en remerciement). Je voudrais être sûr de ne pas faire de bêtise sur ce fichier sensible.

Merci

Link to comment
Share on other sites

ATTENTION !

un client a pu régler une commande par carte bancaire (validée par le CIC et versée au compte) sans même que cette commande ne s'enregistre dans le BO. (v. 1.4.0.17)

Je soupçonne la modification du fichier validation.php proposée par mouse60 décrite un peu plus haut dans ce fil, que j'ai peut-êre mal appliquée, censée régler le souci de "the secure key is empty".

Donc prudence quant à cette solution qui est peut-être (?) à l'origine de cette anomalie. Testez avant de mettre en prod.

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