…requires more than just good programming.

Tag Archives: ejunkie

I am been very happy using e-junkie as my payment processor for the last 4 years. I pay them a few dollars per month as a flat-fee and they provide an interface to PayPal, GoogleCheckout and 2Checkout (and others) plus additional features such as sending licence keys and handling coupon codes. It isn’t a fully fledged a registration service like Avangate, FastSpring or Plimus, but it has been adequate for my needs, has responsive customer support and is very cheap. In theory I could have written a load of scripts to do what e-junkie does, but re-inventing that wheel would be a lousy use of my valuable time.

I had been using e-junkie ‘Buy now’ buttons, but things were starting to get complicated with the branching of my single PerfectTablePlan product into three products: PerfectTablePlan Home Edition, PerfectTablePlan Advanced Edition and PerfectTablePlan Professional Edition. 3 products, each with and without a CD and available in 3 currencies is 18 purchase options, not including the choice of PayPal, GoogleCheckout and 2Checkout as processor. I also had additional options for upgrading version (e.g. v3->v4) and upgrading edition (e.g. Home->Professional). Doing all this through ‘buy now’ buttons was clearly going to be a mess.

I looked at the e-junkie shopping cart, but it had a number of shortcomings I couldn’t live with, most notably:

It always shows a coupon field. I don’t use coupons very often. A coupon field says to a customer without a coupon “Someone else getting this cheaper than you – sucker!”. There is a good chance that they will hit the back button and start searching for a coupon (I have done it myself). Maybe they will never come back. I only want the coupon field to appear if I give the user a particular URL, and I will only give that URL to customers who have coupon codes.

It always shows the ‘Buy with GoogleCheckout’ button – even if GoogleCheckout don’t do transactions in that currency. So a customer buying in US Dollars can click the ‘Buy with GoogleCheckout’ button, only to be told they can’t buy in dollars through GoogleCheckout. That is a very poor customer experience.

I investigated e-junkie ‘variants’, but these weren’t an adequate solution either. I was loathe to pay more for my payment processing. So I asked my good friend Paul Kossowski, an experienced Javascript programmer, to write me a payment form front-end to e-junkie. My basic requirements were:

Handle multiple products, options and currencies.

Show a running total depending on the product, number and options selected.

Default to a sensible currency, based on the customer’s location from the free maxmind.com geolocation service.

Mustn’t hang if the geolocation service is down.

Make it easy to change prices and product descriptions.

Make it easy to configure options, currencies etc (e.g. GoogleCheckout only allows me to charge in pounds sterling).

Make it easy to change the ‘look and feel’ of the form.

Only show a coupon field if passed an appropriate argument in the URL.

Allow me access to the Javascript source so I can make it call the appropriate e-junkie URL, pass cookies and make other tweaks.

I am very pleased with the results. Here is a screenshot (click to enlarge):

click to enlarge

You can play with test versions that link through to PayPal, GoogleCheckout and 2Checkout via e-junkie by clicking on the links below (I prefer you didn’t play with my live payment pages, thanks):

Note that some links are broken on these test pages, but the link to the ecommerce providers are live. So don’t type in your credit card number, unless you are feeling generous.

The HTML on these pages includes some simple Javascript that sets up some arrays with the various products, prices, currencies etc. This then calls a separate (obfuscated) .js file which does the real work. An example of the set-up code is shown below:

click to enlarge

The look and feel of the form is controlled by a .css file. The resulting form looks fairly trivial on the page, but the .js file actually runs to several hundred lines of Javascript and took a few days for Paul to write and test, partly because of all the configuration options.

I think Paul’s form + e-junkie makes for a very professional looking and flexible payment solution at a very low cost. If you are interested in having Paul customize the Javascript for use on your site you can email him at: paul (at) dolphinfutures (dot) com . Expect to pay for a day or more of his time at UK rates, depending on your requirements.

Most small software vendors don’t want all the hassle of taking payments direct from customers, so they use a third party registration service. Registration services provide payment processing plus additional services, including handling of:

licence key emails

coupon codes

affiliate payments

taxes

invoice sales

But these services don’t come cheap. According to this calculator some registration services charge as much as 15% commission on every £20/$40 sale. 15%! I find that quite staggering. 10% is more typical, but personally I don’t intend to give 10+% of my hard earned income to anyone, except my wife and the government. To add insult to injury some of these services also try to upsell questionable ‘offers’ to your customers. For example KAGI upsell a licence look-up service for which the software vendor gets a, frankly insulting, $1. I understand from reading the macsb forum that the upsell will be added automatically to the shopping carts of all software vendors selling downloads and will be checked by default. You then have to opt out if you don’t want it. Personally I think every software vendor should offer licence retrieval for free. And don’t even get me started on Digital River/SWREG and their Reservation Rewards ‘offer’.

PayPal and GoogleCheckout are much cheaper, with rates of approximately 3.4%[1] and 2.25%[2] respectively on a £20/$40 sale. But PayPal and GoogleCheckout are just payment processors and don’t provide all the additional services most software vendors need. They provide extensive APIs so you can ‘roll your own’ service, but this sounds like a lot of work reinventing the same old wheels.

Alternatively you can use a third party to provide additional services on top of PayPal and/or GoogleCheckout. I use ejunkie which provides most of the services you would expect from a fully-fledged registration service from just $5 per month[3]. The savings can be considerable, for example (all figures approximate):

number of $40 licences sold per year

yearly costs

10% commission registration service

PayPal +e-junkie[4]

GoogleCheckout +e-junkie[5]

1,000

$4,000

$1,420

$1,060

5,000

$20,000

$6,820

$5,060

10,000

$40,000

$13,660

$10,060

If you can offset your GoogleCheckout processing fees against your Google adwords spend your monthly costs could be as little as just the $5 ejunkie fee.

On the whole I have been very happy with the service I have received from e-junkie, once I got it all working. It has been very reliable and the support has been very responsive. ejunkie does seem to be more geared to selling downloads (e.g. e-books and MP3s) than licence keys and the documentation is thin in places. Consequently I had a few issues trying to bend it to my particular requirements. I will try to find time to cover these issues in another article.

You can find out more about ejunkie and try their 1 week free trial here.

Other possible third party integration solutions are PayLoadz and Linklok. For those of you who prefer a more traditional registration services, I have heard some good reports about Plimus and Avangate on various forums. Neither of these companies has been bought out by SWREG owner Digital River (yet). I haven’t used any of these services myself.

It remains to be seen whether pressure from PayPal and Google forces registration companies to reduce their fees, add more services or just puts them out of business.

Full disclosure: The above ejunkie links are affiliates links. If you follow these links and sign up with ejunkie I will get a commission. It is not a lot, but I won’t need many people to sign up to cover my ejunkie fees completely.