You're going to want to roll your own customer/accounts/auth system to meet your apps needs (lots of frameworks have gems/packages to handle most of this, rails/laravel) . . . login/logout/password reset/dashboard/app specific features.
Handle payments using stripe.com, it can handle subscriptions as well. You can store your customers stripe id and pull up their invoices, next billing date, last 4 of their cc, etc via the stripe api to show in their profile. And setup stripe api hooks to keep track of any failed billings (show a reminder when they log in) and other events that happen on the stripe side of things.
There are all kinds of smart ways to set things up with regard to signups, failed billings, tracking user logins/engagement. And there are always new ideas/best practices evolving.
For transactional emails I recommend mandrill.com.
Good luck in 2015.