PayPal offer two ways of doing this:
This allows you to essentially conduct 2 transactions (each with their own line item) in one go.
The end-user adds their information to your cart, and get's forwarded to the PayPal Gateway. They see 2 distinct line items:
- Your vendors product info @ 95% of the total
- Your fee @ 5% of the total
This is super-easy to set up. All you'd need to do is store the vendors PayPal information in an additional
user_meta field, and drag it out before sending the end-user to PayPal.
The two line items, however, can be a bit daunting for less-savvy end-users; and may result in a reduced completion rate.
This allows you to take a single payment from the end-user. PayPal then processes the payment, and automatically forwards the specified percentage (or fixed dollar amount) to your vendor.
This is better for the end-user experience, but is a challenge to set up.
Check out PayPal's Adaptive Payments API for info on how to implement.
Edit: Sorry - I missed the WooCommerce tag on your post...
IgniteWoo have already created a plugin that might do the job: WooCommerce Vendor Stores