Principal
Sistem de plată prin telefon Este necesar să implementați o arhitectură în care clientul să poată plăti cumpărăturile la casă/KS (casă de autoservire) folosind o aplicație mobilă. Plata NU se face prin SBP. Când utilizatorul cumpără produse, alege să plătească folosind aplicația. Casierul sau KS trebuie să identifice utilizatorul și să inițieze procesul de plată cu banca clientului. Scenariu: - Casierul/utilizatorul scanează produsele. - Trece la plată. - Se identifică la casă/KS. - Alege să plătească în aplicația Magnit. - Accesează aplicația Magnit. - Alege banca instalată pe telefonul său pentru a efectua plata. - În aplicația băncii, efectuează plata. - Se întoarce pe ecranul de rezultat al plății în aplicația Magnit. - La casă/KS, primește mesaj despre plata reușită. Cerinte non-funcționale: - DAU = 1000 în magazin - Număr de magazine 500 - Număr de case - în medie 5. - Plata trebuie să se realizeze în maximum 2 minute. - Pagina de plată trebuie să se deschidă în maximum 250ms.
sobes.tech AI
Răspuns de la AI
Для реализации системы оплаты через мобильное приложение без использования СБП можно предложить следующую архитектуру:
-
Идентификация пользователя на кассе/КСО
- Пользователь сканирует товары.
- При переходе к оплате выбирает оплату через приложение Магнит.
- Касса/КСО предлагает пользователю авторизоваться, например, через QR-код, NFC или ввод кода, который связывает кассу и мобильное приложение.
-
Запуск процесса оплаты
- После идентификации касса передает в приложение Магнит информацию о сумме и деталях покупки.
- Приложение Магнит открывается на телефоне пользователя (через deep link или push-уведомление).
- Пользователь выбирает банк из списка установленных банковских приложений.
-
Оплата через банк
- Приложение Магнит передает данные в выбранное банковское приложение через стандартный протокол (например, через Intent на Android или URL-схему на iOS).
- Пользователь подтверждает оплату в банковском приложении.
-
Подтверждение оплаты
- Банк отправляет подтверждение об успешной оплате обратно в приложение Магнит.
- Приложение Магнит уведомляет кассу/КСО о результате оплаты через серверную часть.
- Касса/КСО отображает сообщение об успешной оплате.
Нефункциональные требования и их обеспечение:
- DAU = 1000 в магазине, 500 магазинов, 5 касс в среднем:
- Серверная инфраструктура должна быть масштабируемой, использовать балансировщики нагрузки и кэширование.
- Оплата за максимум 2 минуты:
- Минимизировать задержки на каждом этапе, использовать быстрые протоколы обмена.
- Страница оплаты открывается максимум за 250 мс:
- Использовать deep linking, предварительную загрузку данных в приложении Магнит.
Пример взаимодействия:
- Пользователь на кассе сканирует товары.
- Касса генерирует QR-код с информацией о покупке и сессии.
- Пользователь сканирует QR-код в приложении Магнит.
- Приложение Магнит показывает сумму и предлагает выбрать банк.
- После выбора банка происходит переход в банковское приложение для оплаты.
- После успешной оплаты возвращается подтверждение, касса получает сигнал и завершает транзакцию.