- Home
- Categorie
- Coding e Sistemistica
- Help Center: consigli per il tuo progetto
- protocollo pagina dopo pagamento paypal
-
protocollo pagina dopo pagamento paypal
Sto implementando un pagamento payapl su un nuovo sito e nella personalizzazione del bottone di pagamento paypal vorrei specificare la pagina a cui reindirizzare il cliente.
Vedo che paypal mi suggerisce un indirizzo del tipo https ma è realmente necessario usare un protoccollo sicuro? non va bene una pagina http?
Dopotutto io non mostro in alcun modo i dati 'finanziari' del cliente.
Voi come fate?
Anche un'altra domanda...nel momento in cui paypal mi rimanda il cliente sulla mia pagina di conferma ordine posso considerare la transazione chiusa regolarmente, quindi per capirci sono strasicura che il pagamento è andato a buon fine? o devo aspettare l'email di conferma di Paypal?
Grazie
-
Ciao arcobaleno,
il motivo per cui è preferibile il protocollo https non è da ricercarsi nel rapporto tra il tuo e-commerce e il tuo cliente bensì semplicemente dal lato del cliente.Costui deve inserire i dati della propria carta di credito oltre a fornire altri dati relativi alla transazione (indirizzo di consegna, partita iva, ecc. ecc.).
Se qualcuno, ma non tu, sta effettuando una cattura dei pacchetti sulla rete in cui è collegato il tuo cliente (la sua adsl ad esempio), tecnicamente sta facendo una cattura dei pacchetti (snirfing), in un trasferimento http legge tutto, in uno https no (o meglio la difficoltà per leggerli, oggi, è tale per cui è antieconomico farlo e si riuscirebbe dopo un periodo di tempo per cui i dati carpiti non sarebbe più utili).Quindi, facendo passare tutto su https, tu stai offrendo un servizio al cliente per proteggere la sua connessione da intercettazioni e possibili frodi
Inoltre, la maggior parte delle persone associa https ad un rapporto più sicuro (anche grazie alle campagne di sensibilizzazione), quindi anche a livello psicologico fornisci più tranquillità contro eventuali truffe.Per l'ultima domanda, io aspetterei l'e-mail di conferma di Paypal.
Valerio Notarfrancesco
-
Ok,
forse per una questione 'psicologica' per cui l'utente si sente più protetto hai ragione tu, è meglio mettere una pagina con protocollo httpsMa nel caso di Paypal comunque, non vengono mandate in rete informazioni relative alla carta di credito, per cui in ogno caso non sarebbero captabili, o sbaglio?
-
Ma l'utente deve digitare la password del suo account Paypal, quindi se la inserisci in una transazione in chiaro, lo snirfer malintenzionato la cattura e la usa per entrare direttamente nell'account Paypal!
Valerio Notarfrancesco
-
Ok grazie.
Penso che tu abbia ragione!
-
@arcobaleno said:
Anche un'altra domanda...nel momento in cui paypal mi rimanda il cliente sulla mia pagina di conferma ordine posso considerare la transazione chiusa regolarmente, quindi per capirci sono strasicura che il pagamento è andato a buon fine? o devo aspettare l'email di conferma di Paypal?
Grazie
No, non puoi.Devi aspettare una sorta di pingback che paypal ti rimanda appena il pagamento viene confermato: si chiama IPN.Una volta che hai ricevuto questa conferma su una tua pagina php a scelta allora potrai per esempio inviare l'email contenente l'ebook, inviare la password per l'area protetta ecc..
nella thank you page limitati a ringraziare per l'acquisto e informare l'utente che il servizio fornito gli verrà ricapitato al più presto via email.
-
Ho chiesto a Paypal come reindirizzare il cliente su una mia pagina di 'grazie' e la risposta è stata che devo specificarlo sia sulla personalizzazione del bottone che nel mio profilo. Questo vuol dire che se ho un altro sito web che utilizza paypal devo aprire un altro conto altrimenti andrebbero entrambi sulla stessa pagina di grazie (del sito1). Ma è la prassi questa?
Ma come si implementa la gestione dell'IPN?
Ho cercato sul sito di Paypal ma non riesco a capire.
Dopo il form con il mio bottone 'paga adesso', in una pagina php, come vado avanti?grazie
-
...sempre io.
Cerco di spiegarmi meglio...altrimenti è anche difficile aiutarmi.
Io ora ho un form di questo tipo:
<form id="paga-paypal" action="h t t p s://w w w .paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="hidden" name="hosted_button_id" value="YBARZ91RLEH4R"> <input type="submit" class="medium button red" border="0" name="submit" value="Paga con Paypal" > <img alt="" border="0" src="h t t p s://w w w .paypal.com/it_IT/i/scr/pixel.gif" width="1" height="1"> </form>
Se non ho capito male dovrei aggiungere due righe del tipo:
<input type="hidden" name="return" value="h t t p:// w w w.miosito.it/grazie.php"> <input type="hidden" name="notify_url" value="h t t p:// w w w.miosito.it/paypal.php">
E' giusto fino a qui?
La pagina paypal.php dovrebbe essere quella che trovo all'indirizzo:
h t t p s://w w w .paypaltech.com/SG2/PHPfunctionalityparse.php
Giusto?
...e qui mi fermo, dove e come verifico l'esito andato a buon fine?
(non utilizzo database)
Grazie.
-
Trovi un esempio della pagina paypal.php qui
Se il pagamento è andato a buon fine lo verifichi qui, ma non è una pagina che verrà vista dall'utente bensì una pagina che verrà visitata dal bot di paypal per confermarti l'esito della transazione.
Devi implementare tutti quei controlli presenti nei commenti, tutte le variabili da controllare tipo payment_status a cui fa riferimento nel link ti vengono passate tramite post, quindi fai una cosa del genere dentro il check per VERIFIED$payment_status = $x['payment_status']; if ($payment_status == 'Completed') { /* check per controllare che il txn_id non è già stato usato , check sul prezzo ecc*/ }
Il txn_id è un codice univoco del pagamento, se tutto è andato a buon fine memorizzalo per poi confrontarlo con le successive transazioni per verificare che non sia mai stato usato.Fai sempre il controllo sul prezzo visto che si può cambiare facilmente dal form, una volta hanno tentato di pagarmi 1 cent.
-
Quindi mi serve un database?
Scusa la domanda banale ma posso aggiungere solo:
<input type="hidden" name="return" value="h t t p:// w w w.miosito.it/grazie.php">e fare tornare il cliente in automatico alla mia pagina di grazie?
-
@arcobaleno said:
Quindi mi serve un database?
Scusa la domanda banale ma posso aggiungere solo:
<input type="hidden" name="return" value="h t t p:// w w w.miosito.it/grazie.php">e fare tornare il cliente in automatico alla mia pagina di grazie?
Un database o comunque puoi memorizzarli in un file di testo.
Per la seconda domanda si, puoi farlo tornare direttamente alla pagina grazie.php ma non ti affidare a quella per recapitare il "prodotto" perchè chiunque la può visualizzare.;)
-
Si, mi rendo conto che è poco "sicuro" per quello che riguarda la certezza del pagamento ma nel mio caso io devo fornire un 'servizio' a seguito del pagamento avvenuto ed è specificato sul sito che il servizio parte alla verifica dell' incasso.
Un'ultima domanda:
la specifica
<input type="hidden" name="return" value="h t t p:// w w w.miosito.it/grazie.php">
la posso mettere direttamente nel codice del form o lo devo specificare anche nel mio profilo paypal ?
-
No il codice lo devi inserire solo nel form, comunque fatta così la cosa non è poco sicura, è proprio aperta a tutti, basta che guardano nel codice qual è la pagina di ringraziamento oppure uno paga e poi condivide la pagina su facebook per esempio.:bho:
-
Si lo so è un po' bruttino ma io non consegno niente (il servizio che vendo è la personalizzazione di un sito) se non ho ricevuto il pagamento, quindi non rischio niente o sbaglio?
L'unica cosa 'poco elegante' che può succedere è che io 'ringrazio dell'ordine' e poi il cliente annulla il pagamento, ma anche in questo caso se non ho ricevuto niente non consegno niente.
La pagina di grazie è visibile solo se ci sono delle variabili di sessione impostate e poi anche se uno la vedesse cosa potrebbe fare?
Sto dimenticando qualcosa?
-
Ah ok in questo caso va bene così.Dopo il pagamento l'utente viene rimandato alla pagina grazie.php insieme a delle variabili $_POST quindi potresti fare un minimo di controllo su queste, se non sono impostate rimandi alla index.
Per vedere quali variabili $_POST vengono inviate puoi fare il debug tramite Paypal Sandbox: in breve crei un account buyer e seller fake su https://developer.paypal.com/ e invii i pagamenti a www.sandbox.paypal.com/ (cioè l'action del form è www.sandbox.paypal.com/.
Fai qualche pagamento finto e vieni rimandato a grazie.php dove puoi stampare tutte le info inviate da paypal con<?php print_r($_POST); ?>
-
Grazie mille...mi sembra un ottimo suggerimento...ora ci provo