למה לחיצה כפולה על "שלם" לא צריכה לחייב פעמיים
איך מוודאים שפעולה חוזרת לא יוצרת תוצאה כפולה.
הלקוח לחץ "שלם" פעם אחת — וחויב שלוש פעמים. האינטרנט שלו היה איטי, המסך לא זז, אז הוא לחץ שוב ושוב ושוב. בלי Idempotency כל לחיצה יוצרת עסקה חדשה, חיוב חדש, הזמנה חדשה — ואז הלקוח מגלה שלושה חיובים בכרטיס, עושה Chargeback, ואתם מפסידים את הכסף, את העמלה ואת הלקוח.
כל פעולה מקבלת מזהה ייחודי. אם אותו מזהה מגיע פעמיים, המערכת אומרת "טיפלתי בזה כבר". לחיצה אחת, שתיים, עשר — לא משנה כמה, בסוף יהיה חיוב אחד בלבד.
טיפ: כל דבר באפליקציה שחייב לקרות פעם אחת בלבד — תשלום, הזמנה — תנו לו מזהה ייחודי שמבטיח Idempotency.
"המשתמש ילחץ 'שלם' חמש פעמים כשהמסך נתקע. Idempotency מוודאת שזה עדיין חיוב אחד."