Most

Come debuggare Ubercart e Paypal restando in localhost

Come debuggare Ubercart e Paypal restando in localhost

Sono alle prime armi con Drupal 6.14/Ubercart2.0 e Paypal, o meglio non il primo e l’ultimo ma sicuramete il secondo. Mi accorgo (oggi non era giornata) che smanettando felicemente in localhost, posso passare i miei ordini al sito sandbox Paypal, ma ovviamente da li non si torna, perchè l’URL del mio sito non è conosciuto al di fuori dal mio file di hosts.

E chiaro che posso spostare tutto su un server, ma cosi perdo la possibilità di debugging. Quindi e lui (Paypal, o un qualunque altro servizio asincrono) che deve risolvere la mia macchina, non l’inverso.

Per essere preciso, hai ragione fino ad un Scarpe UGG Donna certo punto. Se io contato il servizio, il pacchetto (o pacchetti) di dati vengono mandati con il mio IP esterno, fornito dal mio ISP. Il servizio userà questo IP per mandare una risposta sincrono. Ma se invece il servizio risponderà in modo asyncrono, cioè più tardi, magari minuti o giorni più tardi, allora di solito il servizio richiede un URL alla quale mandare la risposta. Ed è questo il caso di Paypal, che manda un IPN ad un URL, Scarpe UGG Online quando (e se) l’utente paga per il prodotto, secondi, minuti o ore dopo che io (cioè il mio programma) ha fatto la richiesta a Paypal.

In questo caso, perchè la risposta arriva alla mia macchina (cioè al mio server Apache, poi a Drupal) dev’essere possibile convertire il dominio di quel URL in un IP, che corrisponde al mio router, che poi passa il pacchetto dati Scarpe Australiane UGG al mio server Apache.

Io credevo che per una macchina con IP dinamico (cioè quello del mio router IP esterno) non era possibile associare un nome di dominio, che ci vuoleva un IP statico. Ma (fortunatamente) non è cosi.

Se supponiamo che il mio IP esterno è (in questo preciso momento) 82.52.184.9 e ho fatto il port forwarding a 192.168.0.123:80, potrei usare l’URL http://82.52.184.9/risposta IPN da dare a Paypal. Oggi funzionerà, ma magari domani, quando riaccendo il PC e/o il router, avrò un IP esterno diverso, quindi non funzionerà più.

Quindi devo usare un servizio tipo DynaDNS o No IP per associare un nome di dominio ad un IP che cambia. A questo punto il rischio di non trovare la mia macchina si è ridotto notevolmente, perchè il servizio DNS viene informato del cambio di IP ogni tot minuti (da un daemone sul mio computer). Il rischio non è zero, ma molto, molto ridotto.

Un altro vantaggio è che uno dei miei progetti sarà sempre disponibile ‘dal’esterno’ quindi posso accendere il mio netbook sotto Windows per testare con IE6/7/8 per esempio.

Tutto quello che devo fare adesso e invocare l’incantesimo corretto per Ubuntu. La mia ricerca mi ha dato i seguenti frutti:E per curiosità:Adesso che ho finito di scrivere questo papiro, meterò tutto alla prova.