• User

    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 then

    select 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 +1200

    end 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 if

    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 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


  • Super User

    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?


  • User

    @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


  • Super User

    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.


  • User

    ancora non capisco!!!:x se per favore mi aiuti a capire in quanto sn ignorante in materia


  • Super User

    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 if

    che fa il redirect e metti all'inizio response.write(item) e gli altri per vedere i valori passati.


  • User

    , 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

    %>


  • Super User

    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?


  • User

    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!! 😞


  • Super User

    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.


  • User

    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?!


  • User

    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>


  • Super User

    Questo file serve per collegarti a paypal, invece quel file che facevi vedere come lo richiami?


  • User

    No quello ke facevo vedere prima non compare sul sito


  • Super User

    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


  • User

    ah scusa. per richiamarlo così: .../moduli/esegui_ricarica.asp


  • Super User

    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.


  • User

    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è????!!!!!😢


  • Super User

    Beh non è che basta toglierli, devi vedere dove sta quel file e dargli l'url giusto, relativamente alla root del sito.


  • User

    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