Sobes.tech
Principal

Telefonbezahlsystem Es ist notwendig, eine Architektur zu implementieren, bei der der Kunde Einkäufe an der Kasse/KS (Selbstbedienungskasse) mit einer mobilen Anwendung bezahlen kann. Die Zahlung erfolgt NICHT über SBP. Wenn der Benutzer Produkte kauft, wählt er die Bezahlung mit der App. Die Kasse oder KS muss den Benutzer identifizieren und den Zahlungsprozess mit der Bank des Kunden starten. CJM: - Der Kassierer/der Kunde scannt die Produkte. - Geht zur Bezahlung. - Identifiziert sich an der Kasse/KS. - Wählt die Bezahlung in der Magnit-App. - Wechselt zur Magnit-App. - Wählt die auf dem Telefon installierte Bank, von der die Zahlung erfolgt. - Tätigt die Zahlung in der Bank-App. - Kehrt zum Zahlungsresultatbildschirm in der Magnit-App zurück. - Die Kasse/KS erhält eine Nachricht über erfolgreiche Zahlung. Nicht-funktionale Anforderungen: - DAU = 1000 im Geschäft - Anzahl der Geschäfte 500 - Anzahl der Kassen - durchschnittlich 5 Kassen. - Die Zahlung muss innerhalb von maximal 2 Minuten erfolgen. - Die Zahlungsseite muss in maximal 250 ms geöffnet werden.

sobes.tech KI

Antwort von AI

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

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

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

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

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

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

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

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

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

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