There are quite a few solutions out there for this, from Stripe and PayPal to handle recurring payments/invoicing, to full-featured SAAS apps, such as Chargify, Recurly, and CheddarGetter. Really all depends on what your desired feature set or skills will allow you to use.
Of these, I use Stripe's API to handle credit card processing, with PayPal as an option.
I know lawn & landscape marketing, branding, and web strategy. I'm not anonymous, I just don't self-promote.