Задать вопрос
@lexstile

Как правильно организовать показ уведомлений неавторизованному пользователю об успешной оплате?

Ситуация следующая:
  • BE перенаправляет пользователя на URL приложения: https://vk.com/appXXXXXX#payId-100
  • FE делает запрос с payId и получает необходимые данные, затем показывает уведомление


Проблема: любой пользователь может ввести вручную url с любым payId и увидеть сумму транзакции.
Вопрос: как можно решить проблему?

Варианты решения:
  • добавить флаг в БД, что это уведомление было показано и не отсылать его повторно (непонятно, в какой момент сетить этот флаг - до первой отправки или после того, как пользователь увидел уведомление - тогда потребуется еще один запрос)
  • добавить флаг на фронте в localStorage, но тогда при смене браузера или очистке хранилища уведомление будет показано повторно
  • Вопрос задан
  • 50 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
Adamos
@Adamos
Задача о семиугольном треугольнике.
Как показать уведомление неавторизованному пользователю с любого браузера по payId, но не показывать уведомление любому знающему payId.
Очевидно, нужно вводить какие-то хранилища, куки или токен, который юзер получает до оплаты и использует для подтверждения, что это он. Но по описанию "BE перенаправляет пользователя" все сложно, конечно...
Ответ написан
Комментировать
@bitwheeze
Генерировать сложный payid. Который трудно угадать. Какой ни будь sha256 хэш от данных в транзакции плюс соль. Тогда получить данные сможет только тот, кто знает url.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы