Sobes.tech
Principal

Σύστημα πληρωμών μέσω τηλεφώνου Πρέπει να υλοποιηθεί μια αρχιτεκτονική όπου ο πελάτης μπορεί να πληρώνει αγορές στο ταμείο/KS (ταμείο αυτοεξυπηρέτησης) μέσω μιας κινητής εφαρμογής. Η πληρωμή ΔΕΝ γίνεται μέσω SBP. Όταν ο χρήστης αγοράζει προϊόντα, επιλέγει να πληρώσει μέσω της εφαρμογής. Το ταμείο ή το KS πρέπει να αναγνωρίσει τον χρήστη και να ξεκινήσει τη διαδικασία πληρωμής με την τράπεζα του πελάτη. Σενάριο: - Ο ταμίας/πελάτης σκανάρει τα προϊόντα. - Προχωρά στην πληρωμή. - Αναγνωρίζεται στο ταμείο/KS. - Επιλέγει να πληρώσει στην εφαρμογή Magnit. - Μπαίνει στην εφαρμογή Magnit. - Επιλέγει την τράπεζα που είναι εγκατεστημένη στο τηλέφωνο και πραγματοποιεί την πληρωμή. - Στην εφαρμογή της τράπεζας, ολοκληρώνει την πληρωμή. - Επιστρέφει στην οθόνη αποτελέσματος πληρωμής στην εφαρμογή Magnit. - Στο ταμείο/KS λαμβάνει μήνυμα για επιτυχής πληρωμή. Μη λειτουργικές απαιτήσεις: - DAU = 1000 σε κατάστημα - Αριθμός καταστημάτων 500 - Αριθμός ταμείων - κατά μέσο όρο 5. - Η πληρωμή πρέπει να ολοκληρώνεται σε το πολύ 2 λεπτά. - Η σελίδα πληρωμής πρέπει να ανοίγει σε το πολύ 250ms.

sobes.tech AI

Απάντηση από AI

Для реализации системы оплаты через мобильное приложение без использования СБП можно предложить следующую архитектуру:

  1. Идентификация пользователя на кассе/КСО

    • Пользователь сканирует товары.
    • При переходе к оплате выбирает оплату через приложение Магнит.
    • Касса/КСО предлагает пользователю авторизоваться, например, через QR-код, NFC или ввод кода, который связывает кассу и мобильное приложение.
  2. Запуск процесса оплаты

    • После идентификации касса передает в приложение Магнит информацию о сумме и деталях покупки.
    • Приложение Магнит открывается на телефоне пользователя (через deep link или push-уведомление).
    • Пользователь выбирает банк из списка установленных банковских приложений.
  3. Оплата через банк

    • Приложение Магнит передает данные в выбранное банковское приложение через стандартный протокол (например, через Intent на Android или URL-схему на iOS).
    • Пользователь подтверждает оплату в банковском приложении.
  4. Подтверждение оплаты

    • Банк отправляет подтверждение об успешной оплате обратно в приложение Магнит.
    • Приложение Магнит уведомляет кассу/КСО о результате оплаты через серверную часть.
    • Касса/КСО отображает сообщение об успешной оплате.

Нефункциональные требования и их обеспечение:

  • DAU = 1000 в магазине, 500 магазинов, 5 касс в среднем:
    • Серверная инфраструктура должна быть масштабируемой, использовать балансировщики нагрузки и кэширование.
  • Оплата за максимум 2 минуты:
    • Минимизировать задержки на каждом этапе, использовать быстрые протоколы обмена.
  • Страница оплаты открывается максимум за 250 мс:
    • Использовать deep linking, предварительную загрузку данных в приложении Магнит.

Пример взаимодействия:

  • Пользователь на кассе сканирует товары.
  • Касса генерирует QR-код с информацией о покупке и сессии.
  • Пользователь сканирует QR-код в приложении Магнит.
  • Приложение Магнит показывает сумму и предлагает выбрать банк.
  • После выбора банка происходит переход в банковское приложение для оплаты.
  • После успешной оплаты возвращается подтверждение, касса получает сигнал и завершает транзакцию.