Follow Stripe on Twitter

Stripe’s payments APIs: the first ten years

Michelle Bu on December 15, 2020 in Engineering

A few years ago, Bloomberg Businessweek published a feature story on Stripe. Four words spanned the center of the cover: “seven lines of code,” suggesting that’s all it took for a business to power payments on Stripe. The assertion was bold—and became a theme and meme for us.

To this day, it’s not entirely clear which seven lines the article referenced. The prevailing theory is that it’s the roughly seven lines of curl it took to create a Charge. However, a search for the seven lines of code ultimately misses the point: the ability to open up a terminal, run this curl snippet, then immediately see a successful credit card payment felt like seven lines of code. It’s unlikely that a developer believed a production-ready payments integration involved literally only seven lines of code. But taking something as complex as credit card processing and reducing the integration to only a few lines of code that, when run, immediately returns a successful Charge object is really quite magical.

Abstracting away the complexity of payments has driven the evolution of our APIs over the last decade. This post provides the context, inflection points, and conceptual frameworks behind our API design. It’s the extreme exception that our approach to APIs makes the cover of a business magazine. This post shares a bit more of how we’ve grown around and beyond those seven lines.

A condensed history of Stripe’s payments APIs

Successful products tend to organically expand over time, resulting in product debt. Similar to tech debt, product debt accumulates gradually, making the product harder to understand for users and change for product teams. For API products, it’s particularly tempting to accrue product debt because it’s hard to get your users to fundamentally restructure their integration; it’s much easier to get them to add a parameter or two to their existing API requests.

In retrospect, we see clearly how our APIs have evolved—and which decisions were pivotal in shaping them. Here are the milestones that defined our payments APIs and led to the PaymentIntents API.

Read more

December 15, 2020

European payment methods available worldwide in minutes, not months

Sophie Sakellariadis on October 27, 2020

A great promise of the internet is to eliminate the impact of physical distance on our lives. But 35+ years after the internet’s founding, selling cross-border remains shockingly difficult. Why?

Online commerce is fragmented. The top 50 ecommerce markets have over 75 popular payment methods—including wallets, bank methods, and even cash at convenience stores. Accepting more payment methods is important: buyers often abandon checkout if they can’t use their preferred way to pay. But it can take months to add local payment options. Before engineering work can even begin, you need to register foreign corporate entities, open new bank accounts, pay local taxes, and fill out reams of compliance forms. It shouldn’t be this hard.

Read more

October 27, 2020

New Dashboard features to save you time

Sashko Stubailo on October 8, 2020

The Stripe Dashboard is the hub for millions of businesses to take action—whether that’s a founder at a small startup that interacts directly with customers or support teams at larger organizations working to address thousands of customer inquiries each week.

Read more

October 8, 2020