Bonjour,
Ce que vous voulez d'abord, c'est faire un test d'achat avec l'option "debug" de la méthode de paiement activée puis regardez le log de paiement dans la configuration HikaShop.
La cause du soucis devrait être enregistrée.
En supposant que c'est une erreur de validation du sceau (hash), vous devriez y voir un message du genre:
POST[MAC] invalid (XXX, YYY)
où XXX est le hash envoyé par CM-CIC et YYY le hash calculé par HikaShop en prennant en compte les données envoyées par CM-CIC et la clé configurée dans la méthode de paiement.
Si le hash calculé est différent cela indique soit:
- que la clé configurée est incorrect
- que l'algorithme de calcul est incorrect
- que les données renvoyées sont différentes
- que les données sont dans un ordre incorrect lors du calcul
Vous pouvez bien sûr temporairement supprimer les lignes:
$processedHash = $this->generateHash($vars, $this->payment_params->key, 21);
if(strtolower($_POST['MAC']) != $processedHash) {
$this->sendNotifResponse(false, 'POST[MAC] invalid ("' . htmlentities($_POST['MAC']) . '" != "' . $processedHash . '")');
}
du code du plugin. Cela désactivera la vérification du hash. Mais du coup, cela veut dire que n'importe filou qui s'y connait pourrait acheter des produits sur votre site sans payer puis envoyer ensuite une requête de notification de paiement à votre site pour manuellement confirmer la commande.
Vous aurez aussi dans le log de paiement la liste des paramètres utilisés pour le calcul du hash, dans l'ordre utilisé pour le calcul.
Ainsi, il est possible de comparer avec la documentation d'intégration pour s'assurer que les paramètres sont dans le bon ordre et avec les bonnes valeurs. La cause la plus probable étant que la clé configurée dans la méthode de paiement est différente de celle dans votre compte marchand cm-cic. Donc je vous recommande de doublement vérifier cela s'il sagit d'une erreur de validation du sceau.