source: spip-zone/_plugins_/transaction/paiement/atos/paiement_atos_confirmation.php @ 44131

Last change on this file since 44131 was 44131, checked in by apachot@…, 9 years ago
  • Suite du paiement paybox
  • début d'intégration ATOS
  • Property svn:executable set to *
File size: 5.3 KB
Line 
1<?php
2foreach ($_POST as $key => $value) $$key = $value;
3foreach ($_GET as $key => $value) $$key = $value;
4?>
5<?php
6        //Charger SPIP
7        if (!defined('_ECRIRE_INC_VERSION')) {
8                // recherche du loader SPIP.
9                $deep = 2;
10                $lanceur ='ecrire/inc_version.php';
11                $include = '../../'.$lanceur;
12                while (!defined('_ECRIRE_INC_VERSION') && $deep++ < 6) { 
13                        // attention a pas descendre trop loin tout de meme !
14                        // plugins/zone/stable/nom/version/tests/ maximum cherche
15                        $include = '../' . $include;
16                        if (file_exists($include)) {
17                                chdir(dirname(dirname($include)));
18                                require $lanceur;
19                        }
20                }       
21        }
22        if (!defined('_ECRIRE_INC_VERSION')) {
23                die("<strong>Echec :</strong> SPIP ne peut pas etre demarre.<br />
24                        Vous utilisez certainement un lien symbolique dans votre repertoire plugins.");
25        }
26
27
28        include_spip('base/abstract_sql');
29       
30       
31        // Récupération de la variable cryptée DATA
32
33        $DATA = escapeshellcmd($_POST["DATA"]);
34        $message="message=$DATA";
35
36        // Initialisation du chemin du fichier pathfile (à modifier)
37    //   ex :
38    //    -> Windows : $pathfile="pathfile=c:\\repertoire\\pathfile"
39    //    -> Unix    : $pathfile="pathfile=/home/repertoire/pathfile"
40    //
41    // Cette variable est facultative. Si elle n'est pas renseignée,
42    // l'API positionne la valeur à "./pathfile".
43
44        $pathfile="pathfile=conf/pathfile";
45
46        //Initialisation du chemin de l'executable response (à modifier)
47        //ex :
48        //-> Windows : $path_bin = "c:\\repertoire\\bin\\response"
49        //-> Unix    : $path_bin = "/home/repertoire/bin/response"
50        //
51
52        $path_bin = "bin/response";
53
54        // Appel du binaire response
55
56        $result=exec("$path_bin $message $pathfile");
57
58        //      Sortie de la fonction : !code!error!v1!v2!v3!...!v29
59        //              - code=0        : la fonction retourne les données de la transaction dans les variables v1, v2, ...
60        //                              : Ces variables sont décrites dans le GUIDE DU PROGRAMMEUR
61        //              - code=-1       : La fonction retourne un message d'erreur dans la variable error
62
63
64        //      on separe les differents champs et on les met dans une variable tableau
65
66        $tableau = explode ("!", $result);
67
68        $code = $tableau[1];
69        $error = $tableau[2];
70        $merchant_id = $tableau[3];
71        $merchant_country = $tableau[4];
72        $amount = $tableau[5];
73        $transaction_id = $tableau[6];
74        $payment_means = $tableau[7];
75        $transmission_date= $tableau[8];
76        $payment_time = $tableau[9];
77        $payment_date = $tableau[10];
78        $response_code = $tableau[11];
79        $payment_certificate = $tableau[12];
80        $authorisation_id = $tableau[13];
81        $currency_code = $tableau[14];
82        $card_number = $tableau[15];
83        $cvv_flag = $tableau[16];
84        $cvv_response_code = $tableau[17];
85        $bank_response_code = $tableau[18];
86        $complementary_code = $tableau[19];
87        $return_context = $tableau[20];
88        $caddie = $tableau[21];
89        $receipt_complement = $tableau[22];
90        $merchant_language = $tableau[23];
91        $language = $tableau[24];
92        $customer_id = $tableau[25];
93        $order_id = $tableau[26];
94        $customer_email = $tableau[27];
95        $customer_ip_address = $tableau[28];
96        $capture_day = $tableau[29];
97        $capture_mode = $tableau[30];
98        $data = $tableau[31];
99
100
101         sql_updateq('spip_formulaires_transactions', array('statut_transaction' => 1), 'ref_transaction=' . sql_quote($transaction_id));
102
103        // Initialisation du chemin du fichier de log (à modifier)
104    //   ex :
105    //    -> Windows : $logfile="c:\\repertoire\\log\\logfile.txt";
106    //    -> Unix    : $logfile="/home/repertoire/log/logfile.txt";
107    //
108
109        $logfile="/var/log/atos/site";
110
111        // Ouverture du fichier de log en append
112
113        $fp=fopen($logfile, "a");
114        //  analyse du code retour
115fputs($fp, "code $customer_ip_address \n");
116
117  if (( $code == "" ) && ( $error == "" ) )
118        {
119        fwrite($fp, "erreur appel response\n");
120        print ("executable response non trouve $path_bin\n");
121        }
122
123        //      Erreur, sauvegarde le message d'erreur
124
125        else if ( $code != 0 ){
126        fwrite($fp, " API call error.\n");
127        fwrite($fp, "Error message :  $error\n");
128        }
129        else {
130
131        // OK, Sauvegarde des champs de la réponse
132
133        fwrite( $fp, "merchant_id : $merchant_id\n");
134        fwrite( $fp, "merchant_country : $merchant_country\n");
135        fwrite( $fp, "amount : $amount\n");
136        fwrite( $fp, "transaction_id : $transaction_id\n");
137        fwrite( $fp, "transmission_date: $transmission_date\n");
138        fwrite( $fp, "payment_means: $payment_means\n");
139        fwrite( $fp, "payment_time : $payment_time\n");
140        fwrite( $fp, "payment_date : $payment_date\n");
141        fwrite( $fp, "response_code : $response_code\n");
142        fwrite( $fp, "payment_certificate : $payment_certificate\n");
143        fwrite( $fp, "authorisation_id : $authorisation_id\n");
144        fwrite( $fp, "currency_code : $currency_code\n");
145        fwrite( $fp, "card_number : $card_number\n");
146        fwrite( $fp, "cvv_flag: $cvv_flag\n");
147        fwrite( $fp, "cvv_response_code: $cvv_response_code\n");
148        fwrite( $fp, "bank_response_code: $bank_response_code\n");
149        fwrite( $fp, "complementary_code: $complementary_code\n");
150        fwrite( $fp, "return_context: $return_context\n");
151        fwrite( $fp, "caddie : $caddie\n");
152        fwrite( $fp, "receipt_complement: $receipt_complement\n");
153        fwrite( $fp, "merchant_language: $merchant_language\n");
154        fwrite( $fp, "language: $language\n");
155        fwrite( $fp, "customer_id: $customer_id\n");
156        fwrite( $fp, "order_id: $order_id\n");
157        fwrite( $fp, "customer_email: $customer_email\n");
158        fwrite( $fp, "customer_ip_address: $customer_ip_address\n");
159        fwrite( $fp, "capture_day: $capture_day\n");
160        fwrite( $fp, "capture_mode: $capture_mode\n");
161        fwrite( $fp, "data: $data\n");
162        fwrite( $fp, "-------------------------------------------\n");
163        }
164
165        fclose ($fp);
166
167
168?>
Note: See TracBrowser for help on using the repository browser.