Ugrás a tartalomra
← Vissza a bloghoz

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.