- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- IMPORTANTE, problema con ricariche paypal
-
IMPORTANTE, problema con ricariche paypal
salve a tutti. io possiedo un sito di aste al ribasso; il mio problema è questo: in pratica nel momento in cui le persone ricaricano i crediti sul mio sito e pagano tramite paypal, la ricarica dei crediti non avviene in automatico . mi spiego meglio: se tizio effettua una ricarica di 10euro, in teoria dovrebbe ricevere sul suo conto del sito 10crediti (più 5 in omaggio) in automatico. ma questo non avviene; cioè lui paga, io ricevo i soldi sul mio conto paypal ma nel sito non risulta nessuna ricarica di crediti sul suo conto.
di seguito vi riporto il codice del pagamento. ditemi se c'è qualke errore o se devo aggiustare qualcosa;Vi prego aiutatemi!!!!x
<%
strconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("../mdb-database/lb.mdb") & ";Persist Security Info=False"
set cn= server.createobject("ADODB.connection")
Set rsc = Server.CreateObject("ADODB.Recordset")
Set rso = Server.CreateObject("ADODB.Recordset")
cn.open strconn
'st=Completed&amt=1.00&cc=EUR&cm=&item_number=10
item = request.querystring("item_number")
stato=request.querystring("st")
amt=request.querystring("amt")
tx=request.querystring("tx")
if stato = "Completed" then
sz_sql="select tx from ricariche where tx ='" & tx & "'"
rsc.open sz_sql,cn
if rsc.eof thenselect case item
case 2
ricarica = item
case 5
ricarica = item + 2
case 10
ricarica = item +5
case 20
ricarica = item +10
case 30
ricarica = item +15
case 50
ricarica = item +25
case 100
ricarica = item +70
case 200
ricarica = item +150
case 300
ricarica = item +225
case 500
ricarica = item +500
case 750
ricarica = item +800
case 1000
ricarica = item +1200end select
'se è la prima ricarica gli do il doppio dei crediti !
ssql="select * from ricariche where id_utente = " & session("id_utente")
rso.open ssql,cn
if rso.eof then
sz_sql="update utenti set crediti = crediti + " & (item * 2) & " where id = " & session("id_utente")
cn.execute sz_sql
session("crediti")= session("crediti") + (item * 2)
else
sz_sql="update utenti set crediti = crediti + " & ricarica & " where id = " & session("id_utente")
cn.execute sz_sql
session("crediti")= session("crediti") + ricarica
end ifsz_sql="insert into ricariche (id_utente,ricarica,data,tx) values(" & session("id_utente") & "," & item & ",'" & now() & "','" & tx &"')"
cn.execute sz_sql
response.redirect "../ricarica_effettuata.asp?amt=" & item
else
response.redirect "../ricarica_effettuata.asp?amt=" & item
end if
else
response.redirect "../ricarica_error.asp"
end if%>
Da quel ke ho capito questo file ke vi ho postato dovrebbe comunicare con il database ma ciò non avviene; cioè nel database non si memorizzano le informazioni di ricarico crediti;
P.S. il mio database è in Access
vi prego AIUTO!!!!!!!!!!!!!!!!!!x
-
Dovresti capire cosa c'è che non va nello script, qual'è la aprte che crea l'errore, provato a fare un debug, facendo visualizzare tutti i valori passati da querystring e ripresi dal database?
-
@cali1981 said:
Dovresti capire cosa c'è che non va nello script, qual'è la aprte che crea l'errore, provato a fare un debug, facendo visualizzare tutti i valori passati da querystring e ripresi dal database?
No, mi sapresti dire come si fa; sono un pò inesperto in materia. ti ringrazio saluti
-
Se sei inesperto non credo sia il caso programmare un sito che gestisce soldi, e potebzialemnte molti. A parte questo, per visualizzare il valore di una variabile devi usare response.write(variabile). Ovviamente poi devi disabilitare il response.redirect altrimenti non vedi cosa è uscito.
-
ancora non capisco!!!:x se per favore mi aiuti a capire in quanto sn ignorante in materia
-
Hai usato l'istruzione response.write?
nel codice sopra togli l'ultima parte,sz_sql="insert into ricariche (id_utente,ricarica,data,tx) values(" & session("id_utente") & "," & item & ",'" & now() & "','" & tx &"')"
cn.execute sz_sql
response.redirect "../ricarica_effettuata.asp?amt=" & item
else
response.redirect "../ricarica_effettuata.asp?amt=" & item
end if
else
response.redirect "../ricarica_error.asp"
end ifche fa il redirect e metti all'inizio response.write(item) e gli altri per vedere i valori passati.
-
, io ho fatto questo, non so bene se è giusto ( ripeto sono un pò ignorante in materia )
Cmq dopo ke faccio questa sostituzione ke devo fare? devo caricare il file nel sito? come faccio a vedere in pratica se ci sono errori? grz
sz_sql="insert into ricariche (id_utente,ricarica,data,tx) values(" & session("id_utente") & "," & item & ",'" & now() & "','" & tx &"')"
cn.execute sz_sql
response.write(item) & item
else
response.write(item) & item
end if
else
response.write(item)
end if%>
-
Certo, fatto questo devi caricarlo del sito e fare la procedura che faresti per la ricarica, senò finora come hai fatto a fare i test?
-
Ok, l'ho fatto ma niente. ho caricato il file con le modifiche nel sito, ho provato a caricare dei soldi e di nuovo lo stesso problema, cioè i soldi li ricevo ma nel database non si memorizza niente!!
-
ma la pagina cosa fa vedere? Ovviamente quello non ha risolto niente, serviva solo per vedere i valori delle varie variabili per capire cosa ci fosse che non andava.
-
no ti spiego. questo file asp. non spunta nel sito ma serve per collegare le ricariche al database. il file ke spunta sul sito è un'altro se vuoi te lo mando, ma non penso c'entri niente con il malfunzionamento... o si?!
-
il codice , relativo alle ricariche, del file ke spunta nel sito è questo ( ho messo solo i codici relativi alla ricarica di 10 euro):
<form action="htt://ww.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="[email protected]">
<input type="hidden" name="item_name" value="Ricarica 10 euro">
<input type="hidden" name="item_number" value="10">
<input type="hidden" name="amount" value="10.00">
<input type="hidden" name="no_shipping" value="0">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="lc" value="IT">
<input type="hidden" name="bn" value="PP-BuyNowBF">
<input type="hidden" name="payer_id" value="9">
Ricarica da <b>10 euro</b> (10 crediti più 5 in omaggio)
<input type="image" src="htts://ww.paypal.com/it_IT/IT/i/btn/btn_buynow_SM.gif" border="0" name="submit" alt="Effettua i tuoi pagamenti con PayPal. un sistema rapido, gratuito e sicuro.">
<img alt="" border="0" src="htts://ww.paypal.com/it_IT/i/scr/pixel.gif" width="1" height="1">
</form>
-
Questo file serve per collegarti a paypal, invece quel file che facevi vedere come lo richiami?
-
No quello ke facevo vedere prima non compare sul sito
-
Ho capito che non compare, ma dovrai mettercelo no? Come pensi di richiamarlo una votla messo nel sito? Come fai il debug? In ogni caso puoi richiamrlo semplicemente con nomefile.asp?item=123&... eccc
-
ah scusa. per richiamarlo così: .../moduli/esegui_ricarica.asp
-
Aspetta, quel codice dentro ha delle cose tipo count = request.querystring('count') Ok? Sai cos'è la querystring? Sono quei parametri passati nell'url, tipo richiesta.asp?count=1, quando esegue quella operazione nella variabile count ci sarà 1. Ora, per testarlo devi richiamare quella pagina passando parametri simili a quelli che verrebbero passati dalla procedura di pagamento online, e controllare i valori che scrive. Così vedi dove non funziona e correggi eventuali inesattezze.
-
ok ci sono. ho fatto quello ke mi hai detto ho visto dove stava l'errore. mi è spuntata questa scritta:
*Server.MapPath() error 'ASP 0175 : 80004005' *
*Disallowed Path Characters *
*/moduli/esegui_ricarica.asp, line 2 *
The '..' characters are not allowed in the Path parameter for the MapPath method.e cioè, a quanto ho capito, l'errore sta nella seconda linea del file, precisamente si devono togiere questi due punti : '..'
dopo aver capito l'errore ho fatto questo: ho corretto l'errore, ho caricato nuovamente il file "esegui_ricarica.asp" corretto sul sito e ho provato a fare una prova se funzionasse. ma il risultato è ke ancora non si memorizza niente sul database!!!!!:():. io i soldi li ricevo sempre ma nel database niente!perchè????!!!!!
-
Beh non è che basta toglierli, devi vedere dove sta quel file e dargli l'url giusto, relativamente alla root del sito.
-
Potresti spiegarti meglio. devo cioè vedere dalla root del sito dove sta il file, e in base a quello dargli l'URL giusto?
cioè l'url sarebbe questo ww.nomesito.com/moduli/esegui_ricarica.asp ???
no?o ho capito male?
se è così il file è messo bene