Principal
Systém platby pomocí telefonu Je nutné implementovat architekturu, ve které může zákazník platit nákupy na pokladně/KS (self-service pokladna) pomocí mobilní aplikace. Platba NE probíhá přes SBP. Uživatel při nákupu zboží volí platbu pomocí aplikace. Pokladna nebo KS musí identifikovat uživatele a spustit proces platby pomocí banky klienta. SCM: - Pokladní/klient skenuje zboží. - Přechází k platbě. - Identifikuje se na pokladně/KS. - Vybere platbu v aplikaci Magnit. - Přechází do aplikace Magnit. - Vybere banku nainstalovanou na telefonu, ze které se platba provádí. - V aplikaci banky provede platbu. - Vrátí se na obrazovku výsledku platby v aplikaci Magnit. - Na pokladně/KS obdrží zprávu o úspěšné platbě. Nefunkční požadavky: - DAU = 1000 v obchodě - Počet obchodů 500 - Počet pokladen - v průměru 5 pokladen. - Platba musí být dokončena maximálně za 2 minuty. - Stránka platby by se měla otevřít maximálně za 250 ms.
sobes.tech AI
Odpověď od AI
Для реализации системы оплаты через мобильное приложение без использования СБП можно предложить следующую архитектуру:
-
Идентификация пользователя на кассе/КСО
- Пользователь сканирует товары.
- При переходе к оплате выбирает оплату через приложение Магнит.
- Касса/КСО предлагает пользователю авторизоваться, например, через QR-код, NFC или ввод кода, который связывает кассу и мобильное приложение.
-
Запуск процесса оплаты
- После идентификации касса передает в приложение Магнит информацию о сумме и деталях покупки.
- Приложение Магнит открывается на телефоне пользователя (через deep link или push-уведомление).
- Пользователь выбирает банк из списка установленных банковских приложений.
-
Оплата через банк
- Приложение Магнит передает данные в выбранное банковское приложение через стандартный протокол (например, через Intent на Android или URL-схему на iOS).
- Пользователь подтверждает оплату в банковском приложении.
-
Подтверждение оплаты
- Банк отправляет подтверждение об успешной оплате обратно в приложение Магнит.
- Приложение Магнит уведомляет кассу/КСО о результате оплаты через серверную часть.
- Касса/КСО отображает сообщение об успешной оплате.
Нефункциональные требования и их обеспечение:
- DAU = 1000 в магазине, 500 магазинов, 5 касс в среднем:
- Серверная инфраструктура должна быть масштабируемой, использовать балансировщики нагрузки и кэширование.
- Оплата за максимум 2 минуты:
- Минимизировать задержки на каждом этапе, использовать быстрые протоколы обмена.
- Страница оплаты открывается максимум за 250 мс:
- Использовать deep linking, предварительную загрузку данных в приложении Магнит.
Пример взаимодействия:
- Пользователь на кассе сканирует товары.
- Касса генерирует QR-код с информацией о покупке и сессии.
- Пользователь сканирует QR-код в приложении Магнит.
- Приложение Магнит показывает сумму и предлагает выбрать банк.
- После выбора банка происходит переход в банковское приложение для оплаты.
- После успешной оплаты возвращается подтверждение, касса получает сигнал и завершает транзакцию.