Actually, you can do this with Stripe Connect [1]. The end-user signs up with a Stripe account, you get an OAuth key, and can make charges on their account. You can also collect fees on top of any payments [2].
[1]: https://stripe.com/docs/connect [2]: https://stripe.com/docs/connect/collecting-fees