It has to be done manually. The vendor would have to add x% to the price paid by customer if they expect to get their full price after you get your %. You have to manually pay the vendor at end of period; there is no current mechanism to automatically send vendor any payment.
On most of the various payment processor integrations (Authorize.net, PayPal, etc..) there is a way to add a percentage charge onto the order total, but it works independent of the product Vendors.
There is a plugin called "PaymentDirector" which will allow you to create an expression to add a percentage onto any order that includes products related to a particular Vendor. That would allow you to recover the cost (2% or whatever) of any vendor fulfillment charges in advance of settling up with them at end of period.