Braintree is expensive when you're just getting started. Their API is nicer than authorize.net's API, but if you're using a service like Spreedly, it's Spreedly's API you'll be talking to, not Braintree's.
Great service and full PCI compliance. Watch out for monthly minimum and early termination fees. Not supported by any of the SaaS billing frontends yet (though Spreedly is willing to make it happen).