Постановка задачи
📸 Что такое платежная система?
Платежные системы позволяют бизнесам, которые далее в этой статье мы будем называть продавцами, принимать платежи от клиентов, не создавая собственную инфраструктуру для обработки платежей. Клиент вводит платежные данные на сайте продавца, продавец отправляет эти данные в платежную систему, а платежная система обрабатывает платеж и возвращает результат продавцу.
Функциональные требования
Основные требования
- Продавцы могут инициировать запросы на оплату (списывать с клиента определенную сумму).
- Клиенты могут оплачивать товары кредитными или дебетовыми картами.
- Продавцы могут получать обновления статуса платежей, например "pending", "succeeded" или "failed".
За рамками задачи
- Клиенты могут сохранять способы оплаты для дальнейшего использования.
- Продавцы могут оформлять полный или частичный возврат средств.
- Продавцы могут просматривать историю транзакций и отчеты.
- Система должна поддерживать альтернативные способы оплаты, такие как банковские переводы и цифровые кошельки.
- Система должна уметь обрабатывать регулярные платежи, например подписки.
- Система должна поддерживать выплаты продавцам.
Нефункциональные требования
Прежде чем формулировать нефункциональные требования на собеседовании, полезно уточнить масштаб системы, потому что он сильно влияет на архитектуру. В этой задаче мы будем рассматривать систему, которая обрабатывает около 10 000 транзакций в секунду (TPS) при пиковой нагрузке.
Перейдите на Premium, чтобы продолжить
Разблокируйте доступ к этой статье и всем остальным материалам с NowInterview Premium
Перейти на Premium