For smaller organizations, the move to start accepting payments online can be a challenging one. The decision of what vehicle to use to accept payments has typically boiled down to two different families: Private Payment Systems, such as PayPal, Google Checkout, or Amazon Payments, and Merchant Accounts, typically provided by your bank, combined with an Online Payment Gateway such as Authorize.net.
The Traditional Choices
The decision of which method to use to accept payments historically boiled down to a tradeoff between usability & control versus cost. Private payment systems are generally inexpensive and simple to set up. But you lose a lot of control over the payment experience. Merchant account based solutions allow you to completely control every facet your users experience in the payment process, but are more expensive to set up, and have monthly costs which can be prohibitive to small organizations with low transaction volume.
For small businesses, it seemed that in either case, the disadvantages were stronger than the advantages. The costs of a Merchant Account solution were prohibitive, but using PayPal caused user issues that were negatively affecting orders.
Stripe.com – Combining the Best of Both Worlds
But then came Stripe.com. The self-dubbed “Payments for Developers” company set out to create a system that has all the advantages of both traditional choices without the negatives. We have recently set up online payments utilizing Stripe for one of our non-profit customers, and it truly appears that Stripe has achieved its goal as well as possible. (Stripe is not compensating us for this review. It just comes from our positive experiences with it.)
Usability & Control
To me, the biggest advantage of Authorize.net is the ability to completely control the payment process your users’ experience. Instead of being taken to a third-party site and being asked to log in or register, the visitor stays at your web site and pays on pages that you design. You determine exactly what happens after payment info is submitted, etc. Solutions like PayPal are much less user-friendly, and if that’s your only payment option, conversions will suffer.
Here, Stripe acts & appears just like an online payment gateway like Authorize.net. Your user stays on your site, fills out your forms, and the flow of the payment process is determined only by you and your developer. There is no difference at all in the payment process from your customer’s standpoint, and you are completely able to tailor any facet of the page or flow to maximize usability & conversion.
The big advantage of Private Payment Systems such as PayPal was that they could be so much less expensive than a Merchant Account solution. For a small organization, the monthly fees charged by your bank and by Authorize.net could really eat into the margins if your volumes are low. PayPal’s “Standard” level of service has no monthly fee and charges 2.9% plus 30 cents for each transaction.
As far as costs go, Stripe now looks very much like PayPal. There are no monthly fees, and they also charge 2.9% and 30 cents per transaction. This is the same for all credit cards, even cards that typically cost more in a Merchant Account scenario such as American Express or Business credit cards. Like PayPal, Stripe will hold your money for a few days before transferring it to your bank account (typically 7 days—it’s a bit more variable with PayPal).
You will need an SSL Certificate, like you would with an online gateway, so there will be that cost that is not incurred in a PayPal-like solution. An SSL certificate typically runs between $100 and $500 annually depending on level and provider.
Development & Implementation
One of PayPal’s advantages is that it is extremely simple and fast to implement. There are just a couple widgets you can fill out to create “Pay Now” buttons to add to your web site and you’re off and running. With Stripe, because you do get that control over your site, there is a bit more development work needed to get going.
Whereas someone who is not much of a coder can take a snippet of code that PayPal or Google provides and incorporate it into their site to start accepting payments, you’re going to need the help of your developer to implement Stripe. (After all, as we already said, they call themselves “Payments for developers.”) And if your developer has not used Stripe before, there might be a slight learning process. But again, it is “Payments for Developers”. It’s easy to figure out how to implement Stripe, and there are pre-written libraries in most of the common web programming languages that can speed things up even more.
Even if your developer has pre-written code designed for Authorize.net, if you have not already set up a Merchant Account, you’ll certainly be able to get going faster with Stripe. It can take several days, even weeks to get your Merchant Account and your Authorize.net account approved and going before your developer can even start setting up your site for it. There is no Merchant Account with Stripe, so it’s truly just the time it takes to write and test the code. While this is more work than it is for PayPal, it is very straightforward. Here is a good tutorial for implementing Stripe in a PHP system.
I make no secret about being a big proponent of using a Merchant Account approach instead of a Private Payment System. To me, the opportunity cost of the poor usability and lack of control in a system like PayPal is far greater than the cost savings. And there are still advantages of Authorize.net for many situations. But for smaller organizations, or companies that need to get up and going right away, Stripe.com is a solution that has been a long time coming, and one that I recommend wholeheartedly.