If you want to charge the users automatically you would need to use Website Payments Pro with DoReference Transaction API you would simply reference a previous transaction ID and charge a new amount. I know in the Sandbox this can be turned on by sending a request via
https://www.paypal.com/mts. In the live environment I think you have to apply for it.
The next more simple solution is to have the client make the payment monthly by sending them an invoice via email with a link to your site. They go to your site and login, they would have to click some sort of a "make payment" link or something like that, and that would do an SQL query to your database where you store the amount that is due for that user. You would figure out that amount then dynamically build the page to input that amount in the HTML form of the "Buy Now" Button.
Then when the client clicks the Button the amount is shown to the client at PayPal. If you don't have some type of "login" site this may prove to be a lot of work where as you could just create a payment URL and send that to each user.
For example:
Code:https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=nate@ndswebdesign.com&item_name=testLink&amount=1.00
the amount could be placed into each link and then when the user clicks the link in the email they could make the payment. Copy and paste the above URL in a browser to see the effect.
This way you could create the URL once then change the amount for each user and just send them an email.
But for a long term project you may want to consider the second option, it would be free once it was set up as you wouldn't have the recurring charge of Website Payments Pro, and it would all be automatic based on when the client logged in.
If you decide to set up the second option let me know, I could look at the current site and get you a quote.
Thanks,