Over the last few months I’ve received a surprising number of requests that involve integrations with Paypal, especially integrations between Joomla/Virtuemart and Paypal.
For the most part, Paypal integrations tend to be fairly easy to configure. The fraud department at Paypal, however, recently made our lives more difficult by tightening up the fraud prevention rules so that a single login from a ‘prohibited’ country causes the entire account to immediately go into a restricted mode. Once the account is restricted, transactions are limited and the account owner has to go through a painful series of validations which sometimes include waiting for a PIN to be delivered via postal mail.
Fortunately, we stumbled into this problem while working on our company website rather than a client site. Our team that handles Joomla/Paypal work is based in Romania – a restricted country according to Paypal. Although we’ve never had a problem in the past, a single login from Romania caused our entire Paypal integration to become crippled. To make matters worse, we have a 6-week backlog of Paypal related work that needs to get into production immediately, and we couldn’t risk causing a client’s account to be spontaneously restricted.
How could our Romania-based team log into the Paypal developer network and process test transactions, etc. when their country’s entire IP range is banned? If ever there was a classic example of the relationship between offshore development and Murphy’s law, this was it!
After much deliberation, we signed up for the cheapest Windows 2003 VPS we could find, created guest accounts for the developers, and asked them to use that server for all Paypal related activities. The developers use Remote Desktop to establish a session on the VPS, then simply launch a browser and log into Paypal from there. Paypal sees a domestic IP, and everyone is happy. The VPS is rock-bottom because it doesn’t actually serve a single www/ftp site, and can be leased for under $30/month.
At first, I was unhappy about having to pay $30/month simply to use a browser with a non-banned IP address. Much to my surprise, the Windows VPS was about to become incredibly handy.
While testing the server I had realized that the remote desktop scheme might be very useful in situations where I was on a slow connection and needed to perform bandwidth-intensive tasks such as backing up a site via ftp or updating a long series of Joomla sites. A Remote Desktop session doesn’t require much bandwidth, and will continue running even if the user is disconnected – a big advantage when operating over a mobile phone connection. Since I was about to go on the road for a few weeks, I decided to install Outlook, Office, and a full suite of web development tools to the VPS and use it as my remote office while I’m abroad.
A few days later, as we were making our way from California to Bangkok, a massive earthquake hit Taiwan. I soon learned that the undersea fiber network that provides most of the connectivity for Thailand had been affected and most connectivity had been lost. Even our satellite connection had slowed to about 56k.
Suddenly that $30/month seemed like a good deal. While others sat frustrated as spam and large attachments caused their e-mail clients to time-out, I established a stripped-down (640×480 + 256 color) session to my Windows server and was able to operate at full speed. Since I was only viewing the desktop rather than actually downloading mail, no amount of spam or attachments slowed me down and I was able to push on with business as usual.
In the offshore development business, a successful company always leaves lots of room for this kind of thing to happen. It’s important to be open-minded and creative in identifying workarounds when problems do arise, and always look for the opportunity to learn something or otherwise benefit from the obstacles along the way.
Our connection is still painfully slow, but I’m able to post this blog entry without too much trouble and I’m thinking of new ways to take advantage of this Windows VPS all the time. I’m reminded that even under the best circumstances, web development (and especially offshore development) is complex and problem-prone and each obstacle can lead to a more elegant long-term solution in the end.
I hope that everyone has an enjoyable New Year’s celebration, and I look forward to a successful and happy 2007 for all of us! Happy New Year!