My subscription-based application is going to be written in Ruby on Rails; I have two routes I can go as far as billing is concerned:
Since this is my first ever startup and I'm fairly new to the idea, would I be better off "outsourcing" this capabilty to a company that knows what they're doing instead of trying to do it myself? The downside of course is that there is a monthly fee involved with using a hosted service, and this reduces my profit, but the additional features they provide may be worth the cost.
It's always best to stay focused as close to your core business as possible, especially when you're first starting up. If the costs associated with outsourcing your subscription/payment processing is not too costly, it would likely be your best bet.
You'll have enough challenges and headaches when launching your business, that the last thing you'll want to be dealing with is some bug/error in your custom subscription/payment processing code...
Later when the business is doing well, you can decide to build your own system, and bring it in house to help improve your profits.
In general, I'm all in favor of letting other providers handle things that are not core to my business, as Brian and James are saying.
This one does IMHO deserve more attention though. Customers are core to my business, and customer credit card info is a legally sensitive topic.
Here is a good overview of some larger providers in this space.
Benefits of outsourced subscription management:
I agree with Brian Swanson that you should look at staying close to your core.
Generally, you should outsource or buy whatever isn't going to be part of the core app, then, as you get excess money and want to stop supporting others, then you can look at writing your own applications and take over the control.
But, if you are going to do that you want to make certain you have a good separation between your app and the solution you start with, so you may want a module that serves as the interface, so that later if you decide to change, you change in one place and your application switches happily.
If you don't design up-front for this, then it will be too expensive to replace these other solutions with your own.
Consider not having an automated billing system at first. Collect the cards yourself and bill yourself.
Sounds retarded? It's not:
Subscription billing is a major headache for startups. It's easy to get it wrong (as I did initially). Billing is what Geoffery Moore would call "context" it's not the core of your business. I would definitely use a vendor: I've switched over StartupToDo (a Rails app BTW) to Amazon Simple Pay Subscriptions. Works great worldwide, but you have to be in the U.S. Second alternative is Avangate (does PayPal which Amazon [now a direct competitor to PayPal] does not, you can reside practically anywhere) which I will be implementing soon to support those customers who want PayPal.
Since I'm the creator of the SaaS Rails Kit, I'll chime in. :) Many people have found the Kit useful to get them launched faster, so it sounds like you are in the sweet spot for what the Kit can do.
Jason's right, you can certainly get by with a manual process in the beginning, and switch later when you are making real money, or when it starts becoming too tedious. However, based on my own experience with handling the billing for Catch the Best (which was the genesis for the SaaS Rails Kit), it can be a hassle to make that switch later.
If you're looking for plug in and go, both the services you mentioned and the Kit fit the bill: handling account creations/upgrades/cancellations, running the billing every month, etc. The Kit also has a convenient way to implement tiering (project limits, user limits, etc) for your various price plans inside your app.
Either way, I'd definitely recommend not building it yourself -- life's too short for that drudgery. :)
Frankly, all the answers are right. Bottom line? Depends on how big a business you are or intend to become
Do you have the resources, or intend yourself, to manage billing, payment processing, customer service, etc.? Can you benefit from a personal touch with customers via their payment process?
Outsourcing does take most off your plate and sure, it also comes with some cons nor does it handle everything. But, it comes with other benefits not readily considered such as direct integration with a CRM service, your bookkeeping (us? ), email platform, etc.