#!/usr/bin/perl #========================================================================# # # # call_autoresponse : Appel du module de reponse automatique # # avec envoi des donnees de la transaction par mail # # (langage Perl, environnement UNIX, V4 Plug-in) # # # #========================================================================# # Chemins d acces des modules a parametrer # NOUVEAU CHEMIN DU REPERTOIRE bin $dir_bin="/ctt/usr/fela/Proj_Site_Marchand/citelis_tar/apipayment/bin"; #chemin des fichiers transactions $dir_transactions ="/ctt/usr/fela/Proj_Site_Marchand/Site_Pages/Version2/transactions"; # Appel du module sips_autoresponse module : # sips_autoresponse # Si pas de message de reponse renvoie le mot-cle NULL $sips_result=`$dir_bin/sips_autoresponse NULL`; # Lecture des parametres en sortie @param=split(/!/, $sips_result); $sips_code=$param[1]; $sips_error=$param[2]; $sips_merchant_id=$param[3]; $sips_amount=$param[4]; $sips_transaction_id=$param[5]; $sips_payment_means=$param[6]; $sips_payment_time=$param[7]; $sips_payment_date=$param[8]; $sips_response_code=$param[9]; $sips_payment_certificate=$param[10]; $sips_authorisation_id=$param[11]; $sips_currency_code=$param[12]; $sips_card_number=$param[13]; $numero=$param[14]; $fichier_transactions="$dir_transactions/transac.$numero"; # ouverture du fichier open (FILE,"<$fichier_transactions"); $contenu_fichier = ""; while (!(eof(FILE))) { $ligne = ; $contenu_fichier = $contenu_fichier . $ligne; } close (FILE); # --------------------------------------------------------------------------------------------------------- # #################################################################### # Envoi d'un mail au commercant quand une transaction est realisee # #################################################################### #################################################################### # Analyse du code retour a autorisation - Ecriture dans le mail # #################################################################### if ($sips_response_code eq "00") { $transaction="Transaction acceptee"; } else { $transaction="Code Retour invalide - Transaction refusee"; } ####################### # Parametrage du mail # ####################### # Adresses mail sous la forme nom\@societe.fr $from_address="client\@airtria.fr"; $to_address="webmaster\@airtria.fr"; $to_address="dcariou\@citelis.com"; # envoi du mail (verifier que le module sendmail se trouve bien dans /usr/lib/sendmail open (MAIL, "|/usr/lib/sendmail -t $to_address") || warn print "Can't send mail: $!\n"; print MAIL<<"EMAIL"; From: $from_address To: $to_address Subject: $transaction ETAT DE LA TRANSACTION : $transaction $contenu_fichier transaction_id......: $sips_transaction_id merchant_id.........: $sips_merchant_id amount..............: $sips_amount payment_means.......: $sips_payment_means payment_time........: $sips_payment_time payment_date........: $sips_payment_date response_code.......: $sips_response_code (verifiez que ce code retour est bien egal a 00) payment_certificate.: $sips_payment_certificate authorisation_id....: $sips_authorisation_id currency_code.......: $sips_currency_code card_number.........: $sips_card_number EMAIL close(MAIL); ########################################################################## # Creation/Ouverture du fichier de transaction.nomdedomaine (fichier texte) # # MODIFIER LE CHEMIN DU FICHIER # ########################################################################## open(FILE,">> $fichier_transactions") || print "Pb d'ouverture"; #################################################################### # Analyse du code retour à autorisation - Ecriture dans le fichier # #################################################################### if ($sips_response_code ne "00") { print FILE "\n"; print FILE "Code Retour invalide\n"; print FILE "Transaction non acceptée\n"; print FILE "\n"; } else { print FILE "\n"; print FILE "Code Retour valide\n"; print FILE "Transaction acceptée\n"; print FILE "\n"; } ################################################################## # En cas d erreur, affichage du message d erreur dans le fichier # ################################################################## if ("$sips_code" == "-1") { print FILE "\n"; print FILE "Message d'Erreur :",$sips_error,"\n"; print FILE "\n"; print FILE "**********************************************************\n"; exit; } ################################################## # Ecriture des champs de reponse dans le fichier # ################################################## print FILE "merchant_id.........: $sips_merchant_id \n"; print FILE "amount..............: $sips_amount \n"; print FILE "transaction_id......: $sips_transaction_id \n"; print FILE "payment_means.......: $sips_payment_means \n"; print FILE "payment_time........: $sips_payment_time \n"; print FILE "payment_date........: $sips_payment_date \n"; print FILE "response_code.......: $sips_response_code \n"; print FILE "payment_certificate.: $sips_payment_certificate \n"; print FILE "authorisation_id....: $sips_authorisation_id \n"; print FILE "currency_code.......: $sips_currency_code \n"; print FILE "card_number.........: $sips_card_number \n"; print FILE "return_context......: $sips_return_context \n"; print FILE "**********************************************************\n"; print FILE "\n\n"; close (FILE); ########################################################################## # Creation/Ouverture du fichier des transactions du jour (fichier texte) # # Ce fichier s'appellera transactions.date_du_jour # # MODIFIER LE CHEMIN DU FICHIER # ########################################################################## $date=$sips_payment_date; $fichier_transactions="$dir_transactions/transactions.$date"; open(FILE,">> $fichier_transactions") || print "Pb d'ouverture"; #################################################################### # Analyse du code retour à autorisation - Ecriture dans le fichier # #################################################################### if ($sips_response_code ne "00") { print FILE "\n"; print FILE "Code Retour invalide\n"; print FILE "Transaction non acceptée\n"; print FILE "\n"; } else { print FILE "\n"; print FILE "Code Retour valide\n"; print FILE "Transaction acceptée\n"; print FILE "\n"; } ################################################################## # En cas d erreur, affichage du message d erreur dans le fichier # ################################################################## if ("$sips_code" == "-1") { print FILE "\n"; print FILE "Message d'Erreur :",$sips_error,"\n"; print FILE "\n"; print FILE "**********************************************************\n"; exit; } ################################################## # Ecriture des champs de reponse dans le fichier # ################################################## print FILE "merchant_id.........: $sips_merchant_id \n"; print FILE "amount..............: $sips_amount \n"; print FILE "transaction_id......: $sips_transaction_id \n"; print FILE "payment_means.......: $sips_payment_means \n"; print FILE "payment_time........: $sips_payment_time \n"; print FILE "payment_date........: $sips_payment_date \n"; print FILE "response_code.......: $sips_response_code \n"; print FILE "payment_certificate.: $sips_payment_certificate \n"; print FILE "authorisation_id....: $sips_authorisation_id \n"; print FILE "currency_code.......: $sips_currency_code \n"; print FILE "card_number.........: $sips_card_number \n"; print FILE "return_context......: $sips_return_context \n"; print FILE "**********************************************************\n"; print FILE "\n\n"; close (FILE); # End of file