I know the title isn\'t amazingly descriptive, sorry.
Basically I\'m in the midst of creating a website where users can search for and buy website layouts, wordpress/joo
You are going to need a Paypal Business account to avoid any limitations on transactions.
As for paying people via paypal, I'm assuming you are going to pay the people out of the website account. If so, then you can use the PayPal Mass Pay API, which lets you pay one or more users out of the account you are using to call the API. See https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_NVPAPI_DeveloperGuide.pdf, and the section on the Mass Pay API for details. There is also a SOAP interface equivalent, but the basics are:
I'm not going to go into the NVP or paypal API authentication system, since you mention you've already sorted them paying you, but basically the same system applies.
If you want people to be able to 'withdraw', simply tell them at registration to specify a 'payment email address', and then when they want to withdraw, just have a form, the result of which runs the call to the API, and pays them.
Edit: Have just checked, and the Mass Pay API requires the Website Payments Pro, which costs $30 per month, and has a transaction fee of: 2.2% – 2.9% + $0.30 USD (these only apply to incoming transactions) - see https://www.paypal.com/us/cgi-bin/webscr?cmd=xpt/Marketing/general/PaymentSolutions-outside for info. Don't know what the cost limitations of your project are.
I'm working on a project that needs to do something similar, I modified the PayPal's sample code:
How to send money to paypal using php
I hope it be useful.
There seems to be an assumption that the funds must go through your account. Have you looked into acting as more of a storefront, where your site directs buyers to a PayPal page where they will pay the seller directly?