MXStat
MXStat
Введите текст для поиска
Расширенный поиск каналов
  • Вход на сайт
  • Каталог
    Каталог каналов Региональные подборки Поиск каналов
    Добавить канал
  • Рейтинги
    Рейтинг каналов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Max
Соло, научи меня | Системный анализ

22 Sep, 08:30

Открыть в Max Поделиться

Prev Next
🖱Два раза нажал кнопку оплаты. Сколько раз спишут деньги?

Ситуация житейская: платишь в приложении, связь моргнула, ответ от сервера так и не пришёл. Приложение само повторяет запрос или ты нажимаешь ещё раз, и на сервер прилеитают две одинаковые команды на оплату.

Если система не умеет узнавать повтор, спишет дважды. Спасает свойство с тяжёлым названием - идемпотентность: сколько раз ни отправь один и тот же запрос, состояние на сервере будет таким же, как после первого.

В HTTP часть методов идемпотентна по спецификации, например GET, PUT и DELETE. POST таким не считается, каждый вызов может создать новую сущность, и платёж обычно создают именно через POST.

🗝Поэтому к платежу добавляют ключ идемпотентности. Приложение создаёт уникальный ключ на операцию и кладёт в заголовок, часто он называется Idempotency-Key. При повторе уходит тот же ключ, сервер его уже запомнил и возвращает прежний ответ, деньги второй раз не трогает.

Аналитику здесь достаются договорённости: для каких операций нужен ключ, что считается дублем, сколько хранить ключ и что ответить, если повтор пришёл, пока первый запрос ещё в обработке. Всё это фиксируют в требованиях к интеграции.

↔️Смотри карточки, там путь запроса по шагам.

У тебя хоть раз списывали деньги дважды за одну покупку? Если было, расскажи в комментах, чем всё закончилось.


Где ещё я пишу:

ВКонтакте: https://vk.com/solo_teach_me
Сетка: https://setka.ru/users/019d13c5-f3ca-7b21-b351-fe7c52e2ebe4

16 2
Каталог
Каталог каналов Подборки каналов Поиск каналов Добавить канал
Рейтинги
Рейтинг каналов Max
Контакты
Написать в Max Написать в Telegram Написать на почту
Всякая всячина
Пользовательское соглашение Политика конфиденциальности
Наши каналы
MXStat в Telegram MXStat в Max
Наши боты
MXAuthBot MXAnalyticsBot
Made by TGStat