• 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