Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    5

    Gestione otp.ris Banca Sella

    Devo realizzare una pagina di risposta per GestPay di Banca Sella con interfaccia otp. Una volta concluso la transazione, bancasella manda l'esito della stessa all'esercente attraverso un'url di questo tipo:
    -----------------------------------------------------

    http://localhost/GPL/otp/risposta.php?
    a=GPL00000
    &b=PAY1_UICCODE=242*P1*PAY1_AMOUNT=79.00*P1*PAY1_S HOPTRANSACTIONID=VRC158*P1*PAY1_OTP=90VFgRPiUXtYoR TZ30riSf3tSJDE&Submit=Comunicazion+esito
    -----------------------------------------------------

    La pagina in questione sarebbe la seguente ma non funziona.
    -----------------------------------------------------
    <html>
    <head>
    <title>Risposta</title>
    </head>
    <body>

    <?php
    $Parametrob = $_GET['PAY1_OTP'];
    $TrovataOTP=$Parametrob;

    $RisName = fopen("29132__2004_6_13_8.ris", "r");
    $CancellaOTP = fread($RisName, 32);

    if ($TrovataOTP == $CancellaOTP) {
    $num_riga = 1;
    $nome_file = "29132__2004_6_13_8.ris";
    $array = file($nome_file);
    unset($array[$num_riga-1]);
    $fp = fopen($nome_file,"wb");
    fwrite($fp,implode("",$array));
    fclose($fp);
    $TrovataOTP = true;
    }
    else {
    $TrovataOTP = false;
    }
    ?>

    <?
    if ($TrovataOTP = true) {
    print "La transazione è stata conclusa correttamente. "."Grazie per l'acquisto tornate presto a trovarci.";

    } else {
    print "La transazione non si è conclusa correttamente. "."Vi preghiamo di riprovare. Grazie.";
    }
    ?> <? print ("TrovataOTP=$TrovataOTP") ?> <? print ("CancellaOTP=$CancellaOTP") ?>
    </body>
    </html>
    -----------------------------------------------------
    Per verificare, stampo le otp ma la prima non è giusta e poi non cancella la otp.ris dal file. Il risultato è il seguente:

    La transazione è stata conclusa correttamente. Grazie per l'acquisto tornate presto a trovarci. TrovataOTP=1 CancellaOTP=uJgl90VFgRPiUXtYoRTZ30riSf3tSJDE

    Suggerimenti (leciti) al proposito?

  2. #2
    Utente bannato
    Registrato dal
    Aug 2001
    Messaggi
    696
    ciao amerika

    quando il tuo messaggio esce dalla prma pagina se lo vuoi riportare su basta ricpondere con

    "up" (oppure qualsiasi altra cosa)

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    131
    io mi son fatto una funzione che quando riceve la risposta da bancasella se la transazione è positiva

    apre il file delle otp
    legge riga per riga e la scrive in un file nuovo
    ovviamente quando trova la otp da cancellare salta la scrittura nel nuovo file
    una volta finito il file cancella il vecchio e rinomina il nuovo.
    ovviamente utilizzando i lock dei file cosi in caso di problemi il file originale con le otp non viene rovinato.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    5

    segue

    de gustibus... a me pare piuttosto complicata come cosa.
    sai dirmi cosa al proposito della pagina di risposta?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    212
    codice:
    <html>
    <head>
    <title>Risposta</title>
    </head>
    <body>
    <?php
    if (isset($_GET['PAY1_OTP'])) {
        $TrovataOTP = $_GET['PAY1_OTP'];
        $nome_file = "29132__2004_6_13_8.ris";
        $array = file($nome_file);
        $ok = NULL;
        foreach ($array as $k => $v) {
            if ($TrovataOTP == trim($v)) {
                $CancellaOTP = trim($v);
                unset($array[$k]);
                $ok = TRUE;
                break;
            }
        }
    
        if (isset($ok)) {
            $fp = fopen($nome_file,"wb");
            fwrite($fp,implode("",$array));
            fclose($fp);
            print "La transazione è stata conclusa correttamente. "."Grazie per l'acquisto tornate presto a trovarci.
    ";
        } else {
            print "La transazione non si è conclusa correttamente. "."Vi preghiamo di riprovare. Grazie.
    ";
        }
    }
    print "TrovataOTP=$TrovataOTP 
    ";
    print "CancellaOTP=$CancellaOTP 
    ";
    ?>
    </body>
    </html>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    5

    Segue

    Grazie mille, non mi pare funzioni però. IL risultato è questo:

    TrovataOTP=
    CancellaOTP=

    Per verificare il funzionamento faccio una falsa chiamata con la pagina che segue. Suggerimenti?

    <html>
    <head>
    <title> Comunicazione esito </title>

    </head>
    <body bgcolor="#FFFFFF" text="#000000">
    <form action="risposta.php">
    <input type="hidden" name="a" value=GPL00000>
    <input type="hidden" name="b"
    value="PAY1_UICCODE=242*P1*PAY1_AMOUNT=79.00*P1*PA Y1_SHOPTRANSACTIONID=VRC158*P1*PAY1_OTP=90VFgRPiUX tYoRTZ30riSf3tSJDE">
    <input type="submit" name="Submit" value="Comunicazion esito">
    </form>
    </body>
    </html>

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    212
    codice:
    <html>
    <head>
    <title>Risposta</title>
    </head>
    <body>
    <?php
    $parm_b = (isset($_POST['b'])?$_POST['b']:(isset($_GET['b'])?$_GET['b']:NULL));
    if (isset($parm_b)) {
        $TrovataOTP = '';
        $a = explode("*P1*", $parm_b);
        foreach ($a as $v) {
            $val = explode("=", $v);
            if (ereg("^PAY1_OTP", $v)) {
                $TrovataOTP = $val[1];
            }
        }
        $nome_file = "29132__2004_6_13_8.ris";
        $array = file($nome_file);
        $ok = NULL;
        foreach ($array as $k => $v) {
            if ($TrovataOTP == trim($v)) {
                $CancellaOTP = trim($v);
                unset($array[$k]);
                $ok = TRUE;
                break;
            }
        }
    
        if (isset($ok)) {
            $fp = fopen($nome_file,"wb");
            fwrite($fp,implode("",$array));
            fclose($fp);
            print "La transazione è stata conclusa correttamente. "."Grazie per l'acquisto tornate presto a trovarci.
    ";
        } else {
            print "La transazione non si è conclusa correttamente. "."Vi preghiamo di riprovare. Grazie.
    ";
        }
    }
    print "TrovataOTP=$TrovataOTP 
    ";
    print "CancellaOTP=$CancellaOTP 
    ";
    ?>
    </body>
    </html>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.