I am currently using Balanced to help a client develop a marketplace application - both to collect payments as well as to distribute payouts - and working with the service has really been a delight. The documentation is well-developed, includes clean sample code for everything I've needed (to the point of just being able to drop it in), and support is really responsive and helpful. Just today I had a question about implementing bank account verification, hopped on the IRC chat room, and within all of 30 seconds had my question answered. Great job to the Balanced team!
I'll second this. Balanced has been pretty awesome to work with. I looked at switching away at one point, but everything "just works" and no other solution had all of the requirements met for running a legit marketplace.
Why are they bashing Stripe Connect, which is not comparable to Balanced? They were looking for Stripe Marketplace, which does offer a complete white-label solution.
For a fairer comparison and review of Stripe's white label marketplace API, I will shamelessly plug my blog:
The people at Balanced are great, but I still prefer Stripe's products any day of the week. They've written the best API and documentation I've seen in a while, and laid a lot of groundwork for others to mimic. A good thing for us developers, at least.
Stripe Connect, according to their own website (https://stripe.com/connect) is Stripe's marketplace offering.
Stripe Connect is not a complete white label solution. The user still has to be redirected to stripe.com to complete the OAuth process. We had many issues with users being confused as to who Stripe was, and why were they asking for their personal information when creating an account.
Stripe Connect is great for a certain kind of marketplace, specifically one that does not want to be liable for chargebacks or refunds and wants to remain outside of the flow of funds.
We launched the ability to send payouts with Stripe over a month ago for a different kind of marketplace (such as Lyft, SideCar and Exec), which want more control over the payout process. You can read more about it here on our site: https://stripe.com/blog/send-payouts-with-stripe
I think you've missed the point Chris. I wasn't bashing Stripe at all; quite the contrary actually. I have a ton of respect for their founders & team. However, there are some elements which are essential to our platform and payments model, which Stripe/Connect/Marketplace cannot provide; Descriptor & Money Management, among s few other nuance things. With so many options out there today, (many VERY BAD options), I merely wanted to share our process and headaches, in the hopes of saving another entrepreneur a bunch of time.
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...
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:
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?
If I were you, I'd go directly to the source: @cjc (stripe) and @jkwade (balanced) It seems like you would be served well by both companies, so you should definitely share your specifics and see which one is the best fit.