Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    102

    Gateway pagamento SETEFI

    Ciao a tutti,

    per un cliente dovrei effettuare il collegamento da una pagina PHP (form di registrazione) al gateway di pagamento on-line con carta di credito che mi metterà a disposizione il cliente, il quale mi ha anticipato che si tratta di SETEFI (il gateway di MonetaONLINE/Banca Intesa).

    Ho cercato in rete ma non ho trovato granchè riguardo esempi/documentazione per l'utilizzo del gateway (similmente a quanto ad esempio mette a disposizione Paypal, Bancasella ecc.).

    Qualcuno ha qualche script d'esempio in PHP da postare ?

    E un'altra cosa. Qualcuno sa se la versione di interfacciamento di SETEFI con PHP richiede l'installazione di qualche dll sul server di hosting e se un server Linux va comunque bene??

    Grazie a chiunque potrà darmi una mano...

  2. #2
    setefi ti manda un pacchetto contenente 3 file php, 2 dei quali sono esempi mentre il terzo è quello di comunicazione col loro server. Quando il tuo cliente te li darà, ti basterà consultare quei file e la documentazione annessa.
    Ciao

  3. #3
    Controlla solo che PHP abbia le estensioni bcmath. Ad ogni modo i file che ti mandano sono scritti con i piedi, se ne capisci di programmazione potrai rabbrividire :O

    La documentazione fa c@g@re, fai prima a guardarti il file di esempio che si chiama buynow.php.

    I codici utente e altre chiavi personalizzate per il merchant stanno belle intercalate nel file quindi non devi fare niente se non un include('xxxxxx.php'), dove "xxxxxx" è il numerino di identificazione del merchant. Troverai anche quel file nel pacchetto zip che ti manda la banca.

    Saluti,

    Dionigi

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    102
    @diocantore,@rickystra: Grazie mille per le risposte...avevo letto in giro che sono piuttosto "criptici" (per usare un eufemismo) nella documentazione...

    Ancora non sono in possesso dei files in questione...il cliente sta contattando il loro supporto tecnico ma sono "lunghi"....Non è che per caso potreste postarmi il codice (rimuovendo ovviamente le parti sensibili) che avete utilizzato voi ? Ve ne sarei infinitamente grato...

    Comunque mi confermate che sull'hosting non va installato niente (a parte l'estensione bcmath che dalla versione 4.0.4 dovrebbe già essere abilitata di default su tutte le installazioni di PHP), giusto ?

    Grazie ancora...

  5. #5
    Originariamente inviato da Nerik
    ...
    Non è che per caso potreste postarmi il codice (rimuovendo ovviamente le parti sensibili) che avete utilizzato voi ? Ve ne sarei infinitamente grato...
    il codice è una boiata, è inutile che te lo passo (uso symfony e l'ho dovuto adattare), devi solo calcolare una stringa megagalattica e passarla in un form. Se vuoi tenerti pronto per quando la banca ti manda la roba allora prepara sti dati:

    codice:
    private static function preparaParametriPerStringaSetefi($arrayOrdine)
    {
       return array(
         'data' => date("ymd"),
         'ora' => date("His"),
         'returnUrl' => 'http://iltuosito/notifica/il/pagamento/qui',
         'importo' => $arrayOrdine['totale']*100, /* lo vuole in centesimi */
         'descrizione' => 'ordine borsetta',
         'rifOperazione' => 'MIO_CODICE_ORDINE_UNIVOCO', 
         'dailyCount' => str_pad($numeroProgressivoOrdiniDelGiorno+1, 4, '0', STR_PAD_LEFT), 
         );
    }
    e poi li dai in pasto alla megafunzione che ti manda la banca, abominevole e che martella un casino di CPU.
    Comunque mi confermate...
    confermo

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    102
    Grazie mille!!!

    Sei stato gentilissimo...e chiarissimo!

    Tra l'altro mi è arrivata ora l'email del cliente con allegato la documentazione che gli ha passato il supporto Setefi...provo subito!

  7. #7
    Ciao ragazzi,
    ma voi alla fine siete riusciti a farlo funzionare?

    A me funziona on-line ma con i parametri di test; mi hanno detto scaricare il file resource.cgn ma non ho capito come utilizzarlo...

    Se voi siete riusciti potete darmi perfavore una mano?
    Sono due mesi che a pezzi e bocconi si sta andando avanti ma ancora non ci siamo..
    E loro sono veramente pessimi: pessimi nell'assistenza, nei documenti che inviano (a caso??), ..per non parlare di come comunicano al telefono. roba da pauraaaaaaa!!!
    Non sò veramente come si apossibile!!


    Grazie comunque,
    ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    102
    @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...

  9. #9
    Ciao,
    ho fatto esattamente quello che hai scritto
    (almeno in questo mi sento sollevato!)

    E infatti la transazione di prova funziona.

    Poi loro hanno detto: "Funziona ma è sul nostro account di test. Adesso si deve settare su quello vostro. Hai bisogno del file resource.cgn che si scarica dal backend e poi di alcune DLL..."
    E via giù roba assurda, manuali, ecc...
    Ma secondo me fumano peso...

    Da quanto mi dici credo basti sostituire l'include che adesso è "97170047.php" con il numero del mio account, giusto?

    Ho capito bene?


    Grazie infinite davvero

    Ciao!

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    102
    Si, quando sono andato in "effettivo" a me non è servito fare altro se non cambiare l'include con quello "ufficiale".

    Tra l'altro l'hosting del cliente che lavora con SETEFI è di tipo condiviso e non avrei MAI potuto installare DLL o altro...

    Se ti funziona con quello di TEST, non dovresti aver alcun problema ad andare in effettiva.

    Una volta che hai sostituito l'include fai una prova facendo un acquisto (1 euro basta!) se non riesci devi contattare il loro supporto e farti risolvere "in diretta" la cosa...

    ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.