I do not know how, right off the top of my head, how I can make this code to require one or the other.. but I will check. there is likely to be a way, I will just have to look into it. Or you can. 😀
If you have a vendor that has only entered Stripe, for example, and the customer pays via paypal for an order that contains products from that vendor, then funds for the products sold from that vendor will all go to the admin’s paypal account. You’d then have to work out a way to transfer/send the due commissions from those products to your vendor. (due commissions shown here: wp admin > woocommerce > commission). If there are other vendors’ products in that order who do have paypal entered, the funds will be correctly allocated to them at checkout.
If a vendor only had paypal entered, but a customer buys a product from them and checks out via Stripe, then funds would all go to the admin’s Stripe account. Same as above- other vendors with products in that order who DO have Stripe would receive their funds at checkout. You would then, again need to work out a way to transfer or send the due commission to your vendor who does not have Stripe. Likely in this case you’d transfer via PayPal.