Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Integrazione Paypal

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371

    Integrazione Paypal

    Salve qualcuno di voi si è gia imbattuto in questo problema spero....
    ma non ho trovato nulla di che on line
    bene comincio a spigarvi
    ho realizzato la classica pagina di pagamento a paypal
    'recupero alcuni dati dell'utente
    SQLut = "SELECT * FROM utenti WHERE ID = '"& Session("IDUser") &"' "
    Set RSut = Conn.Execute(SQLut)
    'calcolo l'importo totale da pagare
    PayPalC = Replace(Replace(Request.Form("imp_Vers")+(Request. Form("imp_Vers")*CommPagamento/100), ",", "."), "'", "''", 1, -1, 1)
    %>
    *********QUI ho la mia bella pagina che mi manda a pay pal ********
    automaticamente mi indirizza ho provato con l'annullamento transazione e mi torna correttamente alla pagina di errore.....
    ma il problema è un'altro quando la transazione è confermata che variabili tornano nella pagina
    di paypalok???
    ///////*****a me basterebbe l'id del cliente e l'importo della transazione*****\\\\\\\
    ------------come posso fare -----------
    <body>
    <form id="ID_PayPal" name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" id="pp_cmd" name="cmd" value="_xclick"/>

    <input type="hidden" id="pp_business" name="business" value="MIOINDIRIZZOPAYPAL"/>

    <input type="hidden" id="pp_item_name" name="item_name" value="ordine n°10"/>

    <input type="hidden" id="pp_currency_code" name="currency_code" value="EUR"/>

    <input type="hidden" id="no_shipping" name="no_shipping" value="1"/>

    <input type="hidden" id="no_note" name="no_note" value="1"/>

    <input type="hidden" id="lc" name="lc" value="IT">

    <input type="hidden" id="page_style" name="page_style" value="<%=PayPalStile%>"/>

    <input type="hidden" id="on1" name="on1" value="<%=RSut("id")%>"/>

    <input type="hidden" id="return" name="return" value="<%=UrlEcom%>PayPal_OK.asp?URL=<%=URL%>"/>

    <input type="hidden" id="cancel_return" name="cancel_return" value="<%=UrlEcom%>PayPal_KO.asp?URL=<%=URL%>"/>

    <input type="hidden" id="pp_amount" name="amount" value="<%=PayPalC%>"/>
    <input type="hidden" id="country" name="country" value="IT"/>

    <input type="hidden" id="rm" name="rm" value="2"/>
    </form>
    <script>
    document.forms["_xclick"].submit();
    </script>
    </body>

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    posso memorizzarli in una sessione e poi distruggerli nel momento in cui ho l'ok???
    o ci sono altre soluzioni come il ritorno di variabili da paypal che credo sia la soluzione migliore??
    Grazie

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    sto diventando pazzo......cosa sbaglio....
    tratto dal manuale paypal
    return = URL al quale il browser del cliente viene reindirizzato dopo l'esecuzione del pagamento, ad esempio un URL sul tuo sito web che ospita una pagina di
    ringraziamento. Se la variabile viene omessa, l'acquirente viene reindirizzato al sito web di PayPal.
    rm = Comportamento dell'URL di ritorno (metodo di ritorno) dopo il completamento del pagamento.
    Se la variabile viene omessa o impostata su 0, verrà utilizzato il metodo GET per
    tutte le transazioni tramite carrello nelle quali la funzionalità IPN non è abilitata
    e il metodo POST per tutte le altre transazioni.
    Se la variabile è impostata su 1, con return impostato, il browser del cliente
    viene reindirizzato all'URL di ritorno dal metodo GET e non viene inviata alcuna
    variabile delle transazioni.
    Se la variabile è impostata su 2, con return impostato, il browser del cliente
    viene reindirizzato all'URL di ritorno dal metodo POST, al quale vengono inviate
    anche tutte le variabili delle transazioni disponibili.


    percio visto che io ho impostato il return (mia pagina) e rm =2 dovrei trovarmi delle variabili che tornano indietro dal sito paypal dopo il pagamento........
    il pagamento lo effettua, alla pagina descritta torna ma di variabili neanche l'ombra....


  4. #4
    Originariamente inviato da max1974
    ....percio visto che io ho impostato il return (mia pagina) e rm =2 dovrei trovarmi delle variabili che tornano indietro dal sito paypal dopo il pagamento........
    il pagamento lo effettua, alla pagina descritta torna ma di variabili neanche l'ombra....

    Ciao,
    in effetti le spiegazioni di Pay Pal non sono il massimo della chiarezza, comunque nella pagina PayPal_OK.asp puoi recuperare tutti i valori di ritorno che paypal ti invia in POST, per averne un elenco metti queste righe dove inizia il codice asp (nella pagina originale circa alla 38):
    codice:
    For numeroCampi = 1 To (Request.QueryString.Count())
    	If Not Request.QueryString(numeroCampi) = "" Then
    		corpoMessaggio = corpoMessaggio & vbCrLf & Request.QueryString.Key(numeroCampi) & " = " & Trim(Request.QueryString(numeroCampi))
    	End If
    Next
    
    For numeroCampi = 1 To (Request.Form.Count())
    	If Not Request.Form(numeroCampi) = "" Then
    		corpoMessaggio = corpoMessaggio & vbCrLf & Request.Form.Key(numeroCampi) & " = " & Trim(Request.Form(numeroCampi))
    	End If
    Next
    
    Response.Write("Elenco valori di ritorno:
    
    "&Replace(corpoMessaggio, chr(10), "
    "))
    response.end()
    puoi anche inviare a paypal il campo on2 contenente l'importo della transazione:
    codice:
    <input type="hidden" name="on2" value="<%=PayPalC%>">
    che recuperi nella pagina PayPal_OK.asp con: ImportoTransazione = Request.Form("option_name2") mentre l'ID Utente ti viene restituito con IdUtente = Request.Form("option_name1") (che invii nel campo on1).

    Ogni tanto però succede che paypal non ti invia qualche valore, probabilmente succede se il cliente dopo aver pagato non clicca sul pulsante "Torna allo shop..." ma viene reindirizzato dopo un tot di tempo da paypal alla pagina PayPal_OK.asp (credo... perchè ogni tanto qualche cliente me lo dice), io in questo caso ho messo un controllo sui campi ricevuti e se non esistono o sono vuoti rimando ad una pagina dove ho creato la copia della mail che invio al cliente come conferma dell'ordine...

    ciao, fulvio.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    grazie per la risposta Fulvio io al momento ho usato altra soluzione anche se la tua mi sembra piu interessante
    ho unito le 2 variabili che mi serrvivano
    enc=IDUser & "{~}" & importo %>

    Le assegno alla variabile Custom
    perche se non erro i campi on1 on2 ..... sono visibili al cliente
    mentre la Custom no

    <input type="hidden" id="custom" name="custom" value="<%=enc%>"/>

    poi nella pagina di ritorno splitto le 2 variabili

    ArrEnc = Split(Request.Form("custom"), "{~}")
    e cosi funziona.......

    ma per la sicurezza come la vedi a me non pare troppo sicuro ???

    poi per quanto riguarda il discorso del ritorno alla pag paypal_ok visto che io aggiorno il mio db con il pagamento effettuato solo dopo il ritorno a questa pagina se l'utente non torna come faccio ad aggiornare il db... non esiste un modo per farlo tornre automaticamente.....il tuo discorso ritorno alla copia email non mi è molto chiaro...spiegati meglio....cosa è consigliabile fare??

  6. #6
    Ciao Max,

    intanto devo correggere un errorino, il campo "on0" lo recuperi con Request.Form("option_name1") mentre il campo "on1" con Request.Form("option_name2").

    questi due campi sono quelli che mette a disposizione pay pal per avere indietro dei valori, però non ti so dire se il cliente li vede, sicuramente non in query string perchè ti vengono passati in POST.

    in paypal_OK anche a me si aggiorna in automatico l'ordine a pagato se paypal mi passa i valori, però nel pannello di admin in Gestione ordini ho messo una checkbox che se flaggata indica l'ordine pagato, di solito ricevo la mail dell'ordine e subito dopo la conferma di paypal, quindi verifico subito, se la checkbox non è flaggata lo faccio io manualmente.

    il discorso della copia della mail online è semplice... a volte capita che alcuni server di posta (alive, virgilio, hotmail...) rifiutano la conferma dell'ordine considerandola spam probabilmente perchè vedono i link ai prodotti, quindi per non avere rotture con i clienti genero al volo (alla conclusione dell'ordine) una pagina online che è la copia esatta della mail di conferma dell'ordine e metto il link al cliente nella pagina dove comunico che l'ordine è andato a buon fine (sia con paypal che con altre forme di pagamento), se vuoi provare vai nel sito in firma (scegli bonifico o posta pay...), e specifica per favore nelle note che è un ordine di prova.

    ora se paypal non mi passa i valori per aggiornare l'ordine dovrei comunicare al cliente che ci sono stati dei problemi nel pagamento, per evitare questo se i valori che mi servono per aggiornare l'ordine sono vuoti verifico se almeno c'è l'URL di ritorno, se c'è reindirizzo direttamente il cliente alla copia online della mail di conferma dell'ordine e lui si tranquillizza, se proprio non trovo neanche l'URL comunico che ci sono stati dei problemi.

    comunque se provi a recuperare tutti i campi che ti passa paypal vedrai che sicuramente trovi già quelli che ti servono, mi sembra che siano "mc_gross" o "mc_fee" (o entrambi) per l'importo pagato, "item_name" e "transaction_subject" il numero dell'ordine, con questi risali all'ID utente.

    ciao, fulvio.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    ok grazie Fulvio Funziona benissimo........

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.