We're about to move ahead with Braintree and there's no multi-year contract anymore...the fees are a bit high but so far the integration has been super easy, and I like the lack of needing to deal with PCI-DSS since they do everything on their side (but still within your interface). I figure it's better to move ahead fast with the implementation and optimize fees later once we've proved the model...at least we can get our data out down the road if we need to.