I'm not the OP, but I opted for Balanced over Stripe due to the delay in getting paid. Aside from that I prefer Stripe's API and overall experience more.
Balanced employee here: if anyone's wondering, we do next day deposits for all accounts and same-day deposits for Wells Fargo accounts. Some people even just use is solely for payouts.
And rbritton, as the guy in charge of the API these days, I'd love to hear how I can make it better.
I use Balanced for a non-marketplace ordering system as well as in an in-person ordering app. The Balanced dashboard is used for any account management and refunds.
I found the process of actually taking and charging a card to be a bit cumbersome with having to tokenize the card (wait for response), create the customer record (wait for response), associate the card token (wait for response), and finally create the debit (wait for response).
The tokenizing I'm absolutely fine with since it offloads the bulk of PCI compliance to Balanced, but the last three steps seemed a bit much when all I wanted to do was debit the card. I don't have any need to save a permanent customer and card record. This is a process Stripe doesn't have as far as I can tell, but I was ultimately willing to deal with it for the faster payouts.
I also like Stripe's two-factor authentication support.
And, on another note, I was a bit disappointed with both Balanced and Stripe's iOS libraries. They only support tokenizing a card. Though this is likely going to be the bulk of use by many people it meant creating everything else from scratch.
>> I found the process of actually taking and charging a card to be a bit cumbersome with having to tokenize the card (wait for response), create the customer record (wait for response), associate the card token (wait for response), and finally create the debit (wait for response).
>> I also like Stripe's two-factor authentication support.
This is already done AFAIK. Email me directly -- m@balancedpayments.com
>> And, on another note, I was a bit disappointed with both Balanced and Stripe's iOS libraries. They only support tokenizing a card. Though this is likely going to be the bulk of use by many people it meant creating everything else from scratch.
and while the code for "Collecting Credit Card Information" makes a lot of sense I find the steps under "Charge a credit card" unclear. Why does one need to create a customer to charge a card that has been tokenized ? I would also suggest making it more clear in this tutorial what the different numbers mean. For example where did CUXj7DWHSxlMvGDLGSYRI3o come from in step 2 ? As for the card_uri I'm guessing that is the uri that was obtained in the prior tutorial, but guessing makes me a little uncomfortable so it would be nice if that were made more explicit.
I'm also wondering why the balancedpayments documentation emphasizes marketplaces over simple e-commerce sites. Does this mean that balanced is a less appropriate solution for simpler sites (ie. where payments are made directly from a site's users to the site itself) ?
You're right. That tutorial could be made much more clear. In fact, this guide and others are being extensively rewritten. The example itself is specific to charging a Card. Therefore, the guide assumes you have an existing Customer since Customer creation is a separate topic. You are correct that the card_uri is an example of one that would be obtained from the previous example. Let me clear up how to charge a credit card.
A requirement of the current API is that a Card or BankAccount must first be associated to a Customer before it can be used. This is mainly due to the fact that v1.0 of the API is very Customer resource centric, something that's changing in the upcoming 1.1 release. A Customer resource will no longer be required to charge Cards.
If you have any other questions feel free to hop in #balanced on freenode IRC. We love questions!
If you don't have any need to save the customer and card for subsequent charges, then I believe (on Stripe) you can simply pass the token to the payment object API, eliminating 2 of your 4 steps.
Is Stripe planning on offering next-day/same-day deposits anytime soon (for all accounts)? This is becoming a big problem for us and we're considering switching to Balanced because of it.
I have to say that not only do you have a very good product/service, but I am constantly impressed by your engagement in it and apparent commitment to your customer base.