Sobes.tech
Principal

ტელეფონის საშუალებით გადახდის სისტემა საჭიროა განახორციელოს არქიტექტურა, სადაც მომხმარებელი შეძლებს გადახდას ყიდვებზე კასსა/KS (საკუთარი მომსახურების კასса) საშუალებით მობილური აპლიკაციის გამოყენებით. გადახდა არ ხდება SBP-ის საშუალებით. მომხმარებელი, ყიდულობს პროდუქტებს, არჩევს გადახდას აპლიკაციის საშუალებით. კასსა ან KS უნდა იდენტიფიციროს მომხმარებელი და დაიწყოს გადახდის პროცესი მომხმარებლის ბანკის საშუალებით. CJM: - კასირი/მომხმარებელი სკანირებს პროდუქტებს. - გადადის გადახდის პროცესზე. - იდენტიფიცირებულია კასსა/KS-ში. - არჩევს გადახდას Magnit-ის აპლიკაციაში. - შედის Magnit-ის აპლიკაციაში. - არჩევს ტელეფონზე დამონტაჟებულ ბანკს, რომლის საშუალებითაც ხდება გადახდა. - ბანკის აპლიკაციაში ახორციელებს გადახდას. - დაბრუნდება გადახდის შედეგის ეკრანზე Magnit-ის აპლიკაციაში. - კასსა/KS იღებს წარმატებული გადახდის შეტყობინებას. არაფუნქციური მოთხოვნები: - DAU = 1000 მაღაზიაში - მაღაზიათა რაოდენობა 500 - კასსების რაოდენობა - საშუალოდ 5 კასса. - გადახდა უნდა დასრულდეს მაქსიმუმ 2 წუთში. - გადახდის გვერდი უნდა გაიხსნას მაქსიმუმ 250 მს-ში.

sobes.tech AI

პასუხი AI-სგან

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

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

    • Касса/КСО генерирует уникальный QR-код с информацией о покупке и идентификатором транзакции.
    • Пользователь сканирует QR-код в приложении Магнит.
  2. Переход в приложение Магнит:

    • Приложение Магнит получает данные о покупке и предлагает выбрать банк для оплаты.
  3. Оплата через банк:

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

    • Банк отправляет уведомление о статусе оплаты в backend Магнита.
    • Backend Магнита обновляет статус транзакции.
    • Касса/КСО получает уведомление о успешной оплате через push-сообщение или polling.
  5. Отображение результата:

    • Приложение Магнит показывает результат оплаты.
    • Касса/КСО завершает процесс покупки.

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

  • Для обеспечения DAU 1000 на магазин и 500 магазинов с 5 кассами каждая, система должна быть масштабируемой и распределённой.
  • Использовать кэширование и быстрые очереди сообщений для минимизации задержек.
  • Оптимизировать генерацию и обработку QR-кодов.
  • Страница оплаты должна загружаться не более 250 мс — использовать CDN, минимизировать запросы.
  • Время оплаты до 2 минут — предусмотреть асинхронные уведомления и таймауты.

Такой подход обеспечивает безопасность, масштабируемость и удобство для пользователя.