Choosing a Payment Processor
You have heard the names, Stripe, Braintree, Balanced, and Dwolla, but how do you know which one is best for your e-commerce site? Deciding on an online payment processor can not only be daunting, but choosing the wrong one can greatly impact your business in the long run.
Before you even begin to evaluate the various payment processors such as Stripe, Braintree, Balanced, or Dwolla you need to have a clear understanding of what your products are, and who your target customers are and how they are most likely to pay for your products or services.
What Are You Selling?
The first question to answer is what are your selling? Are you offering a physical product, a service, a hybrid of service/product, or a marketplace for other sellers to list/sell goods and you take a percentage/amount of the sale? Will you need to hold payments in escrow while you wait on the seller or buyer to complete a specific action?
Selling a physical product or offering a service are fairly straightforward when it comes to any of the processors. Typically with a product or service you are going to have a predefined price that is clear to both you and your customers. The only real difference between the two is that in most cases the product will be a one-time charge where the service will most likely be a recurring charge that happens monthly or annually. However, subscription or recurring billing can be a nightmare to manage and you risk the chance of losing valuable customers due to issues such as expired credit cards if you are not vigilant about tracking your customers. Therefore choosing a processor that has the tools and support infrastructure to handle recurring payments is important.
With marketplaces where you are offering a platform for other sellers to sell their goods and you take a percentage or fixed fee (think eBay) when the sale is complete it gets a little more challenging and thus the processor you work with must be appreciate and understand these sales.
Regardless of whether you are selling a product, service, or offering a marketplace for other sellers/buyers, your pricing will also be influential in deciding which processor to choose. For smaller priced items (i.e. under $10) you may find that one processor will have great pricing, but when that price point crosses a certain threshold another processor may have a better pricing structure.
Who Are Your Customers?
Knowing your customers is critical even outside the realm of payment processing. First and foremost, where is your base of operations (i.e. United States, Europe, Australia, etc…)? Secondary is where are your customers located? Each payment processor has specific locations they offer service in both from the merchant perspective and the customer perspective, and this alone can quickly reduce your choices. Unfortunately if you or your customers are located outside the United States using the big names like Stripe, Braintree, Balanced, and Dwolla can become a challenge. While all of these will allow U.S. based businesses to sell and receive payments from most countries, if your business is located outside the U.S. they may not be able to offer services to you.
The demographics of your customers is important as well. What age group are you targeting? What is their background? A younger audience may be more apt to try innovative payment processors such as Dwolla.
What Is Your Sales Volume?
An often overlooked, and extremely difficult to determine if you are just starting out, aspect of choosing a processor is knowing what your anticipated volume is or is going to be. Even though it can be difficult to put an exact, or even close, number on your volume if you are just getting started, the main reason processors ask this is to better understand your business and to assess for potential fraud. Picking a number too low and then overshooting that number significantly can result in unnecessary delays or even risk having your account disabled without notice due to automated fraud detection algorithms. Picking a number too high initially can result in unnecessary paperwork or added underwriting.
There is a solution though! Start with a reasonable number. If during the course of the month you realize you are going to overshoot that number give your processor a call or shoot them an email. They will work with you to determine the best course of action going forward and by alerting them you show you are proactive and the concern of risks can be minimized significantly.
How and When Do They Pay You?
You are in this for the money right? It is all great that you are able to process payments through your website, but when will that money actually land in your bank account is the big question. While we all want our money the fastest way possible, having to wait weeks or jump through added hoops to actually get it can be an unnecessary burden on your business. Does the processor automatically deposit funds in your bank account or do you have to request those funds be deposited? Do they require a reserve balance held with them and if so what is that percentage? Processors use reserves (especially with new accounts) to protect themselves against fraud and being left on the hook for returns or disputed items.
Read the Terms of Service!
I cannot stress this enough. Read every aspect of the terms of service for each processor, know what you are getting into, know what products you can and cannot sell through their service, know how they handle customer service (i.e. PayPal has notoriously bad customer service and simple problems often escalate out of control because of that alone), know when you will receive your money and how you will receive it, and know if they require a reserve and how that reserve is determined.
Read Reviews/Testimonials By Current and Past Customers
The Internet is ripe with complaints and praise of all types of companies. Do not rely on one site or one review to base your opinion. Look at multiple sites and look at multiple reviews on each site. Is there a common pain point for customers (i.e. poor customer service or impossible to get in touch with via phone)? With something as critical as payment processing it is in your best interest to find a processor that is responsive and easy to get in touch with at any hour of the day in your timezone. If there is a problem you want to get it resolved before it spirals out of control or becomes a much larger issue.
So you know who your customers are, you know what you are selling, and you know where you are selling it from, but what how do you go about putting that all together and actually collecting money for your products or services through the processor? In general you have a few choices here. You can go with a pre-built e-commerce solutions (i.e. Magento), an integrated solution (i.e. Woocommerce for WordPress), or developing your own using the processor’s API.
Credit cards, ACH, Bitcoin, escrow. These are all possible payment methods or types that the various processors offer or do not offer. Knowing how your customers will interact with your site and how they are most likely to pay are critical choosing the proper processor. You may find that you will need a hybrid solution with multiple processors to reach your maximum customer base. For example, you may decide that you want to accept both credit cards and Bitcoin on your site. If this is the case you will either need a processor that can handle both (not likely as of yet) or, the most likely case, you will need to work with two different processors. You may also find that with one processor you get a great rate on credit cards but not so much with direct debits from customer bank accounts. Or you may find that one processor works great in the United States, but for Europe another is the better choice. These are just some examples where you may need to accommodate multiple providers when deciding on your final implementation.
Comparing Stripe vs Braintree vs Balanced vs Dwolla
As I started out above, four of the hottest payment processors currently available include Stripe, Braintree, Balanced, and Dwolla. They are equally as good, however, they are also each equally different and have established their own niche in payment space. More specifically they are each designed with the developer in mind, some better than others.
Stripe and Braintree are definitely the leaders in online credit card processing solutions. Their competitive fees and extensive APIs make them not only affordable, but extremely easy to integrate into your website. Stripe goes further by allowing you to easily create payment buttons for your site to eliminate the need to integrate or for additional programming. Both processors are supported by most of the widely used e-commerce solutions such as Magento and WooCommerce. They also have extensive back end dashboards that are easy to navigate and feature-rich.
Balanced also supports credit card payments while Dwolla only supports ACH transactions between users and both have dashboards to manage your payments, however, their setup is slightly different in the way they handle customers and processing. Balanced is more closely similar to Stripe or Braintree with payment processing, however, both Balanced and Dwolla enable you to support ACH transfers for customers. On the flip side, with both Balanced and Dwolla you are responsible for initiating transfers to your bank account.
Braintree, Balanced, and Dwolla each offer 2 day deposits of money into your account (with Balanced you can even get same day deposits if you use Wells Fargo Bank). Stripe is moving to a shorter payout timeline, however, as of this writing they still advertise a 7-day rolling payout. This means that while they make payouts daily, they are delayed seven (7) days from the date the transaction was completed. So for example, if your customer purchases a product from you on a Monday you will receive the payment the following Monday in your bank account.
As for API integration Stripe and Braintree lead the pack here. Both offer extensive APIs and both are fairly well documented. They both also offer a sandbox environment allowing you to fully test the entire API integration before you go live. Balanced and Dwolla both offer APIs, however, they are not quite as well developed as the Stripe or Braintree ones. Balanced does offer a test environment with test data, however, their documentation could be a little more complete and there are some aspects of the API that are not documented at all making integration a little tricky at times. Dwolla offers a test recipient that will refund money to your account, however, there is not a traditional sandbox environment and full-testing requires using your own money and creating your own transactions.
(Updated: Added Feb 27, 2014) - However, between Stripe and Braintree, Stripe wins in the API department. Braintree’s API and dashboard are limited in functionality. For example, with Stripe you can create/update/delete plans and coupons directly through the API. With Braintree you are unable to do that through the API and must log in to the dashboard. On the documentation side, Stripe provides a complete listing of the functions and sample responses, including data types, to expect in response to various API calls. With Braintree you are left to test/guess at what the response may be. One last gripe with Braintree API is that some of the calls/responses do not correspond to the actual settings within the dashboard. For example, Braintree does not let you set an expiration date for a coupon through the dashboard. However, the API response to a coupon call will return an expiration response.
(Updated: Added Feb 28, 2014) – One gripe about the Stripe API/Dashboard is that you can not add a name/company/address/phone details to a customer. These are instead contained within the card details associated with the customer. The problem with this setup is that the name on card may be different than the actual name of the customer. In addition, if the customer has multiple cards stored in their account you are opening yourself up to discrepancies between names/addresses. Another downside to this setup is that when searching through customer records you need to know the email address of the customer which may be a little more difficult to remember than saying “hey find me john doe”, now I have to say “hey I think this is the correct email address”.
(Updated: Added Feb 27, 2014) - From the dashboard perspective, Braintree is also somewhat limited. For example, you can create a customer and a plan, but unless you use the API you can not associate a customer with a plan to create a subscription. Where with the Stripe, Dwolla, and Balanced dashboards you can easily manage the entire customer lifecycle directly through the dashboard.
(Updated: Added Feb 27, 2014) - On a final note, I have to give some points to Balanced. Shortly after writing this original post an engineer from Balanced reached out to me to answer any questions and provide me with some guidance on their API. Balanced is currently working to rewrite their API documentation and it sounds like there is a lot more to come from them.
(Updated: Added Feb 27, 2014) - As a developer, if you are looking for an all purpose, easy to understand and use, and full function API/Dashboard combination I would go with Stripe, Balanced, or Dwolla. If you are looking to just process straight credit cards and do not need the marketplace environment Stripe is the winner. For marketplace environments I would highly suggest either Balanced or Dwolla.
(Updated: Added Feb 28, 2014) - Another thought on the Balanced API/platform is more of a smaller gripe, but can be a little bit of a challenge when integrating with existing customer data. Balanced supports a name field in both their dashboard and through their API, however, they do not differentiate between a first name and/or last name. It is a single field, meaning that if your current customer database has separate fields for both you must link them together before sending which is not a big deal, however, if you are pulling data from Balanced you must determine how to separate that data back into your database. While not a big deal for simple names such as John Doe, but through a complex name in there like John Robert Doe III and your algorithm to split the name just got a whole lot more complex.
All the processors charge a processing fee and it is impossible to get around this. Although Dwolla does a good job with offering free processing for all transactions under $10.00. Stripe and Braintree are comparable with their 2.9% and $0.30 per transaction fees (both also offer volume discounts on these rates). Balanced charges 2.9% plus $0.30 for credit card transactions and 1% plus $0.30 for ACH transactions. Balanced also charges $0.25 for payouts to your bank account.
If you are looking to start a marketplace for other buyers and sellers, then Balanced or Dwolla will lead the pack here. They are both well developed for supporting marketplaces and their APIs are geared directly towards the marketplace environment.
Global acceptance can be tricky. Stripe and Braintree both allow you to receive payments from customers globally. Stripe does require your business to be located in the US, Canada, UK or Ireland. They are currently working to integrate with Belgium, France, Germany, Finland, Luxembourg and Australia. Braintree is limited to merchants in the US, Canada, Australia, and Europe. Dwolla is limited to US customers only. Balanced supports international payments in US dollars, however ACH transactions are limited to US customers.
All these processors support both products and subscription or recurring billing. Stripe and Braintree allow you to easily configure plans, coupons, and manage the entire customer cycle. Balanced does a good job of managing the customer, however, they could be a little more clear and complete in doing so. And while Dwolla will allow you to do recurring payments, their back end is not clear on doing so.
In summary, if you are looking to process credit cards with the most features I would recommend Stripe or Braintree. If you are looking to setup a marketplace for sellers and buyers to make transactions where you take a cut or fee I would recommend Balanced. If you are looking to simply facilitate money transfers between customers or for the purchase of a product Dwolla is a good choice. Dwolla is most similar to PayPal in how it handles transactions and the flow of money.