214 lines
7.9 KiB
Perl
Executable File
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
|