Principal
Sistema di pagamento tramite telefono È necessario implementare un'architettura in cui il cliente possa pagare gli acquisti alla cassa/KS (cassa self-service) tramite un'applicazione mobile. Il pagamento NON avviene tramite SBP. Quando l'utente acquista i prodotti, sceglie di pagare tramite l'app. La cassa o KS devono identificare l'utente e avviare il processo di pagamento con la banca del cliente. CJM: - Il cassiere/cliente scansiona i prodotti. - Passa al pagamento. - Si identifica alla cassa/KS. - Sceglie di pagare con l'app Magnit. - Accede all'app Magnit. - Seleziona la banca installata sul telefono da cui si effettua il pagamento. - Effettua il pagamento nell'app bancaria. - Torna allo schermo dei risultati del pagamento nell'app Magnit. - La cassa/KS riceve un messaggio di pagamento riuscito. Requisiti non funzionali: - DAU = 1000 nel negozio - Numero di negozi 500 - Numero di casse - in media 5 casse. - Il pagamento deve essere completato in massimo 2 minuti. - La pagina di pagamento deve aprirsi in massimo 250 ms.
sobes.tech AI
Risposta dell'AI
Для реализации системы оплаты с помощью мобильного приложения, не используя СБП, можно предложить следующую архитектуру:
-
Идентификация пользователя на кассе/КСО:
- Касса/КСО генерирует уникальный QR-код с информацией о покупке и идентификатором транзакции.
- Пользователь сканирует QR-код в приложении Магнит.
-
Переход в приложение Магнит:
- Приложение Магнит получает данные о покупке и предлагает выбрать банк для оплаты.
-
Оплата через банк:
- Приложение Магнит инициирует переход в приложение банка с передачей параметров оплаты (сумма, идентификатор транзакции).
- Пользователь подтверждает оплату в приложении банка.
-
Подтверждение оплаты:
- Банк отправляет уведомление о статусе оплаты в backend Магнита.
- Backend Магнита обновляет статус транзакции.
- Касса/КСО получает уведомление о успешной оплате через push-сообщение или polling.
-
Отображение результата:
- Приложение Магнит показывает результат оплаты.
- Касса/КСО завершает процесс покупки.
Нефункциональные требования:
- Для обеспечения DAU 1000 на магазин и 500 магазинов с 5 кассами каждая, система должна быть масштабируемой и распределённой.
- Использовать кэширование и быстрые очереди сообщений для минимизации задержек.
- Оптимизировать генерацию и обработку QR-кодов.
- Страница оплаты должна загружаться не более 250 мс — использовать CDN, минимизировать запросы.
- Время оплаты до 2 минут — предусмотреть асинхронные уведомления и таймауты.
Такой подход обеспечивает безопасность, масштабируемость и удобство для пользователя.