CM-CIC Payment method

  • Posts: 2
  • Thank you received: 0
  • Hikashop Essential
4 years 2 months ago #314516

-- HikaShop version -- : 4.2.2
-- Joomla version -- : 3.9.14
-- PHP version -- : 7.2

Bonjour,

Je m'adresse à vous parce que je n'arrive pas à résoudre mon problème de retour CGI2 en test malgré tous les posts déjà publiés sur ce sujet, j'obtiens systématiquement la réponse :

Code retour : payetest CGI2 : NOT OK

J'ai bien validé :
- la configuration du plugin CMCIC OK (tpe, clé et sandbox activées)
- url de retour fournie OK, la réponse du serveur arrive bien : 145.226.30.187 - [09/Jan/2020:10:15:47 +0100] "POST /index.php?option=com_hikashop&ctrl=checkout&task=notify¬if_payment=cmcic&tmpl=component HTTP/1.1" 200 - "-" "SPM"
- paiement OK mais retour NOK

Le service technique du CMCIC ne m'aide pas beaucoup : "Le message indique que votre interface retour ne répond pas aux spécifications décrites dans la documentation technique"

Après consultattion de la dite documentation, il s'agirait d'une erreur de validation du sceau, le retour de l'url étant à priori :
version=2
cdr=1 (et non 0)

Bref, je suis preneur de toute idée permettant d'avancer sur la résolution du problème.
Un grand merci !

Please Log in or Create an account to join the conversation.

  • Posts: 81378
  • Thank you received: 13037
  • MODERATOR
4 years 2 months ago #314522

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.

The following user(s) said Thank You: sankarom44

Please Log in or Create an account to join the conversation.

  • Posts: 2
  • Thank you received: 0
  • Hikashop Essential
4 years 2 months ago #314539

Merci beaucoup pour cette réponse, pour autant je ne vois rien dans le rapport de logs comme erreur, et j'ai l'impression de ne pas recevoir les données de retour car il y a uniquement le 'data send' mais aucune 'data received.'

Et j'ai toujours bien la réponse du serveur bancaire avec un code 200
145.226.30.187 - [09/Jan/2020:18:28:52 +0100] "POST /index.php?option=com_hikashop&ctrl=checkout&task=notify¬if_payment=cmcic&tmpl=component HTTP/1.1" 200 - "-" "SPM"

???

Please Log in or Create an account to join the conversation.

  • Posts: 81378
  • Thank you received: 13037
  • MODERATOR
4 years 2 months ago #314547

Bonjour,

Si vous n'avez rien du tout dans le log de paiement malgré l'option "debug" de la méthode de paiement activée, alors cela indique que la notification de paiement n'arrive pas à HikaShop. Mais vous avez l'entrée dans l'access log apache. Or dans ce cas, cela devrait arriver au plugin (et donc au log de paiement qui est fait avant la vérification du hash). Et en plus vous indiquez que vous avez le retour

version=2
cdr=1
par le plugin à la plateforme de paiement. Donc le plugin est bien contacté et le log devrait être rempli. Si ce n'est pas le cas, je ne vois alors que 2 raisons:
- l'option "debug" n'est pas activée dans les options de cette méthode de paiement (peut être l'avez vous fait pour une autre? Donc revérifiez.
- le fichier du log de paiement n'est pas accessible en écriture. Donc vérifiez les droits d'accès sur le fichier.

Last edit: 4 years 2 months ago by nicolas.

Please Log in or Create an account to join the conversation.

Time to create page: 0.062 seconds
Powered by Kunena Forum