Developer

Stripe: Why it's my de facto standard for payment processing

Any developer you ask will be able to tell you a horror story about working with online payment processing solutions. Stripe is a bright spot amongst the options.

stripecnet.png

eBay recently announced the spinoff of PayPal to its own company. The startup Stripe has PayPal in its sights, as it brings a simpler approach to e-commerce.

From an industry standpoint, Stripe is gaining momentum, with General Catalyst committing investing in it, along with a Twitter partnership. From a technology standpoint, the attraction of Stripe is its simplicity and detailed documentation. Let's look at what Stripe offers and how to use it.

Stripe is developer focused

Payment gateways often lack adequate documentation, so integrating them in your code usually tests a developer's patience and sanity. This is one of the reasons I was initially attracted to Stripe (plus, there is lots of positive feedback in the development community), as it offers a simple-to-use gateway with a host of well-documented services.

One of Stripe's taglines is "built for developers" and it shows. At the most basic level, you drop some JavaScript on your web page and then call the Stripe API to make a purchase. The great feature is your server never has to know about the credit card number — this is a critical point when faced with PCI compliance. The Stripe testing page allows you to see it in action and see how errors are handled (Figure A); it uses the Stripe embedded form for accepting input. A great Stripe feature is it does not require a user to create an account, which can be a nuisance when using a service like PayPal.

Figure A

stripefiga100314.jpg

Test-driving the Stripe service via a demo page.

While users do not have to sign up to use Stripe for payments, your business needs to set up an account to use its service in your web application. Signing up is as simple as entering a valid email address and password. As a result, Stripe generates API keys (for test and live sites) that are used in your code to submit transactions.

In addition, you link your account to a bank account and set up how often payments are deposited (minimum two business day turnaround) along with email notifications, failed transaction resubmit frequency, and more. Stripe provides easy access to these settings via the control panel. Figure B shows account general information, while Figure C shows failed transaction options. Figure D is a Stripe page that provides a quick snapshot of activity.

Figure B

stripefigb100314.jpg

Stripe account general information.

Figure C

stripefigc100314.jpg

Stripe account failed transaction submission options.

Figure D

stripefigd100314.jpg

Stripe interface provides payment-processing snapshot.

While the JavaScript option is simple to use, Stripe offers a number of pre-built libraries for utilizing the service — a quick review of Stripe's library page shows popular platforms covered with others (such as C#) provided via community-developed libraries. In addition, there are a number of third-party plugins available for easy integration with popular packages such as WordPress.

The Stripe examples page provides great code examples to help you get up and running. Stripe utilizes a REST-based API with extensive online documentation available in cases where you need to develop your own integration code, or you are just curious as to how everything works.

My first exposure to Stripe was on a Ruby project where I used the stripe-ruby gem. Stripe account setup was straightforward, and I was able to integrate it in my Ruby application in under 50 lines of code using the aforementioned gem — it was incredibly easy.

Payments made easy

For an old-timer like myself, it is mind-boggling how easy it is to set up payment processing for a web application. Years ago this was a time-consuming process that involved a merchant account and more hurdles and coding, but services like Stripe have lowered the entry point, making it an instant process so your site can be up and accepting online payments via Stripe in no time.

A key advantage of a service like Stripe over something like PayPal is seamless integration as users enter their information without your site (i.e., there's no redirection to another page), so it resembles an old fashioned gateway like Authorize.net. This leads to a much smoother user experience because there's no disruption of going to a third-party site.

Stripe offers flat fees and no hidden charges, so you can worry about getting paid from users.

The online payment industry continues to develop with different players (including (wepay and Dwolla) vying for the top spot, but Stripe is gaining momentum. Stripe has been in the startup role for some time, so it will be interesting to see how its increasing customer base impacts service. One area where Stripe could expand is customer support, as it currently relies on email and online chats, so perhaps a telephone contact will come with growth.

For now, I'm sticking with Stripe as my de facto standard for payment processing.

Also see

Note: TechRepublic, ZDNet, and CNET are CBS Interactive properties.

About Tony Patton

Tony Patton has worn many hats over his 15+ years in the IT industry while witnessing many technologies come and go. He currently focuses on .NET and Web Development while trying to grasp the many facets of supporting such technologies in a productio...

Editor's Picks

Free Newsletters, In your Inbox