Files
resatennis_tyroltenn/www/marchand/scripts_cgi/expcall_autoresponse.pl

214 lines
7.9 KiB
Perl
Executable File

#!/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 <sips_autoresponse_message>
# 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 = <FILE>;
$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