@delizard: ma lavori in ASP o in PHP ??
Nel kit che la SETEFI mette a disposizione non ho mai incontrato alcun file .CGN...
Ad ogni modo (e questo che ti dico vale solo x PHP), a grandi linee le operazioni da fare sono queste:
[list=1][*]devi predisporre una pagina "acquisto.php" in cui inserisci una normale form con tutti i campi che il cliente deve compilare per indicare i beni/servizi da acquistare [*]devi predisporre una pagina "conferma-modulo-inviato.php" (che richiami come "action" dalla form presente in "acquisto.php") [*]devi predisporre un'altra pagina "esito-transazione.php" che mostrerà l'esito della transazione (quindi la pagina di "ritorno" al tuo sito dopo l'indirizzamento x le operazioni di pagamento sul sito SETEFI)[/list=1]
Le ultime 2 sono le pagine "importanti" (i nomi sono esemplificativi, puoi chiamarle ovviamente come vuoi) su cui devi operare per fare le seguenti operazioni:
- devi includere le funzioni di aggancio al gateway remoto SETEFI nella pagina "conferma-modulo-inviato.php" inserendo all'inizio:
codice:
include ('98989898.php');
- nella stessa pagina devi predisporre tutte le variabili da passare al gateway SETEFI e fare la chiamata allo stesso tramite le funzioni messe a disposizione grazie all'include di prima. Es:
codice:
<?php
/* parte PHP da includere prima della sezione HEAD della pagina */
$strCifrata;
$retURL;
$importo = 1000 // questo lo devi sostituire con la variabile GET/POST del modulo inviato
$rifOperazione = "miorif_univoco"; // stringa da calcolare in maniera univoca ad es. con un contatore
$data = "100831"; //data aammgg
$ora = "093056"; //ora hhmmss
$contatore_giorno_cc = 3; // progressivo univoco transazione DEL GIORNO
$descrizione = "descr. operaz." // descrittivo operazione che va sul conto SETEFI
$retURL = 'http://www.miosito.com/esito-transazione.php'; //URL di ritorno al tuo sito dopo le operazioni di pagamento
$strCifrata = Rij_Client_CifraNew($importo,'2','978',$rifOperazione,$data,$ora,$contatore_giorno_cc,$descrizione,'','','','','','','','','','380','','','',''); // lancia il gateway remoto SETEFI passandogli i parametri della transazione
$strDecifrata = Rij_Client_DecifraNew($strCifrata); //stringa di ritorno dell'operazione rimandata dal gateway SETEFI; questa è utile x controllare l'esito della transazione (se il cliente ha pagato veramento oppure no!)
?>
...
QUESTA PARTE QUA SOTTO VA NEL BODY DELLA PAGINA
<form action="https://www.monetaonline.it/MPI/MPIRequest.asp" method="post">
<input type="HIDDEN" name="PaymentRequest" value="<? echo $strCifrata; ?>" />
<input type="HIDDEN" name="RETURL" value="<? echo $retURL; ?>" />
<button type="button" value="Retry" onclick="javascript:history.back()">Indietro</button>
<input id="btn_paga" type="SUBMIT" value="Paga con carta di credito" />
</form>
- nella pagina "esito-transazione.php" devi rifare l'include alle funzioni SETEFI:
codice:
include ('98989898.php');
- sempre nella pagina di esito puoi verificare e stampare a video il risultato della transazione (per indicare al cliente se ha pagato o meno regolarmente e per regolarti di conseguenza sull'ordine presente nel carrello):
codice:
<?php
/* questa parte va prima della sezione HEAD della pagina */
$strCifrata = $_POST['PaymentResponse'];
if ($strCifrata == ''){
$strCifrata = $_GET['PaymentResponse'];
}
$strDeCifrata = Rij_Client_DecifraNew($strCifrata);
?>
...
QUESTA PARTE VA INVECE NEL BODY:
<?php
if (substr($strDeCifrata,0,3)==="000") {
echo "
esito OK!</p>";
} else {
echo "
esito Negativo! Riprovare controllando i dati della carta di credito</p>";
}
?>
A me così funziona perfettamente...quando ti passano il gateway definitivo (quindi quando abbandoni quello di TEST) devi far attenzione soltanto a sostituire gli include al file "98989898.php" con il nome giusto che ti hanno indicato.
...prova e fammi sapere...