Hacker News new | ask | show | jobs
by cristinacordova 4722 days ago
(I work at Stripe)

If you're looking to split payments to multiple parties, you may want to take a look at sending transfers, rather than using Connect: https://stripe.com/blog/send-payouts-with-stripe

This only requires the sellers' bank account information in order to pay them out.

Stripe provides a Customer abstraction that makes it easy to save credit card information for later and use it multiple times. Instead of charging the card immediately, you can create a new Customer object and save the card to that customer. See more here: https://stripe.com/docs/tutorials/charges#saving-credit-card...

1 comments

Transfers still only send to one recipient at a time, no? At least, this is how the documentation reads (recipient_id is taken as a parameter as opposed to recipient_id<s>). Also, my problem is that you need to send a different request for each payout, when many times (i.e. shopping carts) you'd want to send every charge in one request.
You mentioned the use case of shopping carts with our API for charging and transfers. I'm assuming you have a use case of a customer making a purchase from several different sellers and then needing to pay those sellers out after the transaction?

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.

I think I might need to clarify the issue -- the problem isn't that you can't pay out to multiple people, it's that you have to pay out to each person with a separate call to the API.

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 ... }

We (Balanced) are discussing this issue of mass payouts via CSV upload on a Github thread here: https://github.com/balanced/balanced-dashboard/issues/21#iss...

dylandrop's already commented, but would love to get others' input