I just spent the weekend in payments hell researching a number of different recurring billing systems.
Here’s the thing – I build products. Lots of them. And I want to charge for them. I don’t want to have to drive tens of thousands of uniques per month before ads even start to think about paying out. I’m tired of visiting websites and having ads about people’s ugly teeth be the first thing I see. Dave McClure had an interesting, if curse-word-infused, post on the future of subscriptions. The basic gist is that startups have focused on growth and advertising-based revenue models in the past decade and that now we are heading more towards a subscription and transaction-based model.
His spot-on rant is ridiculously close to what I almost ended up posting this morning, and I’m glad I didn’t, as I haven’t quite earned the the respect to swear online like that yet. But here’s how it looks from the ground floor as a developer on a 2-person team that is trying to avoid the CPM/CPC model and instead focus on building useful products that people want to pay for. A crazy concept, I know!
Our Goal — take RowFeeder, which allows somebody to purchase tracking of a specific term on Twitter over a set period of time or on an ongoing (recurring) basis, and charge accordingly. Doesn’t sound too difficult does it?
Let me state our requirements for making this happen:
- We want to accept payments for Rowfeeder
- The payment method should be SaaS (hosted by the provider, not on RowFeeder) and PCI compliant
- Rowfeeder should’t collect (or be responsible for) payment data
- The payment method must support both one-time purchases and ongoing subscriptions
- Customers should be able to have multiple subscriptions or be able to purchase multiple quantities of one subscription
- The payment provider should support notifications of activity (IPN) or have a queryable API tied to a reference ID for the user
- The Payment provider must provide useful feedback/tracking data (i.e. work with Quickbooks or allow a cvs dump)
- The solution Rowfeeder implements should be integrated and live in 1-2 days
Now that doesn’t seem too difficult, and we know it’s doable, but our primary requirement was for subscription billing and because of that we looked at several new players in that field (specifically, Spreedly, Recurly, and Chargify) in the hope that they were actually delivering on simplifiying the world of subscriptions. Not only that, the allure of maintained Ruby gems, restful APIs, and flashy feature-sets made it look like something we could pull off without investing heavily in a Paypal, Google, Amazon, etc solution.
Before I go on, let me quickly thank Nathaniel Talbott of Spreedly, Isaac Hall of Recurly, and David H of Chargify. I’ve been in more or less constant contact with all three companies throughout the weekend(!) and am floored by the level of attention and support as we’ve gone through this process. Also of note is that Recurly just went into public beta in December and Chargify is still in private beta.
Let’s start with Spreedly.
Fantastic solution if all you’re doing is basic subscription billing. Ridiculously easy to integrate and several other nice features including a branded hosted payments page and ongoing HTTP PUSH notifications of subscription status. Unfortunately, one-time payments are not possible, nor are multiple subscriptions (or quantities) of a specific subscription. Another thing to note here, is that we unfortunately dove into Spreedly before performing proper requirements planning, so our opinion of the service is somewhat skewed.
Verdict: Great for simple use cases … like say a subscription to a newsletter or an online magazine … but that’s about it.
Recurly is next.
Also a great solution and offers 90% of what we’re actually looking for. Unfortunately, they don’t have a good solution for one-time payments in combination with hosted payment pages. They also do not support multiple subscriptions, but it is possible to upgrade to different quantities of a specific subscription. So if somebody buys one term on a monthly subscription, we can make use of the API to increase or decrease the number of terms they’re tracking as necessary. However, I ran into a couple errors while working in their sandbox. First, my account was rendered useless when I entered a plan name with a period. Oops. Then, the math on their hosted payments page was subject to an embarrasing front-end bug (2 * 2.49 = 9.96) when you specified a quantity via a URL parameter. From a security and QA perspective, this didn’t instill a lot of confidence, but I will mention that they fixed both of these issues IMMEDIATELY after we notified them. RackSpace may claim fanatical customer support, but these guys deliver on it.
Verdict: An excellent and flexible solution for subscription payments. If they had one-time payments (outside of pre-existing subscriptions), we’d be in.
Finally, we were able to get access to the Chargify closed beta.
For somebody looking for a hosted payments solution, they haven’t put enough effort into that portion of their service yet for it to be viable. While they have put a lot of work into the API … I just want the ability to redirect a customer to a secure, reliable, third-party and PCI-compliant site where I don’t have to worry about taking credit card information myself, but can still get instant notification of the necessary purchases and changes to subscription levels. Unfortunately, the documentation (and the video on their home page) is also out of sync with reality, which was extremely frustrating. It’s pretty infuriating to actually perform due dilligence only to find out that the documentation is out-of-date after hours of implementation effort. As an example, their documentation states that they support one-time payments, but we didn’t find out until after emailing their support team that this functionality had been disabled temporarily while they re-architect some things. Again, I don’t want to criticize a private beta too much, but this was definitely frustrating.
Verdict: I’m confident that once these folks reach the point of being out of closed beta, they’ll have a great product and (what will be) a complete feature-set that’s going to do very well.
The fact that this is the state of recurring subscription billing isn’t shameful in itself, but it’s truly lamentable how close these services are to being great while clearly falling short in many use cases. Either I’m thinking about this too hard, or I want this to be easier than it can be. It seems like these companies are focusing too heavily on the “vertical” of subscription services rather than branching out horizontally (even slightly) and becoming robust payment solutions. (Side note: This doesn’t apply to Chargify, and I’m excited to keep an eye on them as they build their dev team!) It’s a tough economy out there, and plenty of companies are trying out every monetization strategy that they can. Should they really be forced to go through two different payments providers if they want to offer both subscription and one-time pay solutions, especially if they’re simply using the one-time payments in hopes of upselling to a subscription?
Since the weekend, I’ve been contacted by a number of other subscription billing companies. Of the couple I checked out (Vindicia and Aria Systems), their websites were primarily marketing fluff – white papers, best practice guides and webinars. In order to actually determine their feasibility, I had to fill in a form and have a sales person contact me. This may work for larger corporations, but we’re a startup. Putting up a sales gateway in front of your documentation makes it pretty damn difficult to evaluate the efficacy of your solution. When we’re building products in a matter of hours or days, your 9-5, Monday-Friday attitude is simply not going to be compatible with our workflow. But maybe we’re not your target audience.
All that being said, there’s hope. Spreedly, Recurly, and Chargify are all brand new and all appear to both be listening and care about their current and potential customers. I don’t doubt that they’ll all get to where I want them to be in the near future, but they’re not quite there yet.
Perhaps useful to other folks is this spreadsheet where we tracked different recurring billing solutions against our requirements. I’d love to hear other people’s experiences with these, or other payment solutions.














































































Accepting Payments on the Real-Time Web
I've never signed my name that many times in my entire life.
LnkBy.me