Besides being a Co-Founder of The Agile League, Micah is also a Co-Founder of Obsidian Portal, a SaaS website. He’s got a fair amount of experience dealing with recurring billing, and here he talks about why Obsidian Portal has to change their subscription billing system (again).
In Part 1, I detailed Chargify’s price hikes over the past few years and how the cost eventually drove us to begin examining alternative solutions. A lot has changed in the 3 years since I originally wrote about moving to Chargify, and the competition for recurring billing has added great new services while simultaneously driving costs down. Here in Part 2, I discuss the two alternatives most attractive to us, Stripe and Braintree. I will talk a little about why they interest us, then examine them on a cost-per-customer basis, just like I did with Chargify.
Stripe’s claim to fame is dead simple pricing: 2.9% + $0.30 each time they charge money for you. No setup or monthly fees, no card vault/storage fees, and no additional fees for recurring billing. This model makes calculating the cost of Stripe a trivial task.
In addition, Stripe has a native recurring billing product, similar to what Chargify offers. You can subscribe users via the Stripe API and then they take care of charging the card periodically and notifying us of the success/failure of the charge. In essence, they do everything (of importance) that Chargify does, and they do it cheaper, while simultaneously bundling the merchant account side.
My main worry is that Stripe’s simple business model is too simple, and that they’ll change or raise prices at some point. That’s exactly what happened with Chargify. Someday 2.9% + $0.30 will become 2.9% and $0.30…except… and then the hidden costs will start piling up and we’ll be back where we started. Unfortunately, this is a risk you take with any service provider and there’s really no way to fully protect yourself from it.
My second concern is that Stripe will just up and disappear someday, or be acquired/acqui-hired by another company and shut down. Again, there’s no real defense against this, but the fact that they’ve raised VC funding at least gives me hope that they’re not going to suddenly go out of business.
Braintree was around when we first considered Chargify, but we decided against them because Chargify’s model was much more targeted directly at subscription billing. We wanted the tool built specifically for the problem at hand, not the multi-tool with a (seemingly) barebones user interface and minimal functionality. We were willing to pay a little more for something that we thought would have better features and save us headaches in the long run.
Fast forward a couple years and Braintree is looking a lot more attractive. We don’t find ourselves using many of Chargify’s advanced features, and I honestly can’t name what they are, so they’re obviously not that important to me. Plus, based on price, Braintree is very competitive. While not as simple as Stripe, Braintree bundles the merchant account and gateway together, plus offers a built-in recurring billing product.
Finally, I have never heard a bad review of Braintree. Everything I have read about them has been a glowing review of how easy their API is to work with. Coupled with their reasonable pricing, this makes them very appealing.
Before moving to the pricing, it’s important to note that both Braintree and Stripe claim to support data portability. Braintree has been a leader in this area, and we thank them for that. Vendor lock in for your customer credit card data is a nightmare scenario.
As I did with Chargify, here’s a breakdown of how much the services will cost us per-customer. I’ve copied over the Chargify numbers for easy comparison.
- Ignoring all flat fees (setup fees, $20/mo gateway fee, $20/mo CIM fee, $8/mo statement fee, etc.)
- $0.40/customer/mo for Chargify (roughly what we pay under the current pricing)
- $0.10/each for the Authorize.net transaction fee
- $0.25 + 2.5% transaction fee for the merchant account – Actual fees are incredibly variable and complicated.
- 100% qualified transactions (a VERY idealized situation, but it simplifies calculations)
- AMEX charged at qualified VISA transaction level (again, idealized to simplify)
|Transaction (2.5% + $0.25)||$0.375|
|Transaction (2.5% + $0.25)||$1.25|
|Card Vault Storage||$0.01|
|Transaction (2.29% + $0.30)||$0.4145|
|Card Vault Storage||$0.01|
|Transaction (2.29% + $0.30)||$1.216|
|Transaction (2.9% + $0.30)||$0.445|
|Transaction (2.9% + $0.30)||$1.46|
The Winner – Stripe
Stripe is the clear winner here. It easily beats Chargify + Auth.net, and is close with Braintree, winning by a significant margin at $5 and losing by a tiny margin at $40. But, it’s important to remember that our assumptions for Braintree were idealized. In many cases, the transaction fees will be higher. Plus, Braintree’s flat monthly fees would be somewhere between $50 and $100, while Stripe’s are $0. Finally, neither service really changes much as you scale up, so the per-customer pricing will scale linearly for both services.
After reviewing the API documentation for both Stripe and Braintree, I have decided to go with Stripe. Both APIs have the features I need, and neither looks difficult to use, so price is deciding factor. In Part 3, I will discuss the approach for migrating, as well as dealing with Auth.net and getting them to release the stored credit card data.