THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour

Je suis entrain d'installer le paiement securisé mercanet/atos de la bnp sur hebergement mutualisé OVH Pro.
J'ai suivi le read me du plugin atos mais les commandes sont toujours marquée non-payé. (Je suis en phase de test avec le kit fourni par la banque)

Est  ce que quel qu'un a déja installé ce module de paiement et aurait trouvé la solution?

Voila le contenu de mon fichier confirmation.php

<?php
foreach ($_POST as $key => $value) $$key = $value;
foreach ($_GET as $key => $value) $$key = $value;
?>
<?php

	include_once("../../../classes/Commande.class.php");	
	include_once("../../../fonctions/divers.php");	
	
	$commande = new Commande();
	
	// Récupération de la variable cryptée DATA

	$DATA = escapeshellcmd($_POST["DATA"]);
	$message="message=$DATA";

	// Initialisation du chemin du fichier pathfile (à modifier)
    //   ex :
    //    -> Windows : $pathfile="pathfile=c:\\repertoire\\pathfile"
    //    -> Unix    : $pathfile="pathfile=/home/repertoire/pathfile"
    //
    // Cette variable est facultative. Si elle n'est pas renseignée,
    // l'API positionne la valeur à "./pathfile".

	$pathfile="pathfile=conf/pathfile";

	//Initialisation du chemin de l'executable response (à modifier)
	//ex :
	//-> Windows : $path_bin = "c:\\repertoire\\bin\\response"
	//-> Unix    : $path_bin = "/home/repertoire/bin/response"
	//

	$path_bin = "bin/response";

	// Appel du binaire response

	$result=exec("$path_bin $pathfile $message");

	//	Sortie de la fonction : !code!error!v1!v2!v3!...!v29
	//		- code=0	: la fonction retourne les données de la transaction dans les variables v1, v2, ...
	//				: Ces variables sont décrites dans le GUIDE DU PROGRAMMEUR
	//		- code=-1 	: La fonction retourne un message d'erreur dans la variable error


	//	on separe les differents champs et on les met dans une variable tableau

	$tableau = explode ("!", $result);

	$code = $tableau[1];
	$error = $tableau[2];
	$merchant_id = $tableau[3];
	$merchant_country = $tableau[4];
	$amount = $tableau[5];
	$transaction_id = $tableau[6];
	$payment_means = $tableau[7];
	$transmission_date= $tableau[8];
	$payment_time = $tableau[9];
	$payment_date = $tableau[10];
	$response_code = $tableau[11];
	$payment_certificate = $tableau[12];
	$authorisation_id = $tableau[13];
	$currency_code = $tableau[14];
	$card_number = $tableau[15];
	$cvv_flag = $tableau[16];
	$cvv_response_code = $tableau[17];
	$bank_response_code = $tableau[18];
	$complementary_code = $tableau[19];
	$complementary_info = $tableau[20];
	$return_context = $tableau[21];
	$caddie = $tableau[22];
	$receipt_complement = $tableau[23];
	$merchant_language = $tableau[24];
	$language = $tableau[25];
	$customer_id = $tableau[26];
	$order_id = $tableau[27];
	$customer_email = $tableau[28];
	$customer_ip_address = $tableau[29];
	$capture_day = $tableau[30];
	$capture_mode = $tableau[31];
	$data = $tableau[32];

	$commande->charger_trans($transaction_id);
	if($response_code == "00"){
	 $commande->statut = 2;
	 $commande->genfact();
	}
	
	$commande->maj();
	
	modules_fonction("confirmation", $commande);
	
	// Initialisation du chemin du fichier de log (à modifier)
    //   ex :
    //    -> Windows : $logfile="c:\\repertoire\\log\\logfile.txt";
    //    -> Unix    : $logfile="/home/repertoire/log/logfile.txt";
    //

	$logfile="/homez.xxx/login/www/client/plugins/atos/log.txt";

	// Ouverture du fichier de log en append

	$fp=fopen($logfile, "a");
	//  analyse du code retour
