Let's a say a customer bought $100 worth of items from two different sellers. You owe the sellers $40 each and you want to keep the rest. Here's how you'd handle that:
1) Charge the card (https://stripe.com/docs/api#charges) the full amount of the purchase ($100). 2) Subtracting Stripe's fees, you'd see $96.80 appear in your Stripe balance (https://stripe.com/docs/api#balance). 3) Initiate a transfer to seller 1 (https://stripe.com/docs/tutorials/sending-transfers) for $40 (this costs $0.25) 4) Initiate a transfer to seller 2 (https://stripe.com/docs/tutorials/sending-transfers) for $40 (this costs $0.25). 5) You'll have $16.30 remaining in your balance. You can then transfer that to your own bank account (https://stripe.com/docs/tutorials/sending-transfers) and we don't charge any fees for paying yourself out.
In order to pay out to two separate people, you'd need to make 2 POST requests to transfers#create (at least as far as I can find in Stripe's documentation). I feel like instead of one transfer at a time, it should be both transfers at once. Say you have a cart with 5 items in it. That means 5 separate POST requests, when this seems kind of unnecessary -- why not send them and process them all at once? PayPal supports this behavior, so why not Stripe?
In other words, a request might look like
{ charges: [ {seller_id: 12, amount: 400}, {seller_id: 13, amount: 400}, {seller_id: 14, amount: 400}, {seller_id: 15, amount: 400} ] card_number: 1283123412341234 ... }
dylandrop's already commented, but would love to get others' input