# Kontrolní seznam QA (/cs/in-store/getting-started/checklist)



Před vydáním aplikace projděte tento kontrolní seznam pro zajištění kvality (QA). Pokrývá funkční testování, ošetření chyb a scénáře uživatelské zkušenosti (UX), abyste minimalizovali problémy v reálném provozu. Každou kontrolu po ověření zaškrtněte.

<ChecklistProgress />

## 1. Funkční testování [#1-functional-testing]

### Průběh transakcí [#transaction-flows]

<ChecklistItem id="TF-1" code="TF-1" title="Úspěšná platba">
  Ověřte standardní schválenou transakci s částkou 

  `1.01`

   (kód 

  `00`

  ) v 

  [sandboxu](./testing)

  .
</ChecklistItem>

<ChecklistItem id="TF-2" code="TF-2" title="Zamítnutá autentizace karty">
  Nasimulujte zamítnutou transakci s částkou 

  `1.07`

   (kód 

  `06`

  ) a ujistěte se, že ji aplikace korektně zpracuje a nespadne.
</ChecklistItem>

<ChecklistItem id="TF-3" code="TF-3" title="Karta s prošlou platností">
  Nasimulujte kartu s prošlou platností pomocí částky 

  `6.05`

   (kód 

  `54`

  ) a zkontrolujte zprávu pro uživatele.
</ChecklistItem>

<ChecklistItem id="TF-4" code="TF-4" title="Nesprávný PIN">
  Nasimulujte zadání nesprávného PIN pomocí částky 

  `6.06`

   (kód 

  `55`

  ) a zkontrolujte zprávu pro uživatele.
</ChecklistItem>

<ChecklistItem id="TF-5" code="TF-5" title="Překročen počet pokusů o PIN">
  Nasimulujte vyčerpání limitu pokusů o PIN pomocí částky 

  `8.06`

   (kód 

  `75`

  ) a ujistěte se, že vaše aplikace tuto situaci považuje za konečné selhání.
</ChecklistItem>

<ChecklistItem id="TF-6" code="TF-6" title="Zrušená transakce">
  Zahajte platbu a zrušte ji z UI SDK (tlačítkem Zpět nebo zavřením). Ujistěte se, že se vaše aplikace správně vrátí na předchozí obrazovku.
</ChecklistItem>

<ChecklistItem id="TF-7" code="TF-7" title="Generování účtenky">
  Ověřte, že se údaje o transakci (autorizační kód, TID, datum) správně zaznamenají a uvedou na tištěných nebo e-mailových účtenkách.
</ChecklistItem>

### Interakce s hardwarem [#hardware-interactions]

<ChecklistItem id="HI-1" code="HI-1" title="Čtení přes NFC">
  Otestujte fyzické karty (Visa, Mastercard) a digitální peněženky (Apple Pay, Google Pay).
</ChecklistItem>

<ChecklistItem id="HI-2" code="HI-2" title="Přerušené čtení">
  Oddalte kartu hned po přiložení, ale ještě před „pípnutím“. Ujistěte se, že SDK vyzve k opětovnému přiložení nebo korektně selže.
</ChecklistItem>

<ChecklistItem id="HI-3" code="HI-3" title="Ztráta připojení">
  Během transakce vypněte internet/Wi-Fi. Ověřte, že aplikace ohlásí chybu připojení a nezamrzne.
</ChecklistItem>

## 2. Onboarding a konfigurace [#2-onboarding--configuration]

### Nastavení obchodníka [#merchant-setup]

<ChecklistItem id="MS-1" code="MS-1" title="Onboarding nového uživatele">
  Projděte celý proces onboardingu s novým účtem.
</ChecklistItem>

<ChecklistItem id="MS-2" code="MS-2" title="Kontrola stavu">
  Ověřte, že 

  `Accept.merchant.onboardingStatus()`

   vrací 

  `RequiresAction`

   pro obchodníka čekajícího na schválení a 

  `ReadyForPayments`

   pro schváleného obchodníka.
</ChecklistItem>

## 3. Zabezpečení a soulad s předpisy [#3-security--compliance]

### Integrita zařízení [#device-integrity]

<ChecklistItem id="DI-1" code="DI-1" title="Detekce rootu">
  Pokud máte testovací zařízení s rootem, ověřte, že se SDK odmítne inicializovat.
</ChecklistItem>

<ChecklistItem id="DI-2" code="DI-2" title="Oprávnění">
  Odeberte oprávnění (fotoaparát, poloha) a zkuste spustit SDK. Ujistěte se, že vaše aplikace vyzve uživatele k jejich udělení.
</ChecklistItem>

### Práce s daty [#data-handling]

<ChecklistItem id="DH-1" code="DH-1" title="Správa tokenů">
  Ověřte, že se SDK token z 

  `POST /merchant/auth/login`

   pro každou relaci získává z vašeho backendu a nikdy není zadán natvrdo.
</ChecklistItem>

<ChecklistItem id="DH-2" code="DH-2" title="Žádné citlivé údaje">
  Ujistěte se, že logy vaší aplikace 

  **nevypisují**

   celá čísla karet ani nezpracovaná data z magnetického proužku (track data).
</ChecklistItem>

## 4. Hraniční případy [#4-edge-cases]

<ChecklistItem id="EC-1" code="EC-1" title="Přesun aplikace na pozadí">
  Během transakce aplikaci minimalizujte a znovu ji obnovte. Transakce by měla buď pokračovat, nebo bezpečně selhat.
</ChecklistItem>

<ChecklistItem id="EC-2" code="EC-2" title="Příchozí hovor">
  Během platby zavolejte na testovací zařízení. SDK by mělo přerušení zvládnout (obvykle pozastavením nebo selháním).
</ChecklistItem>

<ChecklistItem id="EC-3" code="EC-3" title="Slabá baterie">
  Otestujte chování, když je zařízení v režimu „Úspora energie“ (výkon některých NFC čipů se zhoršuje).
</ChecklistItem>

## 5. Relace s NFC tagy (volitelné) [#5-nfc-tag-sessions-optional]

Pouze pokud vaše aplikace čte nebo zapisuje NFC tagy pomocí [`com.tapaya:accept-nfc`](../integration/nfc_tags). Tyto kontroly provádějte na telefonu a, pokud je podporujete, na terminálu Sunmi řady P s `accept-nfc-sunmi`.

<ChecklistItem id="NT-1" code="NT-1" title="Kontrola podpory">
  Ověřte, že 

  `isSupported()`

   vrací 

  `true`

   na telefonu i terminálu Sunmi a 

  `false`

   na zařízení bez NFC.
</ChecklistItem>

<ChecklistItem id="NT-2" code="NT-2" title="Čtení a zápis">
  Přiložte tag NTAG nebo Ultralight, zkontrolujte, že relace hlásí správné UID, poté zavolejte 

  `writePage`

   a stránku načtěte zpět pomocí 

  `readPages`

  .
</ChecklistItem>

<ChecklistItem id="NT-3" code="NT-3" title="Nesprávný klíč">
  U MIFARE Classic proveďte autentizaci nesprávným klíčem a potvrďte 

  `AUTH_FAILED`

  , poté ji úspěšně proveďte se správným klíčem.
</ChecklistItem>

<ChecklistItem id="NT-4" code="NT-4" title="Zrušení čekání na přiložení">
  Zrušte 

  `openSession()`

  , zatímco čeká na přiložení, a hned otevřete novou relaci.
</ChecklistItem>

<ChecklistItem id="NT-5" code="NT-5" title="Platba má přednost">
  Během relace zahajte platbu. Relace skončí jako 

  `PAYMENT`

   a platba proběhne.
</ChecklistItem>

<ChecklistItem id="NT-6" code="NT-6" title="Odebraný tag">
  Během relace tag oddalte a potvrďte, že relace skončí jako 

  `CARD_REMOVED`

  .
</ChecklistItem>

<ChecklistItem id="NT-7" code="NT-7" title="Vypnuté NFC">
  Na telefonu vypněte NFC a potvrďte, že 

  `openSession()`

   selže s 

  `NFC_DISABLED`

  .
</ChecklistItem>

<ChecklistItem id="NT-8" code="NT-8" title="Aplikace na pozadí">
  Na telefonu přesuňte během relace aplikaci na pozadí a potvrďte, že relace skončí jako 

  `ACTIVITY_PAUSED`

  .
</ChecklistItem>

## 6. Připravenost na produkci [#6-production-readiness]

<ChecklistItem id="PR-1" code="PR-1" title="Přepnutí prostředí">
  **KRITICKÉ:**

   Ujistěte se, že je pro produkční sestavení nastaveno 

  `isProduction = true`

  .
</ChecklistItem>

<ChecklistItem id="PR-2" code="PR-2" title="Produkční tokeny">
  Ověřte, že backend míří na produkční endpointy Tapaya API.
</ChecklistItem>

<ChecklistItem id="PR-3" code="PR-3" title="Kontrola verze">
  Ujistěte se, že používáte nejnovější stabilní verzi Tapaya Accept SDK.
</ChecklistItem>

<ChecklistProgress />

<Callout title="Schválení" type="tip">
  Projděte seznam na svém finálním kandidátovi na vydání, na zařízeních, na která budete aplikaci dodávat. Tlačítkem **Reset** zahájíte nový čistý průchod, protože zaškrtnutí z dřívějších kol testování zůstávají uložená v tomto prohlížeči.
</Callout>