fputs($fp, "code $customer_ip_address \n");

  if (( $code == "" ) && ( $error == "" ) )
 	{
  	fwrite($fp, "erreur appel response\n");
  	print ("executable response non trouve $path_bin\n");
 	}

	//	Erreur, sauvegarde le message d'erreur

	else if ( $code != 0 ){
        fwrite($fp, " API call error.\n");
        fwrite($fp, "Error message :  $error\n");
 	}
	else {

	// OK, Sauvegarde des champs de la réponse

	fwrite( $fp, "merchant_id : $merchant_id\n");
	fwrite( $fp, "merchant_country : $merchant_country\n");
	fwrite( $fp, "amount : $amount\n");
	fwrite( $fp, "transaction_id : $transaction_id\n");
	fwrite( $fp, "transmission_date: $transmission_date\n");
	fwrite( $fp, "payment_means: $payment_means\n");
	fwrite( $fp, "payment_time : $payment_time\n");
	fwrite( $fp, "payment_date : $payment_date\n");
	fwrite( $fp, "response_code : $response_code\n");
	fwrite( $fp, "payment_certificate : $payment_certificate\n");
	fwrite( $fp, "authorisation_id : $authorisation_id\n");
	fwrite( $fp, "currency_code : $currency_code\n");
	fwrite( $fp, "card_number : $card_number\n");
	fwrite( $fp, "cvv_flag: $cvv_flag\n");
	fwrite( $fp, "cvv_response_code: $cvv_response_code\n");
	fwrite( $fp, "bank_response_code: $bank_response_code\n");
	fwrite( $fp, "complementary_code: $complementary_code\n");
	fwrite( $fp, "complementary_info: $complementary_info\n");
	fwrite( $fp, "return_context: $return_context\n");
	fwrite( $fp, "caddie : $caddie\n");
	fwrite( $fp, "receipt_complement: $receipt_complement\n");
	fwrite( $fp, "merchant_language: $merchant_language\n");
	fwrite( $fp, "language: $language\n");
	fwrite( $fp, "customer_id: $customer_id\n");
	fwrite( $fp, "order_id: $order_id\n");
	fwrite( $fp, "customer_email: $customer_email\n");
	fwrite( $fp, "customer_ip_address: $customer_ip_address\n");
	fwrite( $fp, "capture_day: $capture_day\n");
	fwrite( $fp, "capture_mode: $capture_mode\n");
	fwrite( $fp, "data: $data\n");
	fwrite( $fp, "-------------------------------------------\n");
	}

	fclose ($fp);


?>

le fichier pathfile n'est pas modifié
le certificat et paramcom en 755
paramcode.18729623693

###############################################################################
#
#	Fichier des paramètres du commercant
#
#	Remarque :	Ce fichier paramètre est sous la responsabilité du
#				commercant
#
###############################################################################

# URL de retour automatique de la reponse du paiement

#AUTO_RESPONSE_URL!http://www.lesite.com/client/plugins/atos/confirmationtoto.php!

# URL de retour suite a paiement refuse

CANCEL_URL!http://www.lesite.com/regret.php!

# URL de retour suite a paiement accepte

RETURN_URL!http://www.lesite.com/merci.php!

# Code devise  ( 978=EURO )

CURRENCY!978!

# Logo du commercant

LOGO2!commercant.gif!

# Liste des moyens de paiement acceptés

PAYMENT_MEANS!CB,2,VISA,2,MASTERCARD,2!


# END OF FILE

Est ce qu'il faut modifier quelquechose dans paiement.php?

merci pour votre aide

Patbonf

Offline


Bonjour,

Ben voila j'ai trouvé le probleme, comme vous pouvez le voir ci-dessus, la ligne:

#AUTO_RESPONSE_URL!http://www.lesite.com/client/plugins/atos/confirmationtoto.php!

du fichier paramcom est commentée........

Si ça peut aider quelqu'un à perdre du temps, j'aurai pas perdu le mien pour rien.

@ bientot

Patbonf

  • MM
  • Membre

Offline


smile

Si ça peut aider quelqu'un à perdre du temps, j'aurai pas perdu le mien pour rien.

A gagner du temps...voulais tu dire, non ??

Offline


MM wrote:

smile

Si ça peut aider quelqu'un à perdre du temps, j'aurai pas perdu le mien pour rien.

A gagner du temps...voulais tu dire, non ??

Vi c'est ça. smile

Offline


Bonjour,

je relance ce sujet car j'ai exactement le même problème, je suis en phase de pré production et les commandes restent en non payées. Le paiement se passe normalement sauf que le retour sur la boutique n'est pas automatique, je suis obligée de cliquer sur le lien...

