The First 10-Year Evolution of Stripe’s Payments API

· Source: ByteByteGo Newsletter · Field: Technology & Digital — Software Development & Engineering, FinTech & Digital Financial Services · Depth: Intermediate, long

Summary

Stripe's payment API evolved significantly over 10 years, moving from a simple credit card processing system to a unified global platform. Initially, Stripe launched with "Tokens" for secure card data handling and "Charges" for immediate payment requests, primarily for US credit cards. As the company expanded to include ACH debit and Bitcoin in 2015, it faced challenges with asynchronous payment finalization and customer-initiated payments, leading to the introduction of pending states and new resources like BitcoinReceiver. The subsequent "Sources API" attempted to unify these, but introduced complexity due to varying payment method behaviors and the need for merchants to manage multiple state machines and webhooks. This led to the realization that credit cards were an outlier in payment finalization and initiation. By 2017, Stripe developed the "PaymentIntents" and "PaymentMethods" abstractions, creating a single, predictable state machine for all global payment types, which significantly improved resilience and consistency for developers.

Key takeaway

For VPs of Engineering or product leaders building platform APIs, Stripe's journey highlights the critical need to anticipate future complexity and design for global scale from the outset. Your initial "simple" solution for a narrow use case may become a significant burden as requirements expand. Prioritize designing from first principles and creating consistent, predictable abstractions, even if it means a slightly higher initial integration effort for basic use cases. This approach will prevent costly refactoring and maintain developer experience as your product evolves.

Key insights

Stripe's API evolution demonstrates the challenge of maintaining simplicity while scaling to global payment complexity.

Principles

Method

Stripe's team designed the PaymentIntents API by closing laptops, focusing on questions, using visual aids, and validating concepts with hypothetical integration guides for real and imaginary payment methods.

In practice

Topics

Best for: VP of Engineering/Data, Entrepreneur, Software Engineer, Product Manager, CTO

Related on AIssential

Open in AIssential →

Editorial summary, takeaway, and curation by AIssential. Original article published by ByteByteGo Newsletter.