How Does Stripe Work? Everything You Need To Know About Processing Payments With Stripe
Unless you’re really paying attention, Stripe can almost seem like a conspiracy: it’s everywhere — but not always in plain sight. The truth is, Stripe is a “full-stack payment processor,” which is a fancy way of saying that it serves as both a third party payment processor and a payment gateway. What this means is that Stripe allows your business to process credit and debit cards, as well as automated clearing house (ACH) transactions, both online and offline.
Founded in 2010, Stripe now powers the transactions of some of the biggest brands out there, including Lyft, Under Armour, Blue Apron, and Pinterest. In fact, the company claims that 89% of all credit cards have been processed on a Stripe network at some point. With the ability to handle 135 currencies, it’s a common solution for companies that do business internationally.
Stripe has a tremendous amount of potential power under its hood, but not every business will have the resources (or even the need) to utilize everything it can do. Read on for an in-depth look into how Stripe works and what it can offer your business.
Table of Contents
How Does Stripe Work?
Stripe Payments is a payment processing platform. It allows you to transfer money from a customer’s bank account into your business’s account by way of a credit or debit card transaction. That’s a pretty simplified explanation, but we’ll get more into the nitty-gritty details later.
While Stripe can be used for all kinds of transactions, chances are you’re considering it because you’re looking for an eCommerce solution. Keep reading for a comprehensive overview of how Stripe works in an online retail setting.
Stripe Payments Tools For Online Businesses
To process online transactions you need both a payment gateway and payment processor. The gateway securely captures and transmits the customer’s credit card payment information to the processor, which then actually processes the transaction. Funds from the customer’s bank are then temporarily routed to a merchant account (in this case of a third party processor like Stripe, it’s an aggregated account — more on that later), where credit card-related fees are deducted from the sum. The payment is then routed to the merchant’s bank account. It’s actually a lot more complicated than that if you want to dive down the rabbit hole, but for our purposes, this works as a general overview.
Stripe combines gateway functionality and payment processing, making it a convenient (if not necessarily the cheapest) way to handle eCommerce. Now let’s take a look at how Stripe makes it happen.
Stripe Developer Tools
Stripe bills itself as a developer-friendly solution:
We believe that payments is a problem rooted in code, not finance. We obsessively seek out elegant, composable abstractions that enable robust, scalable, flexible integrations. Because we eliminate needless complexity and extraneous details, you can get up and running with Stripe in just a couple of minutes.
Stripe’s online developer resources are certainly impressive and, unlike many of its competitors, they’re completely public, so you can get a sense of the work involved in setting it up.
You’ll need two pairs of keys to use Stripe’s REST API: one for testing, the other for when you go live. You can find them in your Stripe Dashboard under Developers —> API Keys. You can toggle between Live and Test keys once your account is activated.
Stripe plays nicely with popular server-side languages/frameworks, with particular care given to Ruby, Python, PHP, Java, Node.js, Go, and .NET. The minimal setup up for Stripe is actually pretty simple and, if you’re using a pre-built checkout like Stripe Checkout, is probably manageable for developers with limited experience (we’re talking less than 15 lines of code to test the API call).
The first thing you’ll need to do is install the language-appropriate Stripe library. You can do this with package managers like npm for Node.js, pip for Python, etc. From there, it’s just a matter of setting your API keys and creating an object containing your payment intent with properties for amount, currency, payment method, and the email address the receipt will be sent to. If you’re successful, Stripe will return an object containing transaction details.
From here, Stripe stops holding your hand quite so tightly and instead offers a few different paths you can take to build your eCommerce page (or in the case of Stripe Checkout, integrate it into your page).
The guides are all as concise as the basic setup guide, with plenty of code snippets and links to other relevant parts of the Stripe Docs. If you don’t want to start from scratch, you can clone one of many existing boilerplate projects through GitHub.
Stripe Plug & Play Setup Using Integrations
Did your eyes glaze over on the previous section? Understandable. Not every business is going to have access to a developer. While Stripe itself is developer-focused, there are ways to work it into your payment processing pipeline without having an in-house tech team:
- Contract with one of Stripe’s partnered developers.
- Use a pre-built eCommerce solution that supports Stripe integration.
You’ll see a lot of familiar names if you consider the second option. Let’s use WooCommerce as a case study. (The exact process with other integrations may be a little different, but the big commonality is that you’ll need to enable Stripe via two keys provided by the processor.)
WooCommerce exists both as a WordPress theme and an integration that can be plugged into other WordPress themes. Make sure you’ve installed WooCommerce’s Stripe Payment Gateway plugin. Once you have, you’ll find the necessary settings under (wait for it) WooCommerce —> Settings in your CMS sidebar. Click over to the Checkout tab and then look for the Stripe submenu link.
You’ll then have the option to Enable/Disable Stripe and make custom fields for your shopping cart. At this point, you can Enable Test Mode to try out the test credit numbers provided by Stripe. You’ll need your Test Secret Key and Test Publishable keys to do so (if you disable Test Mode, the plugin will instead ask for the Live versions).
From here, there are a few options you can enable or disable at your taste, including the ability to automatically capture credit card information or have to manually authorize it (beware, you have a limited window to do so), use Stripe Checkout’s prebuilt fields and assets, enable Apple Pay, enable payment via saved cards, and set languages. Note that card data is saved to Stripe’s servers, not yours, which should be a relief to you.
And that’s about it. You can start accepting eCommerce payments with Stripe! While this kind of set up doesn’t involve any coding, be aware that you’ll still need some familiarity with navigating your website’s CMS and submenus. Luckily, most of the bigger pre-built shopping carts have a wealth of tutorials online that should get you through the most commonly encountered problems.
Is Stripe Safe For Customers?
Stripe has a reputation for taking security very seriously, and it appears to be well-earned. Stripe is a certified PCI Service Provider Level 1, which means it meets the most stringent security standards in the industry.
Stripe uses HTTPS for all services using TLS(SSL), even for their public website and dashboard. Credit card numbers are encrypted, with decryption keys stored on separate machines.
That said, nobody’s perfect. Stripe offers an incentive program to anyone who identifies a qualifying security-related bug and reports it to Stripe’s security team. Major bugs earn a minimum $500-reward. Lesser vulnerabilities may be rewarded a minimum of $100.
If you’re still concerned about fraud, Stripe does offer an advanced fraud detection service called Radar. Radar will probably be overkill for most businesses, but it uses machine learning to predict the likelihood that any particular transaction is fraudulent by factoring in data from your business and information Stripe has about the card being used. Radar is free with accounts paying the standard Stripe fee, or as a $0.04/transaction add-on. You can also buy chargeback protection for a 0.04% fee per transaction.
Why Stripe Is Great For International Businesses
If you’re considering Stripe over a more cost-effective solution, there’s a good chance it’s because you’re interested in selling across international borders. Stripe markets itself as the premier payment services company for international business and, while its claim to the throne is debatable, it’s definitely a contender.
Stripe is available in 34 countries. That is, it’s available to merchants whose businesses are based in those countries, but it can accommodate over 135 different currencies. Better still, if the charge currency (yours) differs from the customer’s credit card currency, Stripe can convert the payment to your currency for a small fee based on daily mid-market exchange rates. You can avoid the currency conversion fee if you have a connected bank account that uses the credit card’s currency.
Another nice feature for international businesses is that Stripe allows you to display the cost of your products in the viewer’s native currency. So even if your hipster barber business is based in New York, you can sell your whisker trimmers in pounds sterling in London.
Finally, Stripe accepts a large number of payment types, including ones popular in foreign markets. We’ll take a look at them in the next section.
Stripe Payment Methods
Stripe supports a large number of payment methods, making it a convenient choice for doing business in foreign markets. Stripe even takes the rare approach of supporting local payment types in addition to the more common “universal” ones, which a particular focus on types that are popular in the EU and China.
Stripe’s Payments API supports the following universal payment types (these are supported in all markets):
- Apple Pay
- Google Pay
- Microsoft Pay
- Amex Express Checkout
- Masterpass by Mastercard
- Visa Checkout
- WeChat Pay
Additionally, Stripe supports local payment types in the markets where they’re popular. They are:
- SEPA Direct Debit
Here’s a handy chart to get an idea of what you can use, and where.
Check out our pricing article for more information on what all this costs.
Stripe Prohibited Businesses: What You Can & Cannot Sell
Most payment services, whether due to security concerns, legal concerns, or moral convictions, won’t work with every industry. Stripe, it turns out, is no different. Because Stripe is a third-party processor, meaning it aggregates all of its clients into a single merchant account, it’s taking on a bit more risk than if each customer had their own merchant account. If you’re in a “problem” industry and still need to accept card payments, you may want to consider getting a merchant account from a company like Payment Cloud instead.
So first the obvious: Stripe will not do business with entities that sell illegal or products or services, no exceptions. Beyond that, Stripe’s restrictions are a little soft: you may be able to plead your case to Stripe to get them to make an exemption for you.
- Financial and professional services:
- Investment & credit services
- Money & legal services
- Virtual currency
- IP Infringement, regulated, or illegal products and services
- Anything infringing on IP right
- Counterfeit goods
- Regulated products (tobacco, cannabis, and related products)
- Adult content & services
- Unfair, predatory, or deceptive practices
- Get rich quick schemes
- Mug shot publications or pay-to-remove sites
- Products or services restricted by Stripe’s financial partners
- Aggregation of funds, factoring, payment facilitation
- Drug paraphernalia
- High-risk businesses
- Multi-level marketing
- Pseudo pharmaceuticals
- Social media activity
- Substances designed to mimic illegal drugs
- Video game/virtual world credits
They also don’t like to see Stripe used in a manner inconsistent with its intended purpose or manner prohibited by its Stripe Services Agreement.
Is Stripe Right For Your Business?
Stripe is a great option for businesses that do a lot of eCommerce, want the best security the industry has to offer, and do business across international borders. If you’re a programmer or have one on your team, Stripe also provides some of the best developer tools in the payment processing industry, period. The prefab integrations aren’t quite as exciting, but they’re serviceable if you need access to Stripe’s features.
That said, Stripe can be overkill. It’s not the cheapest option, and you can’t just use it as a gateway. You get a lot of services for your money, but it’s very possible, perhaps even likely, that you won’t need or use all of them. And, like all third-party processors, it comes with a heightened risk of unexplained account holds and freezes.
If you like what Stripe has to offer but are a little overwhelmed by its scope, check out our Stripe alternatives. Is your industry not served by Stripe? Find a payment processor that works with your business amoung our favorite online payment gateways and credit card processors.