Just a note that Recurly did this exact same thing several months ago, though they've since changed their prices again. We were literally 1 day away from launching on Recurly when they changed prices. Spooked by the sudden price hike, we spent a good deal of time re-writing our ecommerce on Chargify. And now this. Maybe it's time to just bite the bullet and roll our own solution.
Spreedly doesn't provide the same functionality, but it's great if you just need a basic recurring payment solution without the frills or deep API integration.
I haven't worked with CheddarGetter or BrainTree directly.
If you can at all afford it get your own merchant account and work with an IPSP directly, keep control of your own data as much as is allowed and make a deal that if they go belly up that you will get access to your accounts for a one-time migration to another IPSP. Otherwise you're just setting yourself up for big trouble down the road.
Middlemen in the payment business have a habit of going down when you need them most (when your business is successful and you are growing like mad, have a bunch of employees and suddenly your income evaporates).
iBill, DMR, now Jettis in trouble and many others besides.
All it takes is one big VISA fine for not following procedures and these operations will fold like a house of cards.
The recurring payments capabilities of gateways, such as Braintree, Auth.net, etc. typically are not as robust as the recurring payments capabilities of the companies that specifically focused on that capability such as Chargify, Recurly, Zuora, etc.
If you just need to charge the same customers exactly the same amount on exactly the same timeframe, then the capabilities of gateways such as Braintree may be ok for you.
But typically SaaS companies and others with multiple plans, additions, features, extra one time payments, etc. need an additional layer of logic on top of those capabilities. You can either buy that logic or pay Chargify, et al for it.
I just wanted to clarify that Braintree does has additional recurring billing features that are not mentioned here. You have the ability to set up multiple plans, modify individual subscriptions, created add-ons and discounts, create one time charges and more. For a more complete list of features you can check out our website: http://www.braintreepaymentsolutions.com/services/recurring-....
Basically, braintree has a 'vault' feature where I just add a 'vault_id' attribute to my user model, then call 'response = GATEWAY.store(credit_card, :email => current_user.email)' to send their info off to braintree. Later, that lets me send a charge with their vault_id, and it charges their card.
It's probably just slightly lower-level than Chargify's...