ciao a tutti,
ho interfacciato un prodotto del mio sito con il sistema gestpay di banca sella
utilizzando il sistema di crittografia.
Funziona tutto correttamente, nel senso che le transazioni vanno a buon fine.
Ora, l'unica cosa che dovrei risolvere, è inserire nel bac office della banca l'url server to server, e cioè (mi è stato detto) na pagina attraverso la quale il server della banca fornisce al server dove sta il mio sito l'avvenuta transazione. Ora, non è che l'abbia ben capita questa cosa..esattamente in cosa consiste? e soprattutto come devo fare esattamente questa pagina?
grazieeee
url server to server
Moderatore: mod Generali
Re: url server to server
remixe ha scritto:ciao a tutti,
ho interfacciato un prodotto del mio sito con il sistema gestpay di banca sella
utilizzando il sistema di crittografia.
Funziona tutto correttamente, nel senso che le transazioni vanno a buon fine.
Ora, l'unica cosa che dovrei risolvere, è inserire nel bac office della banca l'url server to server, e cioè (mi è stato detto) na pagina attraverso la quale il server della banca fornisce al server dove sta il mio sito l'avvenuta transazione. Ora, non è che l'abbia ben capita questa cosa..esattamente in cosa consiste? e soprattutto come devo fare esattamente questa pagina?
grazieeee
In generale, per URL Server-To-Server si intende l'indirizzo di una pagina, residente sul tuo server, che riceve ed elabora i dati sulla transazione inviati dal server Sella (Notifica S2S).
La modalità di realizzazione della pagina dipende dal sistema che utilizzi sul tuo sito.
Se utilizzi osCommerce è disponibile il modulo osCSellaPLUS che ha già inclusa la gestione della notifica S2S.
Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Visita la demo: http://oscpro.oscommercedev.com/index.php
re
ciao Marcus,
dunque io ho utilizzato il pacchetto gestpaycrypt-php-2.0.1 per realizzare l'interfacciamento con banca sella del mio prodotto.
E' una cartella che ho scaricato dal web e come dicevo funziona bene, ha anche la pagina per la risposta positiva e negativa (che devo inserire sempre nel back office, ..le url intendo) però non c'è la pagina per la comunicazione server to server, allora io non essendo programmatore sono andato a prendere la pagina s2s.php che viene utilizzata per interfacciare oscommerce con bancasella ed ho inserito quella, però non so se funzionerà correttamente, ti digito quì sotto il codice di questa pagina che immagino cmq già conoscerai:
<?php
/*
$Id: s2s.php,v 2.0 2003/06/25 05:51:31 svfz Exp $
Payment Gateway Banca Sella
Copyright (c) 2003 Pronesis Srl
Released under the GNU General Public License
Author: Stefano Vita Finzi Zalman
<stefano.vita@pronesis.it>
*/
/*
Script per il collegamento diretto server2server con banca sella
Lo script attende che il cliente torni indietro da banca sella
e termini di completare l'ordine.
*/
set_time_limit(0);
if ($_GET['a'] && $_GET['b'])
{
$parametro_a = trim($_GET['a']);
$parametro_b = trim($_GET['b']);
require_once(DIR_WS_CLASSES . 'GestPayCrypt.inc.php');
$objdeCrypt = new GestPayCrypt();
if (!$objdeCrypt)
{
echo "Errore di decodifica";
}
else
{
$objdeCrypt->SetShopLogin($parametro_a);
$objdeCrypt->SetEncryptedString($parametro_b);
$objdeCrypt->Decrypt();
// DI SEGUITO SI HANNO UNA SERIE DI VARIABILI VALORIZZATE CON I
// DATI RICEVUTI DA GESTPAY DA UTILIZZARE PER L'INTEGRAZIONE CON
// IL PROPRIO SISTEMA
$myshoplogin=trim($objdeCrypt->GetShopLogin());
$mycurrency=$objdeCrypt->GetCurrency();
$myamount=$objdeCrypt->GetAmount();
$myshoptransactionID=trim($objdeCrypt->GetShopTransactionID());
$mybuyername=trim($objdeCrypt->GetBuyerName());
$mybuyeremail=trim($objdeCrypt->GetBuyerEmail());
$mytransactionresult=trim($objdeCrypt->GetTransactionResult());
$myauthorizationcode=trim($objdeCrypt->GetAuthorizationCode());
$myerrorcode=trim($objdeCrypt->GetErrorCode());
$myerrordescription=trim($objdeCrypt->GetErrorDescription());
$mybanktransactionid=trim($objdeCrypt->GetBankTransactionID());
$myalertcode=trim($objdeCrypt->GetAlertCode());
$myalertdescription=trim($objdeCrypt->GetAlertDescription());
$mycustominfo=trim($objdeCrypt->GetCustomInfo());
// FINE SCRIPT DI DECRITTOGRAFIA
}
if ($myerrorcode == 0)
{
$check_query = tep_db_query("select * FROM orders_sellanet WHERE bank_transaction_id = " . $mybanktransactionid);
$check = tep_db_num_rows($check_query);
if($check > 0)
{
tep_db_query("UPDATE orders_sellanet SET s2s_status = 1 WHERE bank_transaction_id = " . $mybanktransactionid);
}
else
{
tep_db_query("INSERT INTO orders_sellanet (bank_transaction_id, shop_transaction_id, authorization_code, amount, s2s_status, date) VALUES (" . $mybanktransactionid . ", '" . $myshoptransactionID . "','" . $myauthorizationcode . "', " . $myamount . ",1," . time() . ")");
}
}
}
questo parametro l'ho modificato con il nome del file della mia cartella:
require_once(DIR_WS_CLASSES . 'GestPayCrypt.lib.php');
ho sostituito con:
require_once(DIR_WS_CLASSES . 'GestPayCrypt.inc.php');
fammi sapere se può anda bene così.
GRAZIE
dunque io ho utilizzato il pacchetto gestpaycrypt-php-2.0.1 per realizzare l'interfacciamento con banca sella del mio prodotto.
E' una cartella che ho scaricato dal web e come dicevo funziona bene, ha anche la pagina per la risposta positiva e negativa (che devo inserire sempre nel back office, ..le url intendo) però non c'è la pagina per la comunicazione server to server, allora io non essendo programmatore sono andato a prendere la pagina s2s.php che viene utilizzata per interfacciare oscommerce con bancasella ed ho inserito quella, però non so se funzionerà correttamente, ti digito quì sotto il codice di questa pagina che immagino cmq già conoscerai:
<?php
/*
$Id: s2s.php,v 2.0 2003/06/25 05:51:31 svfz Exp $
Payment Gateway Banca Sella
Copyright (c) 2003 Pronesis Srl
Released under the GNU General Public License
Author: Stefano Vita Finzi Zalman
<stefano.vita@pronesis.it>
*/
/*
Script per il collegamento diretto server2server con banca sella
Lo script attende che il cliente torni indietro da banca sella
e termini di completare l'ordine.
*/
set_time_limit(0);
if ($_GET['a'] && $_GET['b'])
{
$parametro_a = trim($_GET['a']);
$parametro_b = trim($_GET['b']);
require_once(DIR_WS_CLASSES . 'GestPayCrypt.inc.php');
$objdeCrypt = new GestPayCrypt();
if (!$objdeCrypt)
{
echo "Errore di decodifica";
}
else
{
$objdeCrypt->SetShopLogin($parametro_a);
$objdeCrypt->SetEncryptedString($parametro_b);
$objdeCrypt->Decrypt();
// DI SEGUITO SI HANNO UNA SERIE DI VARIABILI VALORIZZATE CON I
// DATI RICEVUTI DA GESTPAY DA UTILIZZARE PER L'INTEGRAZIONE CON
// IL PROPRIO SISTEMA
$myshoplogin=trim($objdeCrypt->GetShopLogin());
$mycurrency=$objdeCrypt->GetCurrency();
$myamount=$objdeCrypt->GetAmount();
$myshoptransactionID=trim($objdeCrypt->GetShopTransactionID());
$mybuyername=trim($objdeCrypt->GetBuyerName());
$mybuyeremail=trim($objdeCrypt->GetBuyerEmail());
$mytransactionresult=trim($objdeCrypt->GetTransactionResult());
$myauthorizationcode=trim($objdeCrypt->GetAuthorizationCode());
$myerrorcode=trim($objdeCrypt->GetErrorCode());
$myerrordescription=trim($objdeCrypt->GetErrorDescription());
$mybanktransactionid=trim($objdeCrypt->GetBankTransactionID());
$myalertcode=trim($objdeCrypt->GetAlertCode());
$myalertdescription=trim($objdeCrypt->GetAlertDescription());
$mycustominfo=trim($objdeCrypt->GetCustomInfo());
// FINE SCRIPT DI DECRITTOGRAFIA
}
if ($myerrorcode == 0)
{
$check_query = tep_db_query("select * FROM orders_sellanet WHERE bank_transaction_id = " . $mybanktransactionid);
$check = tep_db_num_rows($check_query);
if($check > 0)
{
tep_db_query("UPDATE orders_sellanet SET s2s_status = 1 WHERE bank_transaction_id = " . $mybanktransactionid);
}
else
{
tep_db_query("INSERT INTO orders_sellanet (bank_transaction_id, shop_transaction_id, authorization_code, amount, s2s_status, date) VALUES (" . $mybanktransactionid . ", '" . $myshoptransactionID . "','" . $myauthorizationcode . "', " . $myamount . ",1," . time() . ")");
}
}
}
questo parametro l'ho modificato con il nome del file della mia cartella:
require_once(DIR_WS_CLASSES . 'GestPayCrypt.lib.php');
ho sostituito con:
require_once(DIR_WS_CLASSES . 'GestPayCrypt.inc.php');
fammi sapere se può anda bene così.
GRAZIE
