Principal
Telefonla ödəniş sistemi Müştərinin kassada/KS-də (öz-özünə xidmət kassası) mobil tətbiq vasitəsilə alış-verişi ödəyə bilməsi üçün memarlıq həyata keçirmək lazımdır. Ödəniş SBP vasitəsilə deyil. İstifadəçi məhsulları alarkən, tətbiq vasitəsilə ödənişi seçir. Kassa və ya KS istifadəçini müəyyən etməli və müştərinin bankı ilə ödəniş prosesini başlatmalıdır. CJM: - Kassaçı/müştəri məhsulları skan edir. - Ödənişə keçir. - Kassa/KS-də identifikasiya olunur. - Magnit tətbiqində ödənişi seçir. - Magnit tətbiqinə keçir. - Telefonunda quraşdırılmış bankı seçir və ödənişi həyata keçirir. - Bank tətbiqində ödənişi tamamlayır. - Magnit tətbiqində ödəniş nəticəsinin ekranına geri dönür. - Kassa/KS-də uğurlu ödəniş barədə mesaj alır. Funksional olmayan tələblər: - Günlük aktiv istifadəçi sayı = 1000 mağazada - Mağazaların sayı 500 - Kassa sayı - orta hesabla 5 - Ödəniş ən çox 2 dəqiqə içində tamamlanmalıdır. - Ödəniş səhifəsi ən çox 250ms-də açılmalıdır.
sobes.tech Süni İntellekt
AI-dan cavab
Для реализации системы оплаты с помощью мобильного приложения, не используя СБП, можно предложить следующую архитектуру:
-
Идентификация пользователя на кассе/КСО:
- Касса/КСО генерирует уникальный QR-код с информацией о покупке и идентификатором транзакции.
- Пользователь сканирует QR-код в приложении Магнит.
-
Переход в приложение Магнит:
- Приложение Магнит получает данные о покупке и предлагает выбрать банк для оплаты.
-
Оплата через банк:
- Приложение Магнит инициирует переход в приложение банка с передачей параметров оплаты (сумма, идентификатор транзакции).
- Пользователь подтверждает оплату в приложении банка.
-
Подтверждение оплаты:
- Банк отправляет уведомление о статусе оплаты в backend Магнита.
- Backend Магнита обновляет статус транзакции.
- Касса/КСО получает уведомление о успешной оплате через push-сообщение или polling.
-
Отображение результата:
- Приложение Магнит показывает результат оплаты.
- Касса/КСО завершает процесс покупки.
Нефункциональные требования:
- Для обеспечения DAU 1000 на магазин и 500 магазинов с 5 кассами каждая, система должна быть масштабируемой и распределённой.
- Использовать кэширование и быстрые очереди сообщений для минимизации задержек.
- Оптимизировать генерацию и обработку QR-кодов.
- Страница оплаты должна загружаться не более 250 мс — использовать CDN, минимизировать запросы.
- Время оплаты до 2 минут — предусмотреть асинхронные уведомления и таймауты.
Такой подход обеспечивает безопасность, масштабируемость и удобство для пользователя.