8 messaggi dal 22 novembre 2001
Ciao a tutti,

utilizzando lo script di connessione con crittografia a Banca Sella:

'CAMPI OBBLIGATORI
myshoplogin = "GESPAYXXXXX"
mycurrency = 242
myamount = replace(orderTotal,",",".")
myshoptransactionID = transRS( "order_id" )

la pagina di Banca Sella accetta la chiamata, quindi dal punto di vista del mio codice ASP dovrebbe essere tutto a posto.
Il problema è che con qualsiasi importo vada a richiedere il pagamento (orderTotal), Banca Sella mi visualizza sempre la stessa cifra: Euro 294,38

Qualcuno sa svelarmi il mistero oppure ha fatto la stessa esperienza?
Grazie per l'aiuto, ciao!

Esko
sicuro che il resto del codice sia corretto? posta anche la chiamata (shopID escluso  ) all'oggetto COM, il problema sembra essere lì.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
8 messaggi dal 22 novembre 2001
Ciao Daniele, grazie per il tuo aiuto. Ti posto l'intero script con la chiamata all'oggetto COM.


<%
username = TRIM( Request( "userID" ) )

sqlString = "SELECT * " &_
"FROM Orders, Users, Products " &_
"WHERE order_userID = user_id " &_
"AND order_productID = product_id "

SET transRS = Server.CreateObject( "ADODB.Recordset" )
transRS.ActiveConnection = Con
transRS.Open sqlString

orderTotal = transRS( "product_europrice" ) * transRS( "order_quantity" )


' INIZIO SCRIPT DI CRITTOGRAFIA

'PARTE DA NON MODIFICARE
'Sintassi Oggetto COM
set objCrypt =Server.Createobject("GestPayCrypt.GestPayCrypt")

if Err.number <> 0 then
Response.Write Err.number & Err.description
end if


'PARTE DA MODIFICARE (VALORIZZAZIONE ATTRIBUTI TRANSAZIONE)

'CAMPI OBBLIGATORI

myshoplogin = "GESPAYXXXXX"
mycurrency = 242
myamount = replace(orderTotal,",",".")
myshoptransactionID = transRS( "order_id" )


'CAMPI NON OBBLIGATORI (CANCELLARE LE RIGHE NON INTERESSATE)

'omissis


'PARTE DA NON MODIFICARE

objCrypt.SetShopLogin(myshoplogin)
objCrypt.SetCurrency(mycurrency)
objCrypt.SetAmount(myamount)
objCrypt.SetShopTransactionID(myshoptransactionID)
objCrypt.SetBuyerName(mybuyername)
objCrypt.SetBuyerEmail(mybuyeremail)
objCrypt.SetLanguage(mylanguage)
objCrypt.SetCustomInfo(mycustominfo)

call objCrypt.Encrypt

if objCrypt.GetErrorCode = 0 then
b = objCrypt.GetEncryptedString
a = objCrypt.GetShopLogin
end if

'FINE SCRIPT PER CRITTOGRAFIA.

'SE TUTTO OK SI HANNO 2 VARIABILI A E B DA UTILIZZARE PER IL 'PASSAGGIO DEI PARAMETRI A BANCA SELLA

'ESEMPIO CON FORM HTML
%>

<form action="https://ecomm.sella.it/gestpay/pagam.asp">
<input name="a" type="hidden" value="<%=a%>">
<input name="b" type="hidden" value="<%=b%>">
<input type="submit" value=" OK " name="Input">
</form>

<%
transRS.Close()
Set transRS = Nothing
%>


Grazie, ciao!

Esko
ci credo che non funziona, guarda questa query:

sqlString = "SELECT * " &_
"FROM Orders, Users, Products " &_
"WHERE order_userID = user_id " &_
"AND order_productID = product_id "

non estrae un bel nulla, oserei dire.

al massimo potrebbe essere
sqlString = "SELECT * " &_
"FROM Orders, Users, Products " &_
"WHERE order_userID = " & user_id &_
"AND order_productID = " & product_id

ma non vedo valorizzate le variabili in oggetto.
ti consiglio di controllare per bene il tuo codice, a prima vista mi sembra abbastanza lacunoso.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
8 messaggi dal 22 novembre 2001
Ciao Daniele, grazie per la risposta.
Già in un altro post ho premesso che sono un grafico e non un programmatore, quindi perdona le mie lacunosità. Purtroppo quando si è "piccoli", per lavorare, non sempre è possibile dedicarsi a ciò che più piace e si sa fare (la grafica), ma occorre accontentare il cliente che ti chiede il sito di e-commerce! Ce la metto tutta ma la mia conoscenza di ASP è piuttosto artigianale.
Dunque: ho sostituito la sqlString come mi hai indicato ma così il browser va in errore ASP. Considera che tutto il mio script di connessione (GestPayCryptCom.asp) è contenuto in un'altra pagina asp (checkout3.asp):

<!-- #INCLUDE FILE="adovbs.inc" -->
<!-- #INCLUDE FILE="storefuncs.asp" -->
<%

' Get Login Information
username = TRIM( Request( "username" ) )
password = TRIM( Request( "password" ) )
register = TRIM( Request( "register" ) )
error = TRIM( Request( "error" ) )

' Open Database Connection
Set Con = Server.CreateObject( "ADODB.Connection" )
Con.Open "accessDSN2"

' Check For New Registration
IF register <> "" AND error = "" THEN
addUser
END IF

' Get User ID
userID = checkpassword( username, password, Con )

IF userID > 0 THEN
%>
<!-- #INCLUDE FILE="GestPayCryptCom.asp" -->
<% ELSE %>
<!-- #INCLUDE FILE="register.asp" -->
<%
END IF
%>

Il file storefuncs.asp contiene a sua volta questa funzione:

FUNCTION fixQuotes( theString )
fixQuotes = REPLACE( theString, "'", "''" )
END FUNCTION

che forse spiega le anomalie incontrate.
Grazie per il tuo aiuto. Ciao!

Esko
probabilmente nel tuo caso la query deve essere solo:

sqlString = "SELECT * " &_
"FROM Orders, Users, Products " &_
"WHERE order_userID = " & username

siccome l'applicazione l'hai fatta tu, direi che sei l'unico che può sapere esattamente cosa vuole fare con quella query.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.