• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Utilizzare le API di PayPal per pagamenti automatici online!

Syncro

Utente Esperto
Autore del topic
8 Settembre 2010
1.250
22
Miglior risposta
0
PayPal_Developer.jpeg


A cosa serve questa guida?
Ciao. Sto scrivendo questa guida perché noto sempre più spesso persone che aprono un servizio online e trovano difficoltà a gestire i pagamenti. Dai retroserver Habbo ai classici server Minecraft, SA-MP o altro ancora. Si tratta di servizi che offrono la possibilità di donare per ricevere dei premi. Un classico giocatore dopo aver donato deve inviare al founder/amministratore dei screenshot, o un semplice messaggio. In seguito, il gestore deve controllare il pagamento e infine assegnare il premio al donatore.. Che giro lungo! Per questo arrivano le API di PayPal, che con PHP permettono di controllare i pagamenti online, in questo modo le persone potranno pagare sul tuo sito e via codice potrai capire quando un pagamento è stato effettuato, chi l'ha effettuato e quando l'ha effettuato, inoltre tutto ciò potrai salvarlo in un apposito database!

Requisiti principali
- Possedere uno spazio web online, che possa quindi essere contattato dai server di PayPal.
- Avere un account Business verificato su PayPal.

Il metodo utilizzato
Il metodo utilizzato fa uso di un IPN Listener, ovvero uno script inserito in una pagina del vostro sito, questa pagina verrà contattata da PayPal quando un utente ha effettuato un pagamento, e di conseguenza con questo script sarà possibile effettuare varie azioni automatiche, ad esempio dare dei crediti all'utente impostandone il valore nel database. L'acronimo IPN sta per Instant Payment Notification, ovvero notifica istantanea di pagamento.

Creazione del Form per il pagamento
Il form per il pagamento lo realizziamo in HTML e sarà composto dal seguente codice:
HTML:
Perfavore, Entra oppure Registrati per vedere i codici!
Vi spiego subito cosa sono quelli input. Ogni input rappresenta una variabile POST che verrà mandata al server di PayPal (all'indirizzo messo nel tag form). Il valore type è impostato su "hidden" perché questi input saranno invisibili all'utente e non dovranno trattare dati sensibili, nel caso ci fosse la necessita di inserire dati particolari negli input è possibile utilizzare PayPal per proteggere dalla manomissione questo codice. Il primo valore indica il tipo di pagamento (donazione, acquisto, etc) ed è _xclick, mentre il secondo valore indica la mail dove dovrà arrivare il pagamento.

Altri tipi di pagamento sono:
- Compra subito - <INPUT TYPE="hidden" name="cmd" value="_xclick">
- Aggiungi al carrello - <INPUT TYPE="hidden" name="cmd" value="_cart">
- Buy Gift Certificate - <INPUT TYPE="hidden" name="cmd" value="_oe-gift-certificate">
- Subscribe - <INPUT TYPE="hidden" name="cmd" value="_xclick-subscriptions">
- Automatic Billing - <INPUT TYPE="hidden" name="cmd" value="_xclick-auto-billing">
- Installment Plan - <INPUT TYPE="hidden" name="cmd" value="_xclick-payment-plan">
- Donate - <INPUT TYPE="hidden" name="cmd" value="_donations">

Le variabili che potete inserire come input sono tantissime e vi serviranno nell'IPN Listener, queste variabili verranno spedite a PayPal durante il pagamento, subito dopo (questione di istanti) PayPal le rispedirà al vostro IPN Listener, ed è da li che voi potrete riprendere i valori e sfruttarli per dare dei pregi all'utente che ha pagato, oppure registrare il pagamento.
Perfavore, Entra oppure Registrati per vedere i Link!


Realizzazione dell'IPN Listener
Il codice del IPN Listener è semplice in sostanza, proprio perché viene fornito direttamente da PayPal. L'ultima parte del codice, dove vengono estrapolate le variabili POST, è ritoccabile, con ciò non intendo che diventerete hacker russi e fregherete i soldi a PayPal, ma semplicemente potrete sfruttare le variabili che PayPal vi manderà per, come detto prima, registrare il pagamento nel vostro sito.
In questo spoiler potrete trovare il codice di cui necessiterete (PHP) per l'IPN Listener.
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Come potete ben vedere, ci ritroviamo in mano variabili come $payer_email, $payment_amount, e molte altre, che nel nostro lavoro sono utilissime, ma attenzione! Queste sono le variabili spedite da PayPal, inoltre ci arriveranno delle variabili che noi stessi avevamo impostato nel codice HTML (form per il pagamento). Un esempio di tutto ciò potrebbe essere la variabile CUSTOM. Questo valore è utilissimo!
Nel nostro caso non abbiamo l'ID dell'utente pagante, non sappiamo chi ha pagato, che ID ha nel nostro database il pagante? Grazie al campo CUSTOM possiamo saperlo!

Nel form per il pagamento inseriamo:
HTML:
Perfavore, Entra oppure Registrati per vedere i codici!
E nel IPN Listener riprendiamo il valore messo nel campo "input" grazie a questo codice:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Una volta realizzato il tutto non dimentichiamo di loggare su PayPal con il nostro account Business e inserire il link sul quale è possibile collegarsi all'IPN Listener nelle impostazioni dell'account, ma prima di tutto ciò vi conviene fare dei test con l'IPN Simulator messo a disposizione da PayPal for Developers.

Spero che la guida vi sia piaciuta. Se avete bisogno di particolare aiuto rispondete a questo Topic.
 
Ultima modifica:
Salve grazie per la guida , esiste però un metodo per permettere ad un azienda (che deve pagare mokta gente) di eseguire il pagamento in automatico senza eseguire il login di paypal ( oppure facendolo sottotraccia).
 
Ultima modifica: