Here is one you might consider – http://wordpress.org/extend/plugins/s2member/. It’s really loaded with options. You need to take your time to learn it so I would suggest putting it on a test site, playing around with it so you’ll know all the features and functions and then install it to a LIVE site.