UniPass · OSPI illesztés · Hibajelentés a pénztárgép szállítójának
A pénztárgép 11:43-kor két bankkártyás vásárlási kérést olyan Y azonosítóval küldött, amelyet aznap már korábban felhasznált. A 6000014 egy 09:57-kor megszakadt vásárlásé volt, a 6000015 pedig egy 11:06-kor sikeresen lezárt 850 Ft-os vásárlásé. A UniPass rendszer az ismételt azonosítójú kéréseket elutasította, így mindkét vásárlás meghiúsult. A vásárló kártyáját egyik esetben sem terhelték meg.
Ugyanezen a délelőttön a pénztárgép egy visszavét (A004) kérést is küldött, de nem jelölte meg, melyik vásárlást kell visszavenni. Ezt a terminál L20 kóddal utasította el, ezért a 11:06-os 850 Ft-os terhelés érvényben maradt.
Y mezője legyen egyedi, és soha ne ismétlődjön. A UniPass az Y értéket tranzakcióazonosítóként tárolja, és egy már egyszer felhasznált értékkel érkező kérést elutasít, akkor is, ha a korábbi tranzakció megszakadt vagy sikertelen volt. Egy megszakadt vásárlás újrapróbálása tehát új azonosítót kapjon.A004) a kis z mezőben meg kell adni a visszavenni kívánt vásárlás azonosítóját (az eredeti kérés Y értékét). A UniPass rendszerben nincs előzmény nélküli visszavét. A legutolsó sikeres tranzakció sztornójára az A100 is használható.Az első követelményt a UniPass OSPI v1.0 leírás nem mondja ki külön, ezért itt rögzítjük. A második a leírás A004 pontjában szerepel. Az OTP OSPI 3.9 szabvány az Y mezőt csak opcionális hivatkozásként írja le, a UniPass azonban ennél szigorúbban kezeli.
A táblázat a pénztárgép és a terminál közti összes vásárlási és visszavételi kérést tartalmazza. A pénztáros be- és kilépéseket (A050, A051) nem soroltuk fel, azok hibátlanul lezajlottak.
| Időpont | Port | Kérés | Y | Összeg | Válasz | Eredmény |
|---|---|---|---|---|---|---|
| 09:35:55 | 1248 | A000 vásárlás | 6000011 | 1 850 Ft | F000 | sikeres |
| 09:40:55 | 1249 | A000 vásárlás | 6000012 | 10 Ft | F000 | sikeres (UniPass kártya) |
| 09:46:09 | 1248 | A000 vásárlás | 6000013 | 1 100 Ft | F000 | sikeres |
| 09:57:21 | 1248 | A000 vásárlás | 6000014 | 950 Ft | FL54 | megszakítva a banki alkalmazásban |
| 11:06:21 | 1248 | A000 vásárlás | 6000015 | 850 Ft | F000 | sikeres, a kártya terhelve |
| 11:10:10 | 1248 | A004 visszavét | 0000000000 | 850 Ft | FL20 | elutasítva: hiányzik a z mező |
| 11:43:16 | 1248 | A000 vásárlás | 6000014 | 950 Ft | F811 | elutasítva: az azonosító 09:57-kor már szerepelt |
| 11:43:32 | 1248 | A000 vásárlás | 6000015 | 950 Ft | F811 | elutasítva: az azonosító a 11:06-os sikeres vásárlásé |
A 11:43-as kérések után a pénztárgép 11:52-ig nem küldött újabb vásárlást. A naplóink 11:52-ig terjednek.
09:57 – az első 950 Ft-os vásárlás; a vásárlást a banki alkalmazásban megszakították 09:57:21.17 [1248] FROM POS: <STX>A000<FS>B95000<FS>HABYFEbQyLNq<FS>Y6000014<FS>q99<ETX>3F 09:57:39.50 [1248] TO POS: 0138<STX>A000<FS>B000000095000<FS>Y6000014<FS>FL54<FS>… 11:06 – 850 Ft-os vásárlás, sikeres (F000) 11:06:21.22 [1248] FROM POS: <STX>A000<FS>B85000<FS>HABYFEbQyLNq<FS>Y6000015<FS>q99<ETX>3F 11:06:50.23 [1248] TO POS: 0861<STX>A000<FS>B000000085000<FS>Y6000015<FS>F000<FS>… 11:10 – visszavét z mező nélkül, Y0000000000 értékkel 11:10:10.11 [1248] FROM POS: <STX>A004<FS>B85000<FS>HABYFEbQyLN<FS>Y0000000000<ETX>15 11:10:10.22 [1248] TO POS: 0066<STX>A004<FS>B000000085000<FS>Y0000000000<FS>FL20<FS>… 11:43 – két újabb 950 Ft-os vásárlás, korábban már felhasznált azonosítókkal 11:43:16.54 [1248] FROM POS: <STX>A000<FS>B95000<FS>HABYFEbQyLNq<FS>Y6000014<FS>q99<ETX>3F 11:43:25.99 [1248] TO POS: 0063<STX>A000<FS>B000000095000<FS>Y6000014<FS>F811<FS>… 11:43:32.62 [1248] FROM POS: <STX>A000<FS>B95000<FS>HABYFEbQyLNq<FS>Y6000015<FS>q99<ETX>3E 11:45:11.18 [1248] TO POS: 0063<STX>A000<FS>B000000095000<FS>Y6000015<FS>F811<FS>…
A válaszok a nyugta- és kártyaadatok nélkül, rövidítve szerepelnek.
Az 1249-es (UniPass) porton a pénztárgép többször küldött 0 Ft-os vásárlási kérést Y0 azonosítóval (09:38, 09:51, 10:16, 10:31, 10:37). Ezekre a terminál FL54 (kezelői megszakítás) választ adott. Ha ezek nem szándékosak, kérjük, ezt is nézzék meg.
09:38:08.24 [1249] FROM POS: <STX>A000<FS>B000<FS>HABYFEbQyLN<FS>Y0<ETX>2C 09:38:26.09 [1249] TO POS: 0057<STX>A000<FS>B000000000000<FS>Y0<FS>FL54<FS>…
Az ismételt azonosító miatti elutasításra a terminál jelenleg F811 kódot ad vissza, amely nem mondja meg a pénztárgépnek a valódi okot, a kezelőnek pedig félrevezető üzenetet mutat. Ezt a terminál alkalmazásában javítjuk, hogy az ok egyértelmű legyen. Ez azonban nem váltja ki a fenti két követelményt: ismételt azonosítóval a vásárlás a javítás után sem fog sikerülni.
6000014 és 6000015 azonosítóhoz, miután a 6000015 már felhasználásra került? Összefügghet ez a 11:10-es sikertelen visszavétellel?A004) a z mezőben megadja az eredeti vásárlás azonosítóját?