chez moi la ligne AUTO_RESPONSE n'est pas commentée, droits sur les fichiers 755...

c'est la première fois que j'installe un module de paiement par Cb, si quelqu'un peut m'aider ce serait vraiment très sympa...

il s'agit du plgin atos pour le CA, version thelia 1.4.4

MERCI BEAUCOUP !!!!!

Offline


Si quelqu'un pouvait me donner la liste des choses à vérifier... parce que là je ne vois vraiment pas...



merci beaucoup

  • yoan
  • Cofondateur Thelia

Offline


Pourquoi tu utilises le kit donné par la banque ? Tout est dans le plugin. Il faut juste le certificat.


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


je suis dans les préparatifs de noël et j'ai un peu lâché l'affaire... mais merci beaucoup yoan pour ton conseil, je recommence à zéro et je vous dis ça.

Offline


je viens de tout refaire, j'ai remis le dossier atos de la version d'origine et j'ai suivi scrupuleusement le readme... ben toujours le même problème. Le seul truc que j'ai fait en plus c'est mettre tous les droits des fichiers à 755... et tout transféré en ASCII...

JE CRAQUE !!! je fais forcément une co... mais laquelle !!!

Offline


Bonjour

Tu utilises bien le certificat de test, fourni dans le kit?

patbonf

Offline


je suis en pré prod donc j'utilise le certificat de production

Offline


merci de t'intéresser à mon problème !!

Offline


je ne sais pas si cela a une incidence mais j'utilise donc ma CB qui me redirige vers le site de ma banque pour que j'indique un code sécurisé + un code reçu par mail au moemnt de la demande de transaction... ensuite pas de souci je reviens bien vers le crédit agricole avec le message indiquant que le paiement a été enregistré...

Offline


C'est bien le retour payé qui ne marche pas, et le retour automatique vers la boutique qui ne marche pas, si c'est ca verifie dans les log qu'il y a bien une tentative de connexion vers ta page de confirmation.

Offline


euh... les logs il sont où ???

Offline


Ben les logs apache de ton serveurs.

Offline


Je suis désolée et j'espère que cela ne va pas te décourager mais je ne sais pas comment consulter les logs. je suis chez OVH en mutu, je cherche depuis tout à l'heure... je suis allée voir dans les stats depuis le manager mais je ne vois effectivement rien qui corresponde à ça mais je ne pense pas être au bon endroit... si quelqu'un sait comment consulter les logs apache chez ovh en mutu... MERCi !!

Offline

Offline


ok j'avais trouvé entre temps et j'ai refait des essais... effectivement aucun appel à la page de confirmation... mais il y a un truc que je trouve un peu "bizarre"... j'ai fait une commande que j'ai réglé avec paypal et là j'ai pas mal d'action dans le log par contre j'ai 'fait ensuite un règlement CB et je n'ai rien...
franchement je n'y comprends rien (ça vous l'aviez compris !!) et peut-être que je ne regarde pas là où il faut...
est-ce que je pourrais t'envoyer le log par mail pour que tu me dises au moins si je regarde au bon endroit et si toi tu y vois quelquechose qui pourrais me mettre sur la piste ?

Offline


Les modules paypal et atos sont indépendant, donc il est possible qu'un fonctionne et pas l'autre.
essai d'accéder directement à ta page de confirmation via un navigateur, déja pour voir si elle est accessible.
ensuite s'il y arien dans les logs c'est qu'il y a un bug.
envoie tes fichiers de configuration du module atos pour voir.

Offline


bon tu vas rire, enfin jaune mais vraiment très jaune... avant de t'envoyer le fichier de config, je le regarde histoire de... et ben j'avais un petit "/" en trop que j'avais pas vue...
Sincèrement j'ai honte de t'avoir fait perdre ton temps et je te présente mes plates excuses et mille remerciements, j'ai pourtant regardé plein de fois sans jamais le voir...

bref cela semble très bien fonctionner maintenant, la commande passe ne payé donc pour les prochaines qui auront des soucis, effectivement si l'on suit le readme à la lettre et que l'on bien attention à son fichier de config, ben c'est tout simple et cela fonctionne très bien.

encore milles excuses patbonf

Offline


Bah t’inquiètes pas, moi j'avais pas vu que l'url était commentée....

L'essentiel, c'est que ça marche.

bon courage pour la suite.