The ticketing support system is going to depend on the scale of your application and how much customization you need. For general purpose use, you might check out OSTicket. I've also used hesk for low volume work.
Paypal is expensive, and has a history of arbitrary arbitration decisions, which may not be appealed.
Recently we've started using google checkout for our order processing. Their rates are comparable to the other major merchant processors, and without a monthly fee they come out on top. I can highly recommend them as a reliable alternative to paypal. As an added bonus, the arbitration procedures are more transparent and the documentation indicates that they are more likely to provide the merchant compensation in the event of a dispute.
Both paypal and google checkout support recurring billing. There are fewer integration options with google checkout, but they are better documented. Paypal's API is poorly written. They both support recurring billing, buy-now buttons, and all the other features you'd expect.