I recently faced this same issue and couldn't find an open source solution that met my needs.
I first tried a commercial product called phpGuardDog which read well in their promo material but was full of bugs and ultimately proved unworkable (the Web site subsequently shut down).
After much diligent research, I then purchased a product called aMember Professional (
http://www.amember.com/). It costs $140 but is extremely feature rich, has no bugs that I found, has reachable tech support and works with either of your payment gateway choices. There's almost no combination of subscription plans, access alternatives and fee structures that this package can't handle. Try their free trial and see if you feel it's worth the money.
On the downside, the application is written in PHP but some of the routines are encrypted. I normally won't use encrypted software but couldn't find a better alternative.