Blog

Store options for the Indie Mac Developer

With my new product, Talkie hitting the iPhone App Store, it’s time to investigate options for the selling of software for the Mac too, as Talkie will also be available shortly on Mac OS X, in both free and commercial versions.

Happily, and unfortunately, there are many, many options available for store systems, requiring varying degrees of effort to set up. In case it’s useful for kicking off others’ research, here’s what I’ve found out.First, my requirements:

  1. Access to customer and transaction databases, including easy serial number lookups, as this appears to be the biggest cause of support issues
  2. Easy access to financials including, ideally, listing earnings by country (which I need for Australian tax reporting obligations)
  3. Support for adding 10% GST for Australian sales
  4. Some kind of tracking and analysis system, like Google Analytics support
  5. No re-inventing the wheel: Pre-packaged solutions are much better than using up my time making something that already exists
  6. Security: For both customers and myself – trustworthy payment processing, and a solid registration/serial number system that won’t fall over at the slightest push.
  7. Affordability across various price points: I have a range of price points in mind for some upcoming products, both sub-$5 and $40+. I don’t want to have 30% of my income floating away on the breeze, for any price points across that range.
  8. Customer experience: Simple, comfortable, fast.

One thing that isn’t a particularly high priority for me at this stage is carrying out the entire transaction from my website. Wil Shipley at Golden%Braeburn makes a good point with:

Nothing says, “I’m making this up as I go” like all of a sudden popping up a store that says “Yahoo” or “Kagi” or whatever. It just doesn’t pass the “Mom” test: your mom doesn’t know what they are, my mom doesn’t know who they are, and you’re only confusing her and making her think, “Wait, why am I giving money to this other company? Am I doing the right thing? Is this one of those virus things I’ve heard about?”

However, I think that using a relatively household name like PayPal may be a reasonable choice, although this may well not apply to lesser-known brands like Kagi, etc.; It may even have the opposite effect for certain demographics (Mac software customers possibly being one of them), engendering feelings of comfort and safety instead — I, at least, put a lot of trust in PayPal. So, I’m happy for checkout to happen elsewhere — and it means I have more options available at less cost.

The available options appear to fall into two categories:

  1. Comprehensive, software-specific services like eSellerate and Kagi, which along with payment processing also include their own optional registration and licensing engine which one links into the application, and
  2. A combination of elements — generic payment gateways, store, and licensing system — which requires a little more setup but is generally less expensive (e.g., rates around %2-4 of transaction amount instead of %8-15).
    There are products available, self-hosted or otherwise, which provide store and licensing functionality on top of generic payment gateways.

As a disclaimer, please note that I’ve not drilled down into the details of those options below that were quickly identifiable as poor options for my needs. Consequently, some may be light on details!

Software-specific payment processing services

There seem to be lots of these now, and I haven’t looked at many – there’s a comparison of many e-commerce providers here.

In general, they’re fairly expensive, hovering around an average of 10% of transaction price. Some are worse at different price points – for example, for a $5 product, Kagi charge 30%.

For me, those fees are a bit hefty for the actual gain — particularly given that I have the skills to set up a self-hosted solution like Potion Store, mentioned below — and for that reason I’ve only had a cursory look at these guys, so this information may not be entirely infallible.

They all provide some form of customer account management, and they also generally provide a custom serial number distribution facility, where the processor calls a script on one’s server to generate the serial, or one manually provides a pool of serial numbers. Some also provide their own (optional) licensing engine.

Note that there is a danger in using standard registration engines, such as that from Kagi or eSellerate: If the engine is ever cracked (as eSellerate’s has been already, apparently), then all apps which use it are cracked too.

Provided you know what you’re doing, using a custom engine (or even a personalised version of an existing one, like AquaticPrime, etc.) should yield somewhat better security, albeit mostly just through obscurity.

From my cursory inspections, all of the services that involve processing transactions outside one’s own site provide some level of templating/branding, to make things look more unified. One exception appears to be eSellerate with their fixed rate plan, which only offers a set of templates.

Kagi

  • Quite well known in the mac software world; they go back a long way.
  • Bizarre fee structure: 2.5% + fixed cost ($1, $2 or $5 for sales of < $25, $25 – $100 and $100+ respectively) + ‘payment processing’ of %2-5 + $0.30
    • E.g. $5 product: ($5 x 2.5%)+$1+($5 x 3.7%)+$0.30 = $1.65 = 32%!
    • E.g. $50 product: ($50 x 2.5%)+$2+($50 x 3.7%)+$0.30 = $5.40 = 10.8%
  • A 2002 O’Reilly Mac Dev Center article reports plenty of support issues and customer frustration. Andy Kim of Potion Factory used the word ‘horrible’ to describe them in 2007.
  • Odd admin and setup procedures – e.g. use of custom store templates requires emailing to a specific address where the process is carried out manually
  • Offer a library for in-app payment, without having to load up a web browser

eSellerate

  • The other quite well known gateway, along with Kagi
  • 9% fee, or a variable rate that varies depending on earnings (12% up to earnings of $1 million, astonishingly; I doubt many of us would make it beyond that, although it would be quite nice!)
  • From what I could ascertain, fully templatable web interface is available for the variable rate plan; just fixed templates (select from a few) for the fixed-rate 9% plan.
  • Offer a library for in-app payment, without having to load up a web browser
  • Apparently, they are known to have been sluggish in updating their framework – they have only recently started supporting universal binaries, for example.

BMT Micro

  • 9.5% fee
  • Templatable
  • Call me shallow, but…That’s one worryingly 90’s-looking website!

FastSpring

  • 5.9% rate plus $.95/transaction, or 9% (min 75c fee)
    • That is, for a $5 app, $1.25 fee (25%), or for the other option, .75c (15%)
    • For a $40 app, 8.3%, or 9%, respectively
  • Some good feedback from Justin Williams of carpeaqua – competitive pricing (although it looks much the same for the pricing points I’m personally interested in!), attractive and intuitive backend, good Google Analytics integration, very good support

Generic payment gateway services

These provide only payment processing and some other related features like finance stats – no customer databases or serial number features provided, so it’s best used with some other system. However, fees are generally a fair bit lower, so if one can fill the functionality gap affordably, then it may be a good option.

PayPal

  • ‘Website Payments Standard’ (WPS): 1.9% to 2.9% + $0.30: offers a fairly flexible but basic way to collect payment; a configurable button to take customers to PayPal’s site (which apparently has a somewhat customisable interface), then an ‘Instant Payment Notification‘ system to hook into a script on one’s website which can generate and email a serial number. Also has a shopping cart system, based at PayPal.
  • ‘Website Payments Pro’ (WPP): As above, plus $30 USD/month fee; Offers an API that allows users to checkout without leaving one’s site.
  • ‘Website Payments Express’: Similarly priced to WPS. The idea is that customers can check out very quickly, but they need a PayPal account, so it’s probably best used in conjunction with other checkout options. In fact, from what I understand, Website Payments Express requires that one holds a separate merchant account, which is probably provided by WPS and WPP
  • PayPal provides tax calculation features, by customer region

Google Checkout

  • I didn’t investigate Google Checkout, as I’m unable to use them yet, being an Australian.

Store software

These don’t include a payment gateway, but will provide account management and other store services on top of one.

eJunkie (Paid Service)

  • Works on top of PayPal and a couple of other payment gateways: Fixed $5/month (on top of PayPal/etc fees)
  • Provides support for a custom serial number system, and various database/tracking facilities, including Google Analytics integration
  • Also supports selling of other materials including physical items

Golden%Braeburn (Self-hosted with percentage fee)

  • 5% fee, on top of payment gateway (PayPal WPP – quite expensive)
  • Apparently requires a server running Mac OS X
  • In-app registration, no web frontend (one coming, though, as I understand it)

Potion Store (Self-hosted, open source and free)

  • Open source, Ruby on Rails application
  • Works with PayPal Website Payments Pro and PayPal Express Checkout (more expensive PayPal options), and Google Checkout; As it’s open source, however, it’s probably an option to add support for PayPal’s Website Payments Standard
  • BYO licence key engine (or use CocoaFob/AquaticPrime, below)
  • Google analytics integration, order search and tracking, finance stats
  • Used by the creator — always a good sign
  • Some notes on one developer’s experience moving to Potion Store offer some good insights; in particular, the short setup time – it looks quite easy.

Registration engines

These just provide generation and validation of licenses — to be used with store software.

AquaticPrime

  • Open source, RSA-based registration system
  • With sensible use (e.g. include good and bad keys in app to test integrity before use, encrypt or at least obfuscate the public key in the app), reasonably hardy
  • Generates license keys in file form
    • These are attached to emails, and by using a unique extension and registering the app as its handler, customers can double-click the email attachment to register.
    • Heard some reports that some spam filters are hard on emails that contain attachments with unusual attachments, however, resulting in a large support load.
    • Serial numbers as short strings are more common, and may be more convenient to customers than files

CocoaFob

  • Open source, snippets for DSA key generation/verification
  • Basically the same hardiness characteristics and caveats as AquaticPrime, above
  • Integrated with Potion Store
  • String keys – less risky than attaching files to email

Summary

When I started looking into this, I assumed I’d end up going with a service like Kagi or eSellerate. But, having stumbled upon Potion Factory’s extra-promising-looking Potion Store software, I’m convinced that the result, and the financial savings, will be worth the day or two spent setting things up.

This combined with PayPal as a payment processing service, and CocoaFob for licensing, should provide everything I need:

  1. Access to customer and transaction databases, including easy serial number lookups, as this appears to be the biggest cause of support issues

    All provided by Potion Store, including a ‘lost license’ feature accessible to customers. All records easily searchable, by the look of it.

  2. Easy access to financials including, ideally, listing earnings by country (which I need for Australian tax reporting obligations)

    PayPal’s business account appears to provide some fairly decent reporting features, including listing transactions by currency, which may do the trick. I’m certain there will be a way to facilitate this, given that PayPal is used by so many businesses.

  3. Support for adding 10% GST for Australian sales

    PayPal have a tax calculation system that can be configured to add a percentage or a fixed amount to the transaction, depending on the customer’s location. Perfect for Australian GST. One thing this won’t do is automatically update the cost on my own store or product pages, which means customers may get a nasty surprise when they go to buy a $40 piece of software and find it costing $44 instead. This may not be an issue, or it may be fairly easily resolved by adding some custom code to guess the user’s country of origin and update the price accordingly.

  4. Some kind of tracking and analysis system, like Google Analytics support

    Potion Store supports Google Analytics.

  5. No re-inventing the wheel: Pre-packaged solutions are much better than using up my time making something that already exists

    Just need to put a few pieces together, and for support there already exists a community of those who use this setup.

  6. Security: For both customers and myself – trustworthy payment processing, and a solid registration/serial number system that won’t fall over at the slightest push.

    PayPal is well respected for their security. For registration, CocoaFob seems reasonably robust, using DSA. Used wisely, there should be no issues.

  7. Affordability across various price points: I have a range of price points in mind for some upcoming products, both sub-$5 and $40+. I don’t want to have 30% of my income floating away on the breeze, for any price points across that range.

    With PayPal representing the only expense, it’s hard to beat this plan – Even with international transaction fees, it’s still cheaper than the cheapest alternative I’ve considered.

  8. Customer experience: Simple, comfortable, fast.

    Potion store looks very good, and given that I can host it on atastypixel.com, should be well integrated. PayPal is familiar to almost all of us, and of course it is no longer necessary for customers to have a PayPal account to check out. Should be pretty straightforward.

So, I’ll report later as I put together the store.

Update I’ve written up a summary of my experience setting up the store.

A little further reading:

. Bookmark the permalink. Both comments and trackbacks are currently closed.

2 Comments

  1. Rui Pacheco
    Posted February 27, 2010 at 12:14 am | Permalink

    Hi,

    The link to your experience setting up the potion store app points to this same page. Was that the intention?

    Rui

    • Posted February 27, 2010 at 1:42 pm | Permalink

      Whoops! No, that wasn’t my intention at all. Fixed now – Thanks, Rui.