Розбір рішень · Middle · Запитання 6 з 14

Запит на оплату завершився таймаутом, і невідомо, чи пройшло списання. Подвійне списання неприпустиме, але продаж не можна втратити. Що будуємо?

Показати відповідь

Правильна відповідь: Безпечні повтори з одним ключем ідемпотентності на платіж

Пояснення

Із ключем провайдер вважає повтор тією самою операцією, тож двічі не спише, навіть якщо перший виклик вдався. Показ помилки підходить для дій, які дешево повторити, але тут користувач може заплатити двічі, знову натиснувши кнопку. Попередня перевірка підходить для провайдерів без ключів, проте лишає гонку: перше списання може ще виконуватися під час перевірки.

Де почитати

Помилка в запитанні

Розбір рішень · Middle · запитання 6

Перевірте себе

Пройдіть тест Розбір рішень · Middle: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест