If I was starting from scratch I would use Recurely or Chargify or similar. Dealing with the Stripe API is a nightmare. It’s way more powerful than old school Authorize, but that lets you get into way more trouble. We’ve also encountered many bugs as well as confusing scenarios where we’re sending in something that would seem harmless but in fact does great damage like resetting customers back to trials, etc.
Using a service in front of Stripe also means it’ll be much easier to do other nice things. For example, try CC up front vs not (requires tons of work to change this if using your own code), accept invoices outside of your standard subscriptions for special cases, enterprise sales, etc, make it easier to move away from Stripe if they go south or get funky.