Ricevuta pagamento Paypal: Come gestire la url di esito acquisto di PayPal

Ecco come gestire la ricevuta di conferma acquisto di PayPal, utilizzando il metodo GET, che ricordo va abilitata nelle impostazioni dell’account PayPal indicando la URL di risposta ad esempio: https://www.tuosito/ricevuta/ricevuta.php.

PayPal dopo ogni acquisto genera una URL di risposta aggiungendo dopo la URL indicata alcune variabili da catturare e gestire che vediamo tra poco.


Attenzione questa soluzione è semplice, immediata e non richiede particolari conoscenze di programmazione, ma utilizzando il metodo GET per passare le variabili, queste possono essere facilmente catturate e modificate falsificando gli esiti. E’ una soluzione rapida per chi non ha grossi volumi d’acquisto, dove è possibile fare controlli effettivi sull’incasso realmente avvenuto sull’account PayPal. Per chi ha la necessità invece di avere maggiore sicurezza, PayPal prevede un altro metodo più complesso dove i dati sono inviati in modo crittografato con metodo POST.

I dati relativi all’esito della ricevuta acquisto inviata da PayPal ci consentono di poter gestire la fase successiva all’acquisto, ad esempio inviando una email personalizzata dal nostro sito web per confermare o meno l’acquisto, inserire i dati di avvenuto pagamento nel nostro database per consentire la successiva erogazione del servizio o del prodotto da spedire o eventualmente annullare l’ordine per mancato pagamento, memorizzandone il motivo.

Analizziamo la URL inviata da PayPal i cui cambi sono presenti come variabile GET:

Url che consiglio: https://www.tuosito/ricevuta/ricevuta.php

Conviene crearvi una cartella all’interno del vostro sito web che contenga i file necessari per gestire la ricevuta invita da PayPal. Nel mio caso ho creato un file ricevuta.php che contiene il codice php necessario per catturare le variabili.

I campi inviati da PayPal sono come quelli di seguito:

?st=Completed&tx=codice_transazione&cc=EUR&amt=1.00&cm=131&payer_email=info%40emai_delcliente.it&payer_id=codice_player&payer_status=VERIFIED&first_name=Mario&last_name=Rossi&txn_id=codice_transazione&mc_currency=EUR&mc_fee=0.38&mc_gross=1.00&protection_eligibility=ELIGIBLE&payment_fee=0.38&payment_gross=1.00&payment_status=Completed&payment_type=instant&handling_amount=0.00&shipping=0.00&item_name=codice_prodotto&quantity=1&txn_type=web_accept&payment_date=2022-03-29T20%3A52%3A34Z&business=account%40email_esercente.it&receiver_id=codice_ricevuta&notify_version=UNVERSIONED&custom=131&verify_sign=Codice_trasmissione_dati

VARIABILI RELATIVE ALLA TRANSAZIONE:

Queste variabili sono utili per gestire internamente lo stato della transizione, non sono invece utili da riferire al cliente


st=$_GET[st]
tx=$_GET[tx]
payer_status=$_GET[payer_status]
mc_currency=$_GET[mc_currency]
mc_fee=$_GET[mc_fee]
mc_gross=$_GET[mc_gross]
protection_eligibility=$_GET[protection_eligibility]
payment_fee=$_GET[payment_fee]
payment_gross=$_GET[payment_gross]
payment_status=$_GET[payment_status]
payment_type=$_GET[payment_type]
handling_amount=$_GET[handling_amount]
shipping=$_GET[shipping]
txn_type=$_GET[txn_type]
business=$_GET[business]
notify_version=$_GET[notify_version]
custom=$_GET[custom]
verify_sign=$_GET[verify_sign]

RICEVUTA UTENTE
Questo dati invece sono utili per gestire email di risposta sull’avvenuto acquisto o meno verso il cliente:

cc=$_GET[cc]
amt=$_GET[amt]
txn_id=$_GET[txn_id]
payer_id=$_GET[payer_id]
cm=$_GET[cm]
payer_email=$_GET[payer_email]
first_name=$_GET[first_name]
last_name=$_GET[last_name]
item_name=$_GET[item_name]
quantity=$_GET[quantity]
payment_date=$_GET[payment_date]
receiver_id=$_GET[receiver_id]

Potete copiare e incollare queste variabili in un file php e simulare l’esito utilizzando l’url di seguito, ovviamente modificando i parametri.
Dal codice PHP potete gestire i vari messaggi in funzione dell’esito (Il suo acquisto è andato a buon fine, ecc…) o evitare che una stessa transazione possa essere catturata, modificata e riproposta più volte.

https://www.tuosito/ricevuta/ricevuta.php?st=Completed&tx=codice_transazione&cc=EUR&amt=1.00&cm=131&payer_email=info%40emai_delcliente.it&payer_id=codice_player&payer_status=VERIFIED&first_name=Mario&last_name=Rossi&txn_id=codice_transazione&mc_currency=EUR&mc_fee=0.38&mc_gross=1.00&protection_eligibility=ELIGIBLE&payment_fee=0.38&payment_gross=1.00&payment_status=Completed&payment_type=instant&handling_amount=0.00&shipping=0.00&item_name=codice_prodotto&quantity=1&txn_type=web_accept&payment_date=2022-03-29T20%3A52%3A34Z&business=account%40email_esercente.it&receiver_id=codice_ricevuta&notify_version=UNVERSIONED&custom=131&verify_sign=Codice_trasmissione_dati

Felice Balsamo

Classe '75, si dedica alla sua passione di sempre, l’informatica. Inizia la sua attività nel 1998 gestendo un internet provider configurando router CISCO e Modem 33,6 Kbit/s. Dal 2001 si dedica alla realizzazione di servizi web,SOAP,WSDL, DTT (Digitale Terrestre), protocollo MHP per servizi interattivi del digitale terrestre. Dal 2006 cura e gestisce CMS ottimizzati per le attività SEO, si occupa di comunicazione web per aziende e campagne politiche. Dal 2008 al 2012 è Consigliere Nazionale di Assoprovider (www.assoprovider.net), carica ricoperta per 2 mandati consecutivi fino al Maggio 2012. Da Luglio 2011 affianca le attività di comunicazione, informatizzazione, razionalizzazione delle risorse economiche e contrasto all'evasione per il Comune di Napoli curando la delega all'informatizzazione. Seguimi sul mio profilo Facebook: https://www.facebook.com/balsamofelice

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.