<?php

/*****************************************************************
	Pagina per ricezione ed elaborazione del NotificationMessage
*****************************************************************/

	// init PG_Triveneto_Class
	$pg = new PG_ConsTriv_Class($lng);
	$pg->setAction('Purchase');
	$pg->setVal_NM($_POST);

	// get paymentid
	$paymentid = $pg->getPaymentID_NM();
	// Verifico se esiste il PaymentID
	if( $paymentid !== false )
	{
		// Recupero Ordine dal database in base al PaymentID settato in fase di PaymentInit
		$sql = mysql_query("SELECT * FROM .... WHERE PaymentID='".mysql_real_escape_string($paymentid)."'");
		if( mysql_num_rows($sql) > 0 )	{
			$arRp = mysql_fetch_array($sql);
			$idp = $arRp["idp"]; // get idp

		# Transazione Elaborata
			// set Security Code per verifica validità del Notification Message
			$pg->setSecurityCode_PI( $secCode );
			// Verifico validità della transazione
			if( $pg->isValid_NM() &&				// Verifico autenticità del NotificationMessage (vedi Documentazione pag. 23)
				$pg->isTransGood_NM() && 			// Se esiste il TrackID (il mio idp)
				$arRp["stato"] == "PAYMENT_INIT" && // Solo se in stato PAYMENT_INIT (Vedi Documentazione pag. 18)
				$pg->getVal_NM("trackid") == $idp	// Verifico idp
			) {
				// OK, Registro STATO e dati TRANSAZIONE nel DB
				$stato = $pg->getVal_NM("result");
				$TranID = $pg->getVal_NM("tranid");
				$Auth = $pg->getVal_NM("auth");
				mysql_query("UPDATE .... SET ....");
				// Verifico se elaborare l'ordine o meno a seconda del campo result
				# ......
				# ......
			}

		# Transazione NON Elaborata a causa di errori tecnici
			if( $pg->isTransError_NM() ) {
				// ERROR, Registro Errore nel DB
				mysql_query("UPDATE .... SET .... stato='ERROR', ErrorText='".$pg->getVal_NM("ErrorText")."' WHERE ....");
			}

			// Restituisco al Gateway l'URL su cui redirezionare il Cardholder
			echo "REDIRECT=". $pg->getURL_NM();

		}
	}

/*
* 	DEBUG
* 	Scrivo un file o mi invio un'email con tutti i dati ricevuti dal POST
*

	$my_log = "";
	foreach($_POST AS $key => $value)
	{
		$my_log .= "- " . $key . " --> " . $value . "<br>";
	}
//	$log = fopen('log_' . date("dmY_Hi") . '.txt','a');
//	fwrite($log,$my_log);
//	fclose($log);
	$mDbg = new PHPMailer();
	$mDbg->Subject = "TEST PG";
	$mDbg->Body = $my_log;
	$mDbg->AltBody = strip_tags($my_log);
	$mDbg->AddAddress("xxxx@xxxx.com");
    $mDbg->Send();

* 	FINE DEBUG
*/

?>