Principal
Σύστημα πληρωμής μέσω τηλεφώνου Πρέπει να υλοποιηθεί μια αρχιτεκτονική όπου ο πελάτης μπορεί να πληρώνει αγορές στο ταμείο/KS (ταμείο αυτοεξυπηρέτησης) μέσω μιας κινητής εφαρμογής. Η πληρωμή ΔΕΝ γίνεται μέσω SBP. Όταν ο χρήστης αγοράζει προϊόντα, επιλέγει να πληρώσει μέσω της εφαρμογής. Το ταμείο ή το KS πρέπει να αναγνωρίσει τον χρήστη και να ξεκινήσει τη διαδικασία πληρωμής με την τράπεζα του πελάτη. CJM: - Ο ταμίας/πελάτης σκανάρει τα προϊόντα. - Πηγαίνει στην πληρωμή. - Αναγνωρίζεται στο ταμείο/KS. - Επιλέγει να πληρώσει στην εφαρμογή Magnit. - Μεταβαίνει στην εφαρμογή Magnit. - Επιλέγει την τράπεζα εγκατεστημένη στο τηλέφωνο από το οποίο γίνεται η πληρωμή. - Στην εφαρμογή της τράπεζας, πραγματοποιεί την πληρωμή. - Επιστρέφει στην οθόνη αποτελέσματος πληρωμής στην εφαρμογή Magnit. - Στο ταμείο/KS λαμβάνει μήνυμα για επιτυχημένη πληρωμή. Μη λειτουργικές απαιτήσεις: - DAU = 1000 στο κατάστημα - Αριθμός καταστημάτων 500 - Αριθμός ταμείων - κατά μέσο όρο 5. - Η πληρωμή πρέπει να ολοκληρώνεται σε το πολύ 2 λεπτά. - Η σελίδα πληρωμής πρέπει να ανοίγει σε το πολύ 250ms.
sobes.tech AI
Απάντηση από AI
Для реализации системы оплаты с помощью мобильного приложения, не используя СБП, можно предложить следующую архитектуру:
-
Идентификация пользователя на кассе/КСО:
- Касса/КСО генерирует уникальный QR-код с информацией о покупке и идентификатором транзакции.
- Пользователь сканирует QR-код в приложении Магнит.
-
Переход в приложение Магнит:
- Приложение Магнит получает данные о покупке и предлагает выбрать банк для оплаты.
-
Оплата через банк:
- Приложение Магнит инициирует переход в приложение банка с передачей параметров оплаты (сумма, идентификатор транзакции).
- Пользователь подтверждает оплату в приложении банка.
-
Подтверждение оплаты:
- Банк отправляет уведомление о статусе оплаты в backend Магнита.
- Backend Магнита обновляет статус транзакции.
- Касса/КСО получает уведомление о успешной оплате через push-сообщение или polling.
-
Отображение результата:
- Приложение Магнит показывает результат оплаты.
- Касса/КСО завершает процесс покупки.
Нефункциональные требования:
- Для обеспечения DAU 1000 на магазин и 500 магазинов с 5 кассами каждая, система должна быть масштабируемой и распределённой.
- Использовать кэширование и быстрые очереди сообщений для минимизации задержек.
- Оптимизировать генерацию и обработку QR-кодов.
- Страница оплаты должна загружаться не более 250 мс — использовать CDN, минимизировать запросы.
- Время оплаты до 2 минут — предусмотреть асинхронные уведомления и таймауты.
Такой подход обеспечивает безопасность, масштабируемость и удобство для пользователя.