Stripe API Design Decisions

Until now, we have understood the requirements of Stripe and its importance in the payment system. In this lesson, we will learn about Stripe and discuss the interaction of various micro-services that make it operational. Further, we will decide on some important technical aspects such as API architectural styles for interaction with different entities, communication protocols, and data formats for exchanging data with clients and backend services.

Let's start with the internal services of Stripe by presenting its abstract architecture.

Design overview

Stripe provides a good number of services to their customers that handle each aspect of the payment process. We will focus on prominent services that include customer, session, invoices, charges, refunds, balance, and payout services, as shown in the figure below:

Level up your interview prep. Join Educative to access 70+ hands-on prep courses.