2026. október 14. · 4 perc olvasás
Két vevő ugyanarra a székre, kétszer fizetett jegy, késő visszaigazolás: hol csúszik el a jegyeladás, és milyen kérdésekkel derítheted ki.
Kis forgalomnál a jegyeladás hibái alig látszanak. Egy telt házas, ülőhelyes előadásnál, vagy amikor a jegyek egy hirdetés után percek alatt fogynak, már kiderül, hogyan viselkedik a rendszer, amikor sokan kattintanak egyszerre. Ebben a cikkben három tipikus hibát nézünk meg, és adunk kérdéseket, amelyekkel a bemutatón rá tudsz kérdezni.
1. Két vevő, ugyanaz a szék
Ez a klasszikus. Két ember ugyanabban a másodpercben választja ki a 12. sor 7. székét. Mindketten látták szabadnak, mindketten tovább mentek a fizetéshez.
A hiba oka általában egy kétlépéses logika: a rendszer először megnézi, szabad-e a hely, aztán külön lépésben lefoglalja. Ha a két kérés között eltelik egy pillanat, mindkettő „szabadot” lát. A helyes megoldás, hogy az ellenőrzés és a foglalás egyetlen, oszthatatlan művelet az adatbázisban: aki előbb ér oda, azé a hely, a másik kérés pedig elutasítást kap.
Ugyanez érvényes a több jegyre. Ha valaki négy széket választ, vagy mind a négyet kapja meg, vagy egyet sem. Félig lefoglalt rendelésnek nem szabad megmaradnia.
Mit kérdezz:
- Hogyan akadályozza meg a rendszer, hogy két vevő ugyanazt a helyet foglalja le?
- Mi történik, ha a kosárban lévő négy helyből egyet közben megvett más?
- Meddig tartja a rendszer zárolva a helyet, amíg a vevő fizet, és mikor szabadul fel újra?
2. A jegy megvan, de a fizetés nem ért célba
A fizetés külső szolgáltatón keresztül megy, és a visszaigazolás nem mindig azonnal érkezik. A vevő bezárhatja a böngészőt a bankkártyás oldalon, megszakadhat a kapcsolata, vagy a visszairányítás sikertelen lesz.
Két rossz megoldás van. Az egyik, hogy a rendszer a vevő böngészőjének hisz („a fizetés sikeres volt”), és a jegyet még azelőtt kiállítja, hogy a szolgáltató visszaigazolta volna. A másik, hogy csak a böngészős visszairányításra támaszkodik, ezért ha az elmarad, a vevő fizetett, jegye viszont nincs.
A biztonságos megoldás az, hogy a jegyet a szerver állítja ki, a fizetési szolgáltató saját visszaigazolása alapján, a vevő böngészőjétől függetlenül.
Mit kérdezz:
- Mikor jön létre a jegy: a vevő böngészőjének jelzésére, vagy a szolgáltató visszaigazolására?
- Mi történik, ha a vevő kifizette a jegyet, de nem tért vissza az oldalra?
3. Kétszer fizetett jegy és eltérő összeg
A szolgáltató néha ugyanazt a visszaigazolást többször is elküldi. Ha a rendszer minden üzenetre új jegyet állít ki, egy vevő két jegyet kap egy rendelésre, vagy a rendelés kétszer kerül elszámolásra.
A helyes viselkedés az idempotencia: ugyanaz az üzenet ugyanazt az eredményt adja, akárhányszor érkezik. A második visszaigazolás nem hoz létre új jegyet.
Hasonló eset, ha a vevő ugyanarra a rendelésre kétszer fizet, vagy a befizetett összeg nem egyezik a rendelés összegével. Ezt nem érdemes kézzel kezelni. Jó, ha a rendszer felismeri, és automatikusan visszatéríti a felesleges vagy eltérő összeget.
Mit kérdezz:
- Mi történik, ha a szolgáltató ugyanazt a visszaigazolást kétszer küldi el?
- Mi történik, ha a vevő kétszer fizeti ki ugyanazt a rendelést?
- Visszatérítés kézzel vagy automatikusan történik, és ki látja a naplóban?
Hogyan kérdezz a bemutatón
A válaszból többet tanulsz, ha konkrét helyzetet kérsz, nem általános megnyugtatást. Ne azt kérdezd, hogy „biztonságos-e”. Kérdezd azt, hogy „mutasd meg, mi történik, ha két ember ugyanarra a székre kattint egyszerre”.
Érdemes azt is megkérdezni, mi igazolja a választ: automatizált teszt, vagy csak az, hogy eddig nem fordult elő hiba. A „nem volt még gond” kevés, ha pár ezer vevő érkezik egy időben.
Hogyan működik ez a Bilettában
A Biletta a helyfoglalást atomi műveletként végzi, vagyis az ellenőrzés és a foglalás egy lépés, és több hely foglalása vagy teljesen sikerül, vagy egyáltalán nem. A jegyet a szerver állítja ki, miután a fizetési szolgáltató visszaigazolta a fizetést, és ez a lépés ismételt visszaigazolás esetén is ugyanazt az eredményt adja. Ha egy rendelésre kétszer érkezik fizetés, vagy az összeg eltér a rendelésétől, a rendszer automatikusan visszatéríti a különbözetet.
Ezeket automatizált tesztek is ellenőrzik. Szeretnénk viszont pontosak lenni: éles fizetési szolgáltatóval a teljes folyamatot még nem terheltük meg nagy forgalommal. Ha ez fontos a rendezvényed szempontjából, a bemutatón beszéljük át, mit érdemes előre kipróbálni.
Ha megnéznéd a működést a saját eseményeden, kérj bemutatót.