Usare le notifiche istantanee di pagamento Paypal (IPN) [2 di x]

Come già anticipato il listener è il codice deputato a comunicare con PayPal per ricevere le IPN, prima però di entrare nello specifico è opportuno elencare i passaggi che compongono la stuttura di questa comunicazione.

Il flusso di comunicazione

  1. Quando avviene un pagamento PayPal invia (se è stato attivato in tal senso) una prima chiamata all’url ove risiede il nosto listener.
  2. Il listener risponde, in modo che PayPal sappia che la risorsa esiste ed è accessibile (ovvero il suo accesso non è bloccato o limitato in qualche modo dal nostro server).
  3. A questo punto PayPal invia i dati relativi alla transazione sempre al medesimo url.
  4. Il listener deve quindi re-inviare gli stessi dati a PayPal, in questa maniera PayPal ‘sa’ che li abbiamo ricevuti tutti e correttamente.
  5. PayPal invia infine un responso al listener per informarlo che la comunicazione è avvenuta correttamente (o non correttamente, se qualcosa è andato storto)
  6. Il listener provvede  a chiudere la connessione con PayPal.

Anche se può sembrare un poco rindondante come flusso di comunicazione non dobbiamo dimenticare l’importanza che i valori passati hanno. Essere certi dell’orario di pagamento, dell’importo o dell’ID della transazione è un esigenza imprenscindibile perchè un sistema del genere sia di una qualche utilità